Definisi bahasa

To present different translations properly, info about language name, text direction, plural definitions and language code are needed.

Definisi bahasa bawaan

Definisi untuk sekitar 800 bahasa disertakan dalam Weblate, dan daftarnya terus bertambah di setiap rilis. Jika Weblate ditingkatkan (lebih spesifiknya jika migrate dijalankan, lihat Petunjuk peningkatan umum), basis data bahasa diperbarui untuk mencakup semua definisi bahasa yang disertakan dalam Weblate.

Fitur ini dapat dinonaktifkan menggunakan UPDATE_LANGUAGES. Anda juga dapat memaksakan pembaruan basis data agar sesuai dengan data bawaan Weblate menggunakan setuplang.

Mengurai kode bahasa

Saat mengurai terjemahan, Weblate mencoba memetakan kode bahasa (biasanya kode ISO 639-1) dari Mask berkas ke objek bahasa apa pun yang ada.

Anda dapat menyesuaikan pemetaan ini lebih lanjut di tingkat proyek dengan Alias bahasa.

Jika tidak ditemukan kecocokan persis, akan dilakukan percobaan untuk menyesuaikannya dengan bahasa yang ada. Berikut langkah yang dicoba:

  • Pencarian tidak peka huruf kapital.

  • Menormalkan garis bawah dan tanda hubung.

  • Mencari alias bahasa bawaan.

  • Mencari berdasarkan nama bahasa.

  • Mengabaikan kode negara bawaan untuk bahasa tertentu—memilih cs alih-alih cs_CZ.

Jika gagal, definisi bahasa baru akan dibuat menggunakan bawaan (arah teks dari kiri ke kanan, satu jamak). Bahasa yang dibuat secara otomatis dengan kode xx_XX akan dinamai xx_XX (dihasilkan). Anda mungkin ingin mengubah ini di antarmuka admin nanti (lihat Mengubah definisi bahasa) dan melaporkannya ke pelacak isu (lihat Mengkontribusikan pada Weblate) agar definisi yang tepat dapat ditambahkan ke rilis Weblate mendatang.

Petunjuk

Jika Anda melihat sesuatu yang tidak diinginkan sebagai suatu bahasa, Anda mungkin ingin menyesuaikan Filter bahasa untuk mengabaikan berkas tersebut saat mengurai terjemahan.

Mengubah definisi bahasa

Anda dapat mengubah definisi bahasa di antarmuka bahasa (/languages/ URL).

Saat menyunting, pastikan semua kolom sudah benar (terutama jamak dan arah teks), jika tidak, penerjemah tidak akan dapat menyunting terjemahan tersebut dengan benar.

Petunjuk

Harap pertimbangkan untuk mengkontribusikan kembali perubahan Anda, lihat Meluaskan definisi bahasa bawaan.

Kode bahasa ambigu dan bahasa makro

Dalam banyak kasus, penggunaan kode makrobahasa untuk terjemahan bukanlah ide yang baik. Kasus bermasalah yang umum terjadi adalah bahasa Kurdi, yang mungkin ditulis dalam aksara Arab atau Latin, tergantung variannya. Untuk mendapatkan perilaku yang tepat di Weblate, disarankan untuk hanya menggunakan kode bahasa individual dan menghindari makrobahasa.

Definisi bahasa

Setiap bahasa terdiri dari kolom berikut:

Kode bahasa

Kode yang mengidentifikasikan bahasa. Weblate lebih memilih kode dua huruf sebagaimana didefinisikan oleh ISO 639-1, tetapi menggunakan kode ISO 639-2 atau ISO 639-3 untuk bahasa yang tidak memiliki kode dua huruf. Weblate juga dapat mendukung kode yang diperluas sebagaimana didefinisikan oleh BCP 47.

Nama bahasa

Nama bahasa yang terlihat. Nama bahasa yang disertakan dalam Weblate juga dilokalkan tergantung pada bahasa antarmuka pengguna.

Arahan teks

Menentukan apakah bahasa ditulis dari kanan ke kiri atau dari kiri ke kanan. Properti ini terdeteksi otomatis dengan benar untuk sebagian besar bahasa.

Jumlah pembicara

Jumlah pembicara bahasa ini di seluruh dunia.

Definisi jamak

Weblate dilengkapi dengan serangkaian definisi jamak bawaan. Definisi ini didasarkan pada spesifikasi format berkas, CLDR, dan sumber lainnya.

Peringatan

Melakukan perubahan pada definisi jamak bawaan kemungkinan besar tidak akan memberikan efek yang diinginkan, karena aturan ini harus cocok dengan implementasi yang mendasarinya.

Mengubah angka jamak atau rumus hanya akan memengaruhi tampilan string, tetapi tidak akan memengaruhi penguraian dan penyimpanan string ke dalam berkas. Jika Anda merasa Weblate berperilaku tidak semestinya, silakan laporkan isu Anda di pelacak masalah kami.

Angka jamak

Jumlah jamak yang digunakan dalam bahasa tersebut.

Rumus jamak

Rumus jamak yang kompatibel dengan Gettext digunakan untuk menentukan bentuk jamak mana yang digunakan untuk hitungan tertentu.

The formula uses the same expression syntax as the plural= part of the Gettext Plural-Forms header. The nplurals value sets how many plural forms the language has, and the formula returns the zero-based index of the plural form to use for a count n.

Weblate validates the formula using the Gettext parser provided by Python. The accepted syntax is a C-like integer expression with n as the only variable. It can use decimal numbers, parentheses, arithmetic operators (+, -, *, /, %), comparison and equality operators, logical operators (&&, ||, !), and the ternary operator (condition ? value1 : value2). The result must be between 0 and nplurals - 1.

For example, English uses:

nplurals=2; plural=n != 1;