This page gives an introduction to POT and PO files.
fldigi uses the .po (portable object) and .pot (portable object template) extensions for the translation files. These use the GNU Gettext format. The basic difference between these file formats is that .pot files are simply templates which contain no translations while .po files do.
PO files are the files which contain the actual translations. Each language will have its own PO file, for example, for French there would be a fr.po file, for german there would be a de.po, for American English there might be en-US.po.
The core of each PO file is very simple; it is made of simply pairs of the source text - that which is found in the code - and target text, the text which is wanted in the translation. For example, in the French PO file you might have a translation of a string as follows:
msgid "Hello world"
msgstr "Bonjour le monde"
The msgid contains the text actually in the code, and the msgstr contains the text into which it is translated. If there is no translation given in the msgstr, then the default msgid string will be displayed.
PO files are simply text files and can thus be edited by any text
editor. Geany is a text editor that is available on Unix, Linux
and Windows. It is the recommended editor for those operating
systems. TextEdit is recommended on OS X.
A fldigi source will usually contain multiple PO files, one for each supported
language. These are distributed as a compiled single package.
POT files are basically the template files for PO files (Warning: Microsoft also uses POT as the extension for PowerPoint template files, but these are not the same). They will have all the translation strings (the msgstr parts) left empty, for example:
msgid "Hello world"
msgstr ""
The French PO file (fr.po) is then simply a copy of the POT file but with the translations filled in. For example, the og module has the following files:
Here are examples of these files:
A POT file (i.e. the translation template):
#: src/main.cxx:504
#, c-format
msgid "%s log started on %s"
msgstr ""
#: src/main.cxx:1170
msgid "Bad modem id"
msgstr ""
A Dutch PO file (i.e. the file containing the translations):
#: src/main.cxx:504
#, c-format
msgid "%s log started on %s"
msgstr "%s log gestart op %s"
#: src/main.cxx:1170
msgid "Bad modem id"
msgstr "Ongeldig modem ID"
As the native language translator you will copy the POT file to a
file with the name indicating the target language and the extension po
as in
hu.po
for a Hungarian translation.
Update each msgstr line as shown in the example above.