GNU gettext PO (Objek Portabel)¶
Format yang paling banyak digunakan untuk menerjemahkan perangkat lunak bebas.
Informasi kontekstual yang disimpan dalam berkas didukung dengan menyesuaikan kepalanya atau menautkan ke berkas sumber yang sesuai.
Lihat juga
Menampilkan perubahan string sumber¶
Weblate dapat mengekstrak string sumber sebelumnya dari berkas PO jika ada dan menampilkan perbedaan string untuk string yang perlu disunting berdasarkan hal tersebut. Untuk menyertakannya, msgmerge harus dijalankan dengan --previous dan berkas PO yang dihasilkan kemudian berisi baris seperti:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
This is controlled by the po_keep_previous Parameter format berkas
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 Parameter format berkas
parameter to remove obsolete entries when Weblate saves PO files.
Kepala berkas PO¶
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 Parameter format berkas.
Komentar kontributor¶
Use the po_contributor_comments Parameter format berkas 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.
Pembungkusan baris¶
Pembungkusan baris sebagian besar sesuai dengan perilaku gettext GNU. Baik algoritma pembungkusan dalam gettext GNU maupun data Unicode yang menjadi dasar pembungkusan telah berevolusi, yang mungkin menyebabkan perbedaan dalam beberapa kasus khusus.
Lebar pembungkus dapat dikonfigurasikan menggunakan parameter po_line_wrap, lihat Parameter format berkas.
Menghasilkan berkas MO yang cocok¶
Jika berkas MO disimpan dalam repositori bersama dengan berkas PO, Hasilkan berkas MO dapat digunakan untuk menjaganya tetap terkini dengan berkas PO.
Memperbarui berkas PO dari berkas POT¶
Perbarui berkas PO agar sesuai dengan POT (msgmerge) dapat digunakan untuk memperbarui berkas PO dari berkas POT, lihat Memperbarui berkas bahasa target.
gettext ekabahasa¶
Beberapa proyek memutuskan untuk menggunakan gettext sebagai format ekabahasa—mereka hanya mengkodekan ID dalam kode sumbernya dan string tersebut kemudian perlu diterjemahkan ke semua bahasa, termasuk Inggris. Hal ini didukung, meskipun Anda harus memilih format berkas ini secara eksplisit saat mengimpor komponen ke Weblate.
Contoh berkas¶
Berkas PO gettext dwibahasa biasanya terlihat seperti ini:
#: 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ý"
Berkas PO gettext ekabahasa biasanya terlihat seperti ini:
#: 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ý"
Sementara berkas bahasa dasar akan berupa:
#: 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"
Ekstensi berkas |
|
|---|---|
Linguality ⓘ |
Ekabahasa |
Mendukung jamak ⓘ |
|
Mendukung deskripsi ⓘ |
|
Mendukung penjelasan ⓘ |
|
Mendukung konteks ⓘ |
|
Mendukung lokasi ⓘ |
|
Mendukung penanda ⓘ |
|
Status tambahan ⓘ |
|
Pengenal API |
|
Supports read-only strings ⓘ |
|
Supports removing obsolete strings ⓘ |
|
Ekstensi berkas |
|
|---|---|
Linguality ⓘ |
Dwibahasa |
Mendukung jamak ⓘ |
|
Mendukung deskripsi ⓘ |
|
Mendukung penjelasan ⓘ |
|
Mendukung konteks ⓘ |
|
Mendukung lokasi ⓘ |
|
Mendukung penanda ⓘ |
|
Status tambahan ⓘ |
|
Pengenal API |
|
Supports read-only strings ⓘ |
|
Supports removing obsolete strings ⓘ |
|
Konfigurasi Weblate¶
Weblate umum Konfigurasi komponen untuk gettext dwibahasa |
|
|---|---|
Mask berkas |
|
Berkas bahasa dasar ekabahasa |
Kosong |
Templat untuk terjemahan baru |
|
Format berkas |
Berkas PO Gettext |
Weblate umum Konfigurasi komponen untuk gettext ekabahasa |
|
|---|---|
Mask berkas |
|
Berkas bahasa dasar ekabahasa |
|
Templat untuk terjemahan baru |
|
Format berkas |
Berkas PO Gettext (ekabahasa) |
Parameter format berkas¶
Parameter format berkas dengan pola po_* dapat digunakan untuk mengkonfigurasikan perilaku format gettext.