GNU gettext PO (Portable Object)

Most widely used format for translating libre software.

Contextual info stored in the file is supported by adjusting its headers or linking to corresponding source files.

Showing source string change

Weblate can extract previous source strings from the PO files if present and show the string difference for strings needing editing based on that. To include these, msgmerge has to be executed with --previous and the resulting PO file then contains lines such as:

#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"

PO file header

The header of the PO file is automatically maintained by Weblate. Optionally it can include Adresë njoftimi të metash në vargje burim and Caktoni krye «Language-Team».

Monolingual gettext

Some projects decide to use gettext as monolingual formats—they code just the IDs in their source code and the string then needs to be translated to all languages, including English. This is supported, though you have to choose this file format explicitly when importing components into Weblate.

Kartela shembull

The bilingual gettext PO file typically looks like this:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

The monolingual gettext PO file typically looks like this:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

While the base language file will be:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"

Formësim Weblate-i

Typical Weblate Component configuration for bilingual gettext

Maskë kartele

po/*.po

Kartelë njëgjuhëshe gjuhe bazë

Empty

Gjedhe për përkthime të reja

po/messages.pot

Format kartelash

Gettext PO file

Typical Weblate Component configuration for monolingual gettext

Maskë kartele

po/*.po

Kartelë njëgjuhëshe gjuhe bazë

po/en.po

Gjedhe për përkthime të reja

po/messages.pot

Format kartelash

Gettext PO file (monolingual)