Terjemahan
Blockstudio menyertakan terjemahannya di folder languages. WordPress menggunakannya saat bahasa situs atau bahasa di profil pengguna cocok dengan salah satunya. Cara kerjanya sama saat Blockstudio dijalankan sebagai plugin, plugin wajib pakai, atau paket Composer.
Bahasa yang tersedia
Blockstudio menyertakan terjemahan untuk lokal WordPress yang tercatat dalam languages/locales.json bawaannya, termasuk varian regional serta formal/informal. Bahasa Inggris (en_US) adalah bahasa sumber dan tidak memerlukan file terjemahan. Daftar ini menggabungkan lokal yang didukung WordPress dari GlotPress dengan varian yang tersedia dari API terjemahan inti WordPress.
Terjemahan bahasa Jerman (de_DE) dan bahasa Jerman formal (de_DE_formal) yang sudah ada tetap dipertahankan. Terjemahan tambahan dibuat dengan AI menggunakan GPT-6 Luna dan ditandai sebagai hasil mesin di header .po. Terjemahan tersebut lolos pemeriksaan kelengkapan dan format otomatis, tetapi belum semuanya ditinjau oleh penutur asli. Silakan kirim koreksi.
Terjemahan mencakup kontrol field di editor blok, halaman admin, kanvas, overlay devtools, dan pesan endpoint REST. Label dan teks bantuan dalam file block.json Anda sendiri merupakan bagian dari tema atau plugin Anda dan menggunakan domain teksnya.
Pilih bahasa di Pengaturan > Umum > Bahasa Situs, atau pilih bahasa pribadi di profil WordPress Anda. Blockstudio menggunakan lokal tersebut secara otomatis. Fitur ini tidak menambahkan bahasa ke pemilih bahasa WordPress: lokal tersebut juga harus tersedia di instalasi WordPress Anda. Situs Anda tidak memerlukan permintaan AI, langganan terjemahan, atau pengaturan runtime tambahan.
Ganti terjemahan
File terjemahan di wp-content/languages/plugins diutamakan daripada file bawaan, baik untuk string PHP (blockstudio-de_DE.mo atau blockstudio-de_DE.l10n.php) maupun skrip (satu file per handle skrip, misalnya blockstudio-de_DE-blockstudio-blocks.json).
Berkontribusi pada terjemahan
Setiap bahasa adalah file .po yang dapat Anda edit dengan editor teks apa pun atau alat penerjemahan seperti Poedit. Koreksi dan bahasa baru dapat dikirim sebagai pull request.
- Untuk menambahkan bahasa, salin
languages/blockstudio.potkelanguages/blockstudio-<locale>.po, misalnyablockstudio-fr_FR.po, lalu atur headerLanguagedanPlural-Forms. Untuk memperbaiki suatu bahasa, edit file.poyang sudah ada. - Terjemahkan string-nya. Pertahankan placeholder seperti
%1$sdalam terjemahan. - Jalankan
npm run i18n. Perintah ini menulis file.mo,.l10n.php, dan.jsonyang dimuat oleh WordPress. - Commit file
.pobersama file yang dihasilkan, lalu buat pull request.
Jika Anda tidak dapat menjalankan npm, pull request yang hanya berisi file .po juga tidak masalah. File yang dihasilkan dapat ditambahkan sebelum penggabungan.
Membuat terjemahan yang belum tersedia
Pemelihara dapat membuat entri yang belum tersedia dengan Codex CLI terautentikasi. Ini adalah perintah pengembangan opsional, bukan sesuatu yang dijalankan oleh WordPress:
npm run i18n:translate -- --dry-run
npm run i18n:translate
Model default-nya adalah gpt-6-luna. Untuk mengerjakan satu lokal, gunakan npm run i18n:translate -- --locale fr_FR. Perintah ini mengekstrak string sumber terbaru, mengisi terjemahan yang belum ada, lalu mengompilasi file .mo, .l10n.php, dan .json untuk setiap skrip. Hanya string antarmuka publik, konteksnya, dan bentuk yang sudah ada yang dikirim ke Codex, bukan konten situs atau data pengguna.
Terjemahan yang sudah terisi tidak pernah diganti. Batch yang selesai disimpan, sehingga menjalankan ulang setelah terhenti akan melanjutkan pekerjaan yang belum selesai. Placeholder seperti %1$s, markup HTML, pengenal teknis, dan bentuk jamak yang diwajibkan divalidasi sebelum disimpan. Entri fuzzy dan bentuk jamak sumber yang berubah dibiarkan untuk ditinjau penerjemah. Tidak ada model cadangan jika model yang diminta tidak tersedia.
npm run i18n:locales secara eksplisit memperbarui daftar lokal dan aturan bentuk jamak dari WordPress/GlotPress. npm run i18n:coverage memeriksa kelengkapan setiap lokal dalam daftar yang disertakan di repositori. Pemeriksaan cakupan maupun CI normal tidak menggunakan AI atau mengambil data lokal. Lihat README repositori untuk opsi batching, konkurensi, dan pemulihan.
String yang dapat diterjemahkan dalam kode
- PHP: gunakan fungsi WordPress dengan domain teks
blockstudio, misalnya__( 'Invalid block.', 'blockstudio' ). - JavaScript: impor
__dari@/utils/__dan berikan string literal, misalnya__( 'Add row' ). String yang dirangkai saat runtime tidak dapat diterjemahkan, jadi gunakan satu string literal untuk setiap varian. - Bundel skrip baru yang berisi string yang dapat diterjemahkan memerlukan entri di
scripts/i18n.tsdan pemanggilanwp_set_script_translations()dengan handle danTranslations::script_path()yang sama.
Setelah mengubah string, jalankan npm run i18n. Perintah ini memperbarui languages/blockstudio.pot dan setiap file .po. String baru akan tetap dalam bahasa Inggris sampai penerjemah atau npm run i18n:translate mengisinya. CI menjalankan npm run i18n:check dan npm run i18n:coverage, yang menolak file hasil kompilasi yang usang, masalah ekstraksi, atau cakupan lokal yang tidak lengkap. Pembuatan tetap menjadi tindakan eksplisit maintainer.