Translations¶
The OTR bot supports translations made with Gettext. The translation files are
placed in the otrbot/locales/<language>
directories. The otrbot comes with
four commands that help you setup new translations and update existing ones.
run ./bot -h
to get an overview of the commands. Each subcommand also supports
help, so when in doubt, just try ./bot.py <subcommand> -h
Extracting translation messages¶
When the otr bot’s messages have been altered, or new ones have been added, the
command ./bot extract
will extract these new messages from the program code.
This generates a new .pot
file (messages.pot
by default) that can be used to
update the current translations. If you want the .pot
file to have another
name, supply that name with the -o
flag.
Starting a translation¶
To start a translation, you use the init
subcommand. When you run ./bot init
<pot-file> <locale>
, a new locale will be created in the otrbot/locales
directory. So, let’s say you want to start an en_US translation and you
extracted the translations to messages.pot
, run ./bot init messages.pot
en_US
.
Updating an existing translation¶
When you have an updated .pot
file, because the application changed, you can
update your translation files by running ./bot update <pot-file> <locale>
. If
you used the default filename (messages.pot
) for extraction and, for example,
want to update your en_US translation, you run ./bot update messages.pot
en_US
. The program will notify you of which file it created. You can then edit
that file with your favorite editor.
Compiling your changes¶
When you are happy with your changes, you should compile the new messages to a
messages.mo file, a binary file that can be read quickly by the computer. To
compile your locale files, run ./bot compile
. This automatically compiles all
the locales in the otrbot/locales
directory. If you only want to compile one
of the locales, you can use the -l
flag. For example, to only compile your
en_GB translation, run ./bot compile -l en_US
.