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.
Se även
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"
This is controlled by the po_keep_previous Filformatsparametrar
parameter. It does not affect obsolete entries marked with #~.
Obsolete strings¶
msgmerge keeps strings removed from the POT file as obsolete #~
entries by default. Enable the po_remove_obsolete Filformatsparametrar
parameter to remove obsolete entries when Weblate saves PO files.
PO-filens rubrik¶
The header of the PO file is automatically maintained by Weblate.
It can be configured to include the Language-Team, Last-Translator,
X-Generator and Report-Msgid-Bugs-To headers using the Filformatsparametrar.
Contributor comments¶
Use the po_contributor_comments Filformatsparametrar parameter to add
contributor names and years to PO header comments. Choose gettext for
traditional comments or spdx for SPDX copyright entries. The default,
none, disables contributor updates without removing existing comments.
This setting works independently of the Last-Translator header setting.
With gettext, contributor comments look like this:
# Jane Doe <jane@example.com>, 2024, 2026.
With spdx, the same entry becomes:
# SPDX-FileCopyrightText: 2024, 2026 Jane Doe <jane@example.com>
On the next commit by an eligible contributor, SPDX mode converts all recognized contributor comments, preserves historical contribution years, and adds the current year for that contributor. Anonymous Weblate authors are skipped. Unrelated comments and copyright notices are preserved. Weblate does not infer copyright claims from translated credit strings or add project-specific notices or license identifiers; handle these in custom tooling.
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"
File extensions |
|
|---|---|
Linguality ⓘ |
Monolingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
Additional states ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Supports removing obsolete strings ⓘ |
|
File extensions |
|
|---|---|
Linguality ⓘ |
Bilingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
Additional states ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Supports removing obsolete strings ⓘ |
|
Weblate-konfiguration¶
Typisk Weblate Komponentkonfiguration för tvåspråkig gettext |
|
|---|---|
Filmask |
|
Enspråkig basspråkfil |
Tom |
Mall för nya översättningar |
|
Filformat |
Gettext PO-fil |
Typisk Weblate Komponentkonfiguration för enspråkig gettext |
|
|---|---|
Filmask |
|
Enspråkig basspråkfil |
|
Mall för nya översättningar |
|
Filformat |
Gettext PO-fil (enspråkig) |
Filformatsparametrar¶
Filformatsparametrar med mönstret po_* kan användas för att konfigurera beteendet för gettext-formatet.