Skip to content

How to update create translations

wdlkmpx edited this page Mar 30, 2021 · 1 revision

This can be considered a draft, a working draft. Very simple instructions that don't require special apps.

Files

The translations are in the po/ directory, the .po files to be precise.

Examples:

  • po/nl.po = Dutch translation
  • po/it.po = Italian translation
  • etc

You can also find a special file:

  • po/gftp.pot

It's the template, you can use it to produce a new translation or update a translation.. from scratch.

Just create a copy and rename it to the target language, e.g: fi.po (replace Finnish translation).

po/gftp.pot is updated every once in a while.

Updating a translation using git and autotools

  • Clone the gftp repo and open a terminal window inside the local gftp repo directory
  • run ./autogen.sh
  • run ./configure --prefix=/usr
  • run make -C po update-po

At this point all the translations have been updated automatically... and somewhat erratically. If a string has changed location or even directory, it will be found and the old translation applies. Some translations have been removed and you'll see those commented out, it's ok to remove those lines after finishing the translation.

  • open your .po file with a text editor e.g. po/nl.po (outside the terminal)
  • remember to not close or refresh the file contents
  • run git clean -dfx to clean the source tree
  • run git checkout -- . to reset the state of all the files
  • (inside the text editor) save your .po file (again), e.g. po/nl.po

Now, only your .po file has been updated and changed.

git diff will show what has changed, and you can review and proceed to fix and finish the update.

This approach makes it easier to update a .po file specially if it's been updated recently, most translations will be re-applied automatically.

Verifying your translation

Compile and install gFTP, use sudo make install to install to /usr If you're using a system language other than English, you'll see the translated interface.

It's possible to test a specific translation using the LANG environment variable (if something is wrong, remember to generate the locale files first).

  • example: LANG=nl_NL.utf8 gftp

nl

Reporting untranslatable strings

Some strings may not be translatable, let us know which ones.

Too many translatable strings?

It's also possible to come to that conclusion.