GNU gettext PO (Portable Object)

De meest gebruikte indeling voor het vertalen van vrije software.

Contextuele informatie opgeslagen in het bestand wordt ondersteund door het aanpassen van zijn kop of koppeling naar corresponderende bronbestanden.

Wijziging brontekenreeks weergeven

Weblate kan eerder brontekenreeksen uitnemen uit de PO-bestanden indien aanwezig en het verschil weergeven voor tekenreeksen die op basis daarvan bewerken nodig hebben. msgmerge moet, om deze op te nemen, worden uitgevoerd met --previous en het resulterende PO-bestand bevat dan regels zoals:

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

Kop PO-bestand

De kop van het PO-bestand wordt automatisch onderhouden door Weblate. Optioneel kan het Adres voor het melden van onjuiste brontekenreeksen en ‘Language-Team’-kop instellen opnemen.

De opmerkingen van de koptekst kunnen nu ook worden bijgewerkt om de namen van auteurs op te nemen met Medewerkers in opmerking.

Regelafbreking

De regeldoorloop komt meestal overeen met het gedrag van GNU gettext. Zowel het algoritme voor doorloop in de GNU gettext als de Unicode-gegevens in de doorloop is gebaseerd op ontwikkelen, wat in sommige randgevallen verschillen zou kunnen veroorzaken.

De breedte voor de doorloop kan worden geconfigureerd met de parameter po_line_wrap, bekijk Parameters bestandsindeling.

Overeenkomende MO-bestanden genereren

In het geval dat MO-bestanden samen in de opslagruimte worden gehouden met PO-bestanden, kan MO-bestanden genereren worden gebruikt om ze up-to-date te houden met PO-bestanden.

PO-bestanden bijwerken uit het POT-bestand

PO-bestanden bijwerken om te laten overeenkomen met pot (msgmerge) kan worden gebruikt om PO-bestanden bij te werken vanuit het POT-bestand, bekijk Bestanden doeltaal bijwerken.

Eentalige gettext

Sommige projecten besluiten om gettext te gebruiken als eentalige indeling—zij coderen slechts de ID’s in hun broncode en de tekenreeks moet dan worden vertaald in alle talen, inclusief Engels. Dit wordt ondersteund, hoewel u deze bestandsindeling expliciet moet kiezen bij het importeren van onderdelen in Weblate.

Voorbeeldbestanden

Het tweetalige gettext PO-bestand ziet er gewoonlijk zo uit:

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

Het eentalige gettext PO-bestand ziet er gewoonlijk zo uit:

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

Waarbij het basis taalbestand zal zijn:

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

Typisch Weblate Configuratie onderdeel voor tweetalige gettext

Bestandsmasker

po/*.po

Enkeltalig basistaalbestand

Leeg

Sjabloon voor nieuwe vertalingen

po/messages.pot

Bestandsformaat

Gettext PO-bestand

Typisch Weblate Configuratie onderdeel voor eentalige gettext

Bestandsmasker

po/*.po

Enkeltalig basistaalbestand

po/en.po

Sjabloon voor nieuwe vertalingen

po/messages.pot

Bestandsformaat

Gettext PO-bestand (eentalig)

Parameters bestandsindeling

Parameters bestandsindeling met het patroon po_* kan worden gebruikt om het gedrag voor de indeling gettext te configureren.