File Import Settings

PO (gettext)

PO gettext is an internationalization and localization (i18n) system commonly used for writing multilingual programs on Unix-like computer operating systems.

Valid PO files are bilingual, where msgid contains source text and msgstr contains target text.

Example:

#: src/name.c:36
msgid "My name is %s.\n"
msgstr "Je m'appelle %s.\n"

File Types

  • .PO

Import Options

  • Export multi-line strings

    Selected by default and improves the handling of PO files with \n tags.)

  • Convert to Memsource tags

    Apply regular expressions to convert specified text to tags.

  • Segment PO

    Segmentation rules will be used to segment the text in the source and target elements.

  • Use HTML subfilter

    Imports HTML tags contained in the file. Tags can then be used with HTML File Import Settings.

  • Translatable inline elements - Non-translatable inline elements

    Subfilter fields for specifying which elements will be converted to tags and treated as translatable or non-translatable.

Plural Form

PO Gettext allows the localization of Plural Forms.

PO GNU Gettext only supports plural forms with integer numbers. Decimal number form such as 1.5 points is not supported.

  • The original file has to contain msgid_plural string as well as the singular msgid.

  • The plural rules specification (the formula) defined in the file's header is used to generate plural forms. If there is no such specification, the standard Unicode CLDR Plural Rules based on the target languages will be used for the job import.

  • The file must be imported with the Segment Key Context in order to use the Plurals functionality properly.

  • The target locale and the plural form of the segment will be used as the segment's Context Key and saved to the TM.

  • The string msgctxt, if present in the original file, is added to the segment's Context Key and saved to the TM. It is also be displayed in the Context Note window.

Example 1. Unspecified plural in PO Gettext file

If imported to German and Arabic, the German target file will have only two plural forms while the Arabic target file will have six. The correct Plural Rule will be automatically used for each target language, and the job will be imported with a language-specific number of plural forms.

msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#:ui/gui/409
msgctxt "GUI|Installation"
msgid "%d _storage device selected"
msgid_plural "%d _storage devices selected" 

Example 2. Specified Plural Rule for the Czech language in the header

This file will always have 3 plural forms even when imported to German or Arabic.

msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n""Language: cs\n"
#:ui/gui/409
msgctxt "GUI|Installation"
msgid "%d _storage device selected"
msgid_plural "%d _storage devices selected" msgstr[0] ""msgstr[1] ""msgstr[2] "" 

Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question you can leave a public comment below or Submit a request to our Support team.
Thank you for your feedback.

Comments

0 comments

Article is closed for comments.