Translations#
Installation#
Do generate the mo files, you need to install the gettext utilities.
On Ubuntu or Debian systems, this can be done using the following command:
sudo apt install gettext
Generate translations#
Go to the dibisoplot directory before running the following command.
Step 1: Extract Translatable Strings#
Use the xgettext utility to extract strings from your Python script and generate a .pot (Portable Object Template) file.
To generate the .pot file from the Biso class, run:
xgettext --output=locales/dibisoplot.pot --language=Python --keyword=_ --from-code=UTF-8 biso/biso.py
This command will create a .pot file in the locales directory with all the strings that need translation.
Step 2: Create and Edit Translation Files#
For each language you want to support, you’ll create a .po file from the .pot template.
For example, to add French translations:
mkdir -p locales/fr/LC_MESSAGES
cp locales/dibisoplot.pot locales/fr/LC_MESSAGES/dibisoplot.po
Now, open locales/fr/LC_MESSAGES/dibisoplot.po in a text editor and add the translations.
Here is an example of what the content might look like after translation:
msgid "Hello!"
msgstr "Bonjour!"
msgid "This is a translatable string."
msgstr "Ce message est une chaîne traduisible."
Step 3: Compile the Translation Files#
Once the translations are added to the .po file, compile it into a .mo file (Machine Object file) using msgfmt:
msgfmt locales/fr/LC_MESSAGES/dibisoplot.po -o locales/fr/LC_MESSAGES/dibisoplot.mo
The .mo file is what gettext will use at runtime to perform the translations.
Update translations#
To update the translations, you can use the msgmerge command to merge the latest changes from the .pot file into the .po file.
First, follow the step 1 to recreate the .pot file.
Then, run the following command to update the .po file:
msgmerge --update locales/fr/LC_MESSAGES/dibisoplot.po locales/dibisoplot.pot
Then follow the step 3 to compile the .po file into a .mo file.