GNU gettext PO (Portable Object)

Özgür yazılımları çevirmek için en yaygın olarak kullanılan biçim.

Dosyada depolanan bağlamsal bilgiler, üst bilgileri ayarlanarak veya ilgili kaynak dosyalarla bağlantı kurularak sağlanabilir.

Kaynak dizge değişikliklerini görüntülemek

Weblate, varsa PO dosyalarından önceki kaynak dizgelerini çıkarabilir ve buna göre düzenlenmesi gereken dizgeler için dizgedeki farkları görüntüleyebilir. Bunların katılması için, msgmerge —previous ile yürütülmelidir. Sonuç PO dosyasında şu satırlar bulunur:

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

This is controlled by the po_keep_previous Dosya biçimi parametreleri 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 Dosya biçimi parametreleri parameter to remove obsolete entries when Weblate saves PO files.

PO dosyası üst bilgisi

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 Dosya biçimi parametreleri.

Contributor comments

Use the po_contributor_comments Dosya biçimi parametreleri 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.

Satır kaydırma

Satır kaydırma çoğunlukla GNU gettext davranışıyla eşleşir. Hem GNU gettext sarmalama algoritması hem de sarmalamanın temel aldığı Unicode verileri, bazı uç durumlarda farklılıklara neden olabilecek şekilde evrilmiştir.

Sarmalama genişliği po_line_wrap parametresi ile yapılandırılabilir. Ayrıntılı bilgi almak için: Dosya biçimi parametreleri.

Eşleşen MO dosyalarını oluşturmak

MO dosyalarının PO dosyaları ile birlikte depoda tutulması durumunda, MO dosyalarını PO dosyaları ile güncel tutmak için MO dosyaları üretme kullanılabilir.

PO dosyalarını POT dosyasından güncellemek

POT dosyasından PO dosyalarını güncellemek için PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) kullanılabilir. Ayrıntılı bilgi almak için: Hedef dil dosyalarını güncellemek.

Tek dilli gettext

Bazı projeler tek dilli biçimler için gettext kullanmaya karar verir. Yalnızca kaynak kodlarındaki kimlikleri kodlarlar ve dizgenin İngilizce ile birlikte tüm dillere çevrilmesi gerekir. Bu yöntem desteklenir, ancak bileşenleri Weblate içine aktarırken açıkça bu dosya biçimini seçmeniz gerekir.

Örnek dosyalar

İki dilli Gettext PO dosyası genellikle şöyle görünü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ý"

Tek dilli Gettext PO dosyası genellikle şöyle görünü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ý"

Temel dil dosyası şöyle olacaktır:

#: 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"
Desteklenen özellikler

Dosya uzantıları

.po, .pot

Dilsellik i

Tek dilli

Çoğulları destekler ⓘ

Yes

Tanımlamaları destekler ⓘ

Yes

Açıklamayı destekler ⓘ

No

Bağlamı destekler ⓘ

Yes

Konumu destekler ⓘ

Yes

İmleri destekler ⓘ

Yes

Ek durumlar ⓘ

Needs editing

API belirteci

po-mono

Salt okunur dizgeleri destekler ⓘ

No

Supports removing obsolete strings ⓘ

Yes

Desteklenen özellikler

Dosya uzantıları

.po, .pot

Dilsellik i

İki dilli

Çoğulları destekler ⓘ

Yes

Tanımlamaları destekler ⓘ

Yes

Açıklamayı destekler ⓘ

No

Bağlamı destekler ⓘ

Yes

Konumu destekler ⓘ

Yes

İmleri destekler ⓘ

Yes

Ek durumlar ⓘ

Needs editing

API belirteci

po

Salt okunur dizgeleri destekler ⓘ

No

Supports removing obsolete strings ⓘ

Yes

Weblate yapılandırması

İki dilli gettext için tipik Weblate Bileşen yapılandırması dosyası

Dosya maskesi

po/*.po

Tek dilli temel dil dosyası

Boş

Yeni çeviriler kalıbı

po/messages.pot

Dosya biçimi

Gettext PO dosyası

Tek dilli gettext için tipik Weblate Bileşen yapılandırması dosyası

Dosya maskesi

po/*.po

Tek dilli temel dil dosyası

po/en.po

Yeni çeviriler kalıbı

po/messages.pot

Dosya biçimi

Gettext PO dosyası (tek dilli)

Dosya biçimi parametreleri

Dosya biçimi parametreleri ile po_* modeli gettext biçiminin davranışını yapılandırmak için kullanılabilir.