Format berkas lokalisasi

Weblate mendukung beragam format terjemahan. Setiap format sedikit berbeda dan menyediakan serangkaian kemampuan yang berbeda.

Petunjuk

Saat memilih format berkas untuk aplikasi Anda, sebaiknya masukkan format yang sudah mapan ke dalam perangkat/platform yang Anda gunakan. Dengan begitu, penerjemah Anda dapat menggunakan perangkat apa pun yang biasa mereka gunakan, dan kemungkinan besar akan berkontribusi pada proyek Anda.

Deteksi otomatis

Weblate mencoba mendeteksi format berkas selama Menambahkan proyek dan komponen terjemahan. Deteksi ini mungkin salah untuk varian berbeda dari format serialisasi yang sama (JSON, YAML, properti) atau pengodean berkas, jadi silakan verifikasikan bahwa Format berkas sudah benar sebelum membuat komponen.

Kemampuan jenis terjemahan

Please refer to the documentation page of each individual file format for information about which features are supported in that format.

Format dwibahasa dan ekabahasa

Format ekabahasa dan dwibahasa didukung. Format dwibahasa menyimpan dua bahasa dalam satu berkas—sumber dan terjemahan (contoh umumnya adalah GNU gettext PO (Objek Portabel), XLIFF 1.1 dan 1.2, atau String Apple iOS). Di sisi lain, format ekabahasa mengidentifikasikan string berdasarkan ID, dan setiap berkas bahasa hanya berisi pemetaannya ke bahasa tertentu (biasanya Sumber daya string Android). Beberapa format berkas digunakan dalam kedua varian, lihat deskripsi terperinci di bawah.

Agar berkas ekabahasa dapat digunakan dengan benar, Weblate memerlukan akses ke berkas yang berisi daftar lengkap string yang akan diterjemahkan dengan sumbernya—berkas ini disebut Berkas bahasa dasar ekabahasa dalam Weblate, meskipun penamaannya mungkin berbeda tergantung paradigma Anda.

Selain itu alur kerja ini dapat diluaskan dengan memanfaatkan Berkas bahasa intermediasi untuk menyertakan string yang disediakan oleh pengembang, tetapi tidak untuk digunakan sebagaimana adanya dalam string final.

Status string

Banyak format berkas hanya membedakan string "Belum Diterjemahkan" dan "Diterjemahkan". Beberapa format memungkinkan penyimpanan informasi status yang lebih mendalam, seperti "Perlu disunting" atau "Disetujui".

Deskripsi string sumber

Deskripsi string sumber dapat digunakan untuk meneruskan info tambahan tentang string yang akan diterjemahkan.

Beberapa format memiliki dukungan bawaan untuk memberikan informasi tambahan kepada penerjemah (misalnya XLIFF 1.1 dan 1.2, GNU gettext PO (Objek Portabel), WebExtension JSON, Berkas CSV, Excel Open XML, Qt Linguist .ts, Berkas JSON go-i18n, Berkas JSON gotext, Berkas ARB, Berkas sumber daya .NET (RESX, RESW)). Banyak format lain yang mengekstrak komentar terdekat sebagai deskripsi string sumber.

Penjelasan

Penjelasan pada string dapat disimpan dan diurai dari beberapa format berkas.

Saat ini hanya didukung di Format TermBase eXchange.

Lokasi string sumber

Lokasi string dalam kode sumber dapat membantu penerjemah yang mahir memahami bagaimana string tersebut digunakan.

Informasi ini biasanya tersedia dalam format dwibahasa di mana string diekstrak dari kode sumber menggunakan alat. Misalnya GNU gettext PO (Objek Portabel) dan Qt Linguist .ts.

Penanda terjemahan

Penanda terjemahan mengizinkan penyesuaian perilaku Weblate. Beberapa format mendukung pendefinisian tanda tersebut dalam berkas terjemahan (Anda selalu dapat mendefinisikannya di antarmuka Weblate, lihat Menyesuaikan perilaku menggunakan penanda).

Fitur ini dimodelkan pada penanda di GNU gettext PO (Objek Portabel).

Selain itu, untuk semua format berbasis XML, tanda diekstrak dari atribut non-standar weblate-flags. Selain itu, max-length:N didukung melalui atribut maxwidth https://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#maxwidth sebagaimana didefinisikan dalam standar XLIFF, lihat Menspesifikasikan penanda terjemahan.

Konteks

Konteks digunakan untuk membedakan string identik dalam format dwibahasa yang digunakan dalam cakupan berbeda (misalnya Matahari dapat digunakan sebagai nama singkat hari "Minggu" atau sebagai nama bintang terdekat kita).

Untuk format ekabahasa, pengenal string (sering disebut kunci) dapat melayani tujuan yang sama dan konteks tambahan tidak diperlukan.

String yang dijamak

Bentuk jamak diperlukan untuk melokalisasikan string dengan jumlah variabel dengan tepat. Aturannya bergantung pada bahasa target dan banyak format mengikuti spesifikasi CLDR untuk itu.

Petunjuk

Menjamakkan string juga memerlukan dukungan yang tepat dari kerangka kerja aplikasi. Pilih format asli platform Anda seperti GNU gettext PO (Objek Portabel), Sumber daya string Android, atau Format Stringsdict.

String hanya baca

String hanya baca dari berkas terjemahan akan disertakan, tetapi tidak dapat disunting di Weblate. Fitur ini didukung secara asli oleh beberapa format (XLIFF 1.1 dan 1.2 dan Sumber daya string Android), tetapi dapat diemulasikan di format lain dengan menambahkan tanda read-only, lihat Menyesuaikan perilaku menggunakan penanda.

Mendukung format lain

Sebagian besar format yang didukung oleh translate-toolkit yang mendukung serialisasi dapat dengan mudah didukung, tetapi format tersebut belum diuji. Umumnya, lapisan tipis tambahan diperlukan di Weblate untuk menyembunyikan perbedaan perilaku penyimpanan yang berbeda.

Untuk menambahkan dukungan untuk format baru, pendekatan yang disukai adalah terlebih dahulu mengimplementasikan dukungan untuk format tersebut dalam translate-toolkit.

Parameter format berkas

Parameter format berkas menyediakan cara untuk mengkonfigurasikan pengaturan terkait format berkas. Parameter ini dikonfigurasikan di tingkat komponen dan memungkinkan Anda menyesuaikan cara penguraian dan serialisasi berkas ditangani.

Daftar parameter format berkas

Nama parameter

Format berkas

Label

Teks bantuan

csv_encoding

  • csv

  • csv-multi

Pengenkodean berkas

Pengenkodean yang digunakan untuk berkas CSV

Pilihan yang tersedia:

auto

Deteksi otomatis

utf-8

UTF-8

csv_simple_encoding

  • csv-simple

Pengenkodean berkas

Pengenkodean yang digunakan untuk berkas CSV sederhana

Pilihan yang tersedia:

auto

Deteksi otomatis

utf-8

UTF-8

iso-8859-1

ISO-8859-1

dos_eol

All file formats

Akhiran baris DOS

Gunakan baris beralih DOS (rn) alih‑alih baris beralih UNIX (n) dalam string.

flatxml_key_name

  • flatxml

Nama kunci FlatXML

flatxml_root_name

  • flatxml

Nama Root FlatXML

flatxml_value_name

  • flatxml

Nama nilai FlatXML

gwt_encoding

  • gwt

Pengenkodean berkas

Pengenkodean yang digunakan untuk berkas Properti GWT

Pilihan yang tersedia:

utf-8

UTF-8

iso-8859-1

ISO-8859-1

json_indent

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Indentasi JSON

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Gaya indentasi JSON

Pilihan yang tersedia:

spaces

Spasi

tabs

Tab

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Sortir kunci JSON

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Hindari spasi setelah pemisah

line_max_length

  • markdown

  • mdx

Panjang maksimum baris

Jumlah maksimum karakter untuk setiap baris dalam berkas keluaran.

md_extract_code_blocks

  • markdown

  • mdx

Ekstrak blok kode

Apakah akan mengekstrak konten yang dapat diterjemahkan dari blok kode dalam berkas Markdown dan MDX.

md_extract_frontmatter

  • markdown

  • mdx

Ekstrak front matter

Apakah akan mengekstrak dan menerjemahkan blok YAML front matter dalam berkas Markdown dan MDX.

md_no_placeholders

  • markdown

  • mdx

Nonaktifkan pengganti

Menonaktifkan deteksi dan pemrosesan pengganti dalam berkas Markdown dan MDX.

merge_duplicates

  • markdown

  • mdx

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

Hapus ganda string yang identik

Menggabungkan string sumber yang identik ke dalam satu unit terjemahan. Mencegah hilangnya terjemahan selama struktur ulang berkas atau penataan ulang tabel dengan menghapus konteks yang bergantung pada posisi.

po_fuzzy_matching

  • po

Gunakan pencocokan fuzzy

po_keep_previous

  • po

Pertahankan msgids sebelumnya dari string yang diterjemahkan

po_line_wrap

  • po

  • po-mono

Pemecahan baris panjang

Secara bawaan, gettext membungkus baris dengan 77 karakter dan pada baris baru. Dengan parameter --no-wrap, pembungkusan hanya dilakukan pada baris baru.

Pilihan yang tersedia:

77

Pecahkan baris pada 77 karakter dan di baris baru (xgettext bawaan)

65535

Hanya bungkus baris pada baris baru (seperti gettext --no-wrap)

-1

Tanpa pemecahan baris

po_no_location

  • po

Jangan sertakan informasi lokasi dalam berkas

po_report_msgid_bugs_to

  • po

  • po-mono

Laporkan awakutu msgid ke

Memungkinkan Weblate memperbarui kepala "Report-Msgid-Bugs-To" jika alamat pelaporan awakutu string sumber telah diatur.

po_set_language_team

  • po

  • po-mono

Perbarui kepala tim bahasa

Memungkinkan Weblate memperbarui kepala berkas "Language-Team".

po_set_last_translator

  • po

  • po-mono

Perbarui header penerjemah terakhir

Memungkinkan Weblate memperbarui kepala berkas "Last-Translator".

po_set_x_generator

  • po

  • po-mono

Perbarui kepala X-Generator

Memungkinkan Weblate memperbarui kepala berkas "X-Generator".

properties_encoding

  • properties

Pengenkodean berkas

Pengenkodean yang digunakan untuk berkas Properti Java

Pilihan yang tersedia:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

Pengenkodean berkas

Pengenkodean yang digunakan untuk berkas string iOS

Pilihan yang tersedia:

utf-8

UTF-8

utf-16

UTF-16

xml_closing_tags

  • ts

  • plainxliff

  • xliff

  • xliff2

  • xliff2-placeables

  • poxliff

  • apple-xliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Sertakan tag penutup untuk tag XML yang kosong

yaml_indent

  • yaml

  • ruby-yaml

Indentasi YAML

yaml_line_break

  • yaml

  • ruby-yaml

Jeda baris

Pilihan yang tersedia:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Pemecahan baris panjang

Pilihan yang tersedia:

80

Pecahkan baris pada 80 karakter

100

Pecahkan baris pada 100 karakter

120

Pecahkan baris pada 120 karakter

180

Pecahkan baris pada 180 karakter

65535

Tanpa pemecahan baris