Translation of PO Gettext files
Gettext is a library originally developed by Sun Microsystems and further implemented by the GNU project for internationalization and localization purposes. What is special about gettext? Translation is selected based on the original string and no extra key is required. You do not have to use any translation files to display text, if English is the only language used, which is undisputable advantage for the whole localizing team. The supported languages include C++, ObjectiveC, Python, Perl, PHP, EmacsLisp, Smalltalk, Java.
All localizable strings requiring translation may be exported from the software source code to POT (Portable Object Template) or PO (Portable Object) formats. Both formats have identical structure. A PO file can be made from a POT file by filling blank translation strings and adding language code to the file name. Files may also include localization team member comments starting with /// or #.
/// Comment to translator: Please do not remove placeholder %s.
msgid "My name is %s.\n"
msgstr " Je m'appelle %s.\n"
Gettext supports plural form, so it can display different messages depending on a cardinal number used. This is determined by the Plural-Forms line in the header entry of the PO file, which contains the number of plural forms and a formula. In the example below, string  will be used if %d = 1, 21, 31 …, and string  will be used if %d = 2, 3, 4, 22, 23, 24, 32, 33, 34 … A database of known plural formulas is published here.
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100=20) ? 1 : 2);\n"
msgid "Within %d day "
msgid_plural "Within %d days "
msgstr "Через %d день "
msgstr "Через %d дня "
msgstr "Через %d дней "
Translation of PO files in a text editor
PO files can be edited and translated in any text editor. However, when working with PO files in a text editor, there is a risk to damage the document structure or to leave untranslated text requiring localization, so this method is rarely used in practice.
You can apply different utilities to process PO files. One of the most widely used is Poedit.
Translation of PO files using CAT tools
PO format is supported by some of the modern CAT tools like Memsource, MemoQ или SDL Trados Studio.
ALBA Translation Agency has extensive experience of working with PO files. Our specialists can organize a workflow for each job in the most optimal and therefore cost-effective manner for our customers.