GNU gettext PO (Portable Object)

Det mest använda formatet för översättning av fri programvara.

Kontextuell information som lagras i filen stöds genom att justera dess rubriker eller länka till motsvarande källfiler.

Visar ändring av källsträng

Weblate kan extrahera tidigare källsträngar från PO-filerna om sådana finns och visa strängskillnaden för strängar som behöver redigeras baserat på det. För att inkludera dessa måste msgmerge köras med --previous och den resulterande PO-filen innehåller då rader som:

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

PO-filens rubrik

Rubriken i PO-filen underhålls automatiskt av Weblate. Valfritt kan den inkludera Adress för felrapport av källsträngar och Ange ”Language-Team”-header.

Rubrikkommentarerna kan också uppdateras så att de innehåller författarnamn med hjälp av Bidragsgivare i kommentar.

Radbrytning

Radbrytningen motsvarar i stort sett GNU gettexts beteende. Både radbrytningsalgoritmen i GNU gettext och Unicode-data som radbrytningen baseras på utvecklas, vilket kan orsaka skillnader i vissa specialfall.

Ombrytningsbredden kan konfigureras med parametern po_line_wrap, se Filformatsparametrar.

Skapa matchande MO-filer

Om MO-filer sparas i arkivet tillsammans med PO-filer kan Generera MO-filer användas för att hålla dem uppdaterade med PO-filerna.

Uppdatera PO-filer från POT-filen

Uppdatera PO-filerna till att matcha POT (msgmerge) kan användas för att uppdatera PO-filer från POT-filen, se Uppdatera filer på målspråket.

Enspråkig gettext

Vissa projekt väljer att använda gettext som enspråkiga format – de kodar bara ID:n i sin källkod och strängen måste sedan översättas till alla språk, inklusive engelska. Detta stöds, men du måste välja detta filformat uttryckligen när du importerar komponenter till Weblate.

Exempel-filer

Den tvåspråkiga gettext PO-filen ser vanligtvis ut så här:

#: 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ý"

Den enspråkiga gettext PO-filen ser vanligtvis ut så här:

#: 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ý"

Basens språkfil kommer att vara:

#: 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"

Weblate-konfiguration

Typisk Weblate Komponentkonfiguration för tvåspråkig gettext

Filmask

po/*.po

Enspråkig basspråkfil

Tom

Mall för nya översättningar

po/messages.pot

Filformat

Gettext PO-fil

Typisk Weblate Komponentkonfiguration för enspråkig gettext

Filmask

po/*.po

Enspråkig basspråkfil

po/en.po

Mall för nya översättningar

po/messages.pot

Filformat

Gettext PO-fil (enspråkig)

Filformatsparametrar

Filformatsparametrar med mönstret po_* kan användas för att konfigurera beteendet för gettext-formatet.