Integrasi dengan Weblate¶
Dasar Weblate¶
Struktur proyek dan komponen¶
Di Weblate, terjemahan diatur ke dalam proyek dan komponen. Setiap proyek dapat berisi sejumlah komponen, dan komponen tersebut berisi terjemahan ke dalam bahasa individual. Komponen tersebut berkaitan dengan satu berkas yang dapat diterjemahkan (misalnya GNU gettext PO (Objek Portabel) atau Sumber daya string Android). Proyek ini berfungsi untuk membantu Anda mengatur komponen ke dalam rangkaian logis (misalnya, untuk menggrupkan semua terjemahan yang digunakan dalam satu aplikasi).
Selain itu, komponen dalam proyek dapat disusun menggunakan kategori. Komponen dapat berada dalam suatu kategori, dan kategori dapat disarangkan.
Secara internal, setiap proyek memiliki terjemahan ke string umum yang disebarkan ke komponen lain di dalamnya secara bawaan. Ini meringankan beban terjemahan yang berulang dan multiversi. Propagasi terjemahan dapat dinonaktifkan per Konfigurasi komponen menggunakan Izinkan propagasi terjemahan jika terjemahannya berbeda.
Integrasi repositori¶
Weblate dibangun untuk terintegrasi dengan repositori kontrol versi hulu, Lokalisasi berkelanjutan menjelaskan blok penyusun dan bagaimana perubahan mengalir di antara blok tersebut.
Lihat juga
Ikhtisar arsitektur menjelaskan cara kerja Weblate secara internal.
Atribusi pengguna¶
Weblate menyimpan terjemahan yang ditulis dengan benar oleh penerjemah di repositori kontrol versi dengan menggunakan nama dan alamat surel. Melampirkan alamat surel asli pada komit mengikuti aturan kontrol versi terdistribusi dan memungkinkan layanan seperti GitHub untuk mengaitkan kontribusi Anda yang dibuat di Weblate dengan profil GitHub Anda.
Fitur ini juga menimbulkan risiko penyalahgunaan surel yang dipublikasikan dalam komit kontrol versi. Selain itu, setelah komit tersebut dipublikasikan di pengehosan publik (seperti GitHub), tidak ada cara untuk menyuntingnya. Weblate memungkinkan pemilihan surel komit privat di Akun untuk menghindari hal ini.
Oleh karena itu, admin harus mempertimbangkan hal ini saat mengkonfigurasikan Weblate:
Penggunaan surel seperti itu harus dijelaskan dengan jelas dalam persyaratan layanan jika dokumen tersebut diperlukan. Modul hukum dapat membantu dalam hal itu.
PRIVATE_COMMIT_EMAIL_OPT_INdapat menjadikan surel privat secara bawaan.
Mengimpor proyek lokalisasi ke Weblate¶
Weblate dikembangkan dengan mempertimbangkan integrasi VCS sebagai fitur utamanya, jadi cara termudah adalah dengan memberikan Weblate akses ke repositori Anda. Proses impor akan memandu Anda dalam mengkonfigurasikan terjemahan Anda ke dalam komponen Weblate.
Alternatifnya, Anda dapat membiarkan Weblate menyiapkan hanya repositori lokal yang berisi semua terjemahan tanpa integrasi.
Mengambil terjemahan yang diperbarui dari Weblate¶
Weblate menyimpan string yang diperbarui dalam basis data dan mengirimkannya ke repositori kontrol versi lokal. Anda dapat menambahkan repositori Weblate (ketika Eksportir Git diaktifkan) sebagai repositori jarak jauh tambahan dan mengambil pembaruan terjemahan darinya.
Sebelum ini, Anda mungkin ingin melakukan komit terhadap perubahan lokal yang tertunda yang dibuat di Weblate (lihat Komit malas). Ini dapat dilakukan dari antarmuka pengguna (di Pemeliharaan repositori), atau dari baris perintah menggunakan Klien Weblate.
Pushing changes can be automated if you grant Weblate push access to your repository and configure URL dorong repositori in the Konfigurasi komponen, see Mendorong perubahan dari Weblate.
Atau, gunakan API REST Weblate untuk memperbarui terjemahan agar sesuai dengan versi terbaru dari hulu di repositori VCS jarak jauh Anda.
Mengambil perubahan jarak jauh ke Weblate¶
Untuk mengambil string apa pun yang baru saja diperbarui di repositori VCS jarak jauh Anda ke Weblate, izinkan Weblate untuk mengambil dari repositori hulu. Ini dapat dilakukan di antarmuka pengguna (di Pemeliharaan repositori), atau dari baris perintah menggunakan Klien Weblate.
Hal ini dapat diotomatisasi dengan mengatur webhook di repositori Anda untuk memicu Weblate jika ada komit baru. Lihat Memperbarui repositori untuk rincian lebih lanjut.
Jika tidak menggunakan integrasi VCS, Anda dapat menggunakan UI atau API REST Weblate untuk memperbarui terjemahan agar cocok dengan basis kode Anda.
Lihat juga
Menambahkan string baru¶
Jika berkas terjemahan Anda disimpan di VCS jarak jauh bersama kodenya, kemungkinan besar Anda sudah memiliki alur kerja bagi pengembang untuk menambahkan string baru. Cara apa pun untuk menambahkan string akan dipertimbangkan, tetapi pertimbangkan untuk menggunakan Gerbang kualitas untuk string sumber untuk menghindari galat.
Saat berkas terjemahan dipisahkan dari kode, cara berikut dapat memasukkan string baru ke dalam Weblate.
Secara manual, gunakan Tambahkan string terjemahan baru dari Operasi dalam bahasa sumber. Anda dapat memilih antara tombol radio Tunggal dan Jamak di dalam formulir. Pilih bentuk string terjemahan baru yang sesuai untuk ditambahkan.
Secara terprogram, menggunakan API
POST /api/translations/(string:project)/(string:component)/(string:language)/units/.Dengan mengunggah berkas sumber sebagai Ganti berkas terjemahan yang ada (ini akan menimpa string yang ada, jadi pastikan berkas menyertakan string lama dan baru) atau Tambahkan string baru, lihat Metode impor.
Catatan
Kemampuan untuk menambahkan string di Weblate memerlukan Kelola string.
Memperbarui berkas bahasa target¶
Untuk berkas monolingual (lihat Format berkas lokalisasi), Weblate mungkin menambahkan string terjemahan baru yang ada di Berkas bahasa dasar ekabahasa, dan bukan di terjemahan yang sebenarnya. Namun, Weblate tidak melakukan pembersihan otomatis string yang sudah lawas, karena dapat menimbulkan hasil yang tidak diharapkan. Jika Anda tetap ingin melakukannya, silakan pasang pengaya Bersihkan berkas terjemahan, yang akan menangani pembersihan sesuai kebutuhan Anda.
Weblate juga tidak akan mencoba memperbarui berkas dwibahasa saat sumbernya berubah, jadi jika Anda perlu berkas po diperbarui dari pot, Anda punya dua pilihan:
Secara otomatis dengan pengaya (disarankan untuk pembaruan berkelanjutan): Pasang pengaya Perbarui berkas PO agar sesuai dengan POT (msgmerge), yang secara otomatis menjalankan msgmerge untuk memperbarui semua berkas PO jika berkas POT diubah.
Secara manual melalui unggahan: Gunakan Perbarui string sumber Metode impor untuk mengunggah berkas POT Anda, yang akan menggabungkannya dengan terjemahan yang ada.
Petunjuk
Alat ekstraksi string sumber, seperti xgettext atau lupdate, perlu dijalankan di luar Weblate.
Memperkenalkan string baru¶
Anda dapat menambahkan string baru di Weblate dengan Kelola string diaktifkan, tetapi biasanya lebih baik untuk memperkenalkan string baru bersama dengan perubahan kode yang memperkenalkannya.
Format ekabahasa perlu dikonfigurasikan agar string baru ditambahkan ke Berkas bahasa dasar ekabahasa. Hal ini biasanya dilakukan oleh pengembang saat mereka menulis kode. Anda mungkin ingin menggunakan proses peninjauan string tersebut menggunakan Gerbang kualitas untuk string sumber.
Format dwibahasa biasanya mengekstrak string dari kode sumber menggunakan beberapa alat (seperti xgettext atau intltool-update). Ikuti dokumentasi kerangka kerja lokalisasi Anda untuk petunjuk cara melakukannya. Setelah string diekstrak, mungkin ada langkah tambahan yang diperlukan untuk memperbarui terjemahan yang ada, lihat Memperbarui berkas bahasa target.
Petunjuk
Mengotomatisasikan ekstraksi string saat ini berada di luar cakupan untuk Weblate. Proses ini biasanya melibatkan eksekusi kode yang tidak tepercaya, sehingga lebih cocok untuk integrasi berkelanjutan umum daripada platform khusus lokalisasi.
Anda mungkin ingin mengintegrasikan ini ke dalam alur integrasi berkelanjutan Anda agar string baru muncul secara otomatis untuk diterjemahkan. Alur tersebut juga harus mencakup Menghindari konflik penggabungan.
Mengelola repositori VCS lokal¶
Weblate stores all translations in its underlying version control repository. It is suggested to be connected to a remote one, but internal-only setup is also possible. The Repository maintenance allows controlling this repository. For a detailed description of the available actions, see Pemeliharaan repositori.
Petunjuk
Dengan Lokalisasi berkelanjutan, perubahan apa pun secara otomatis didorong dari repositori, jadi biasanya tidak perlu mengelolanya secara manual.