Lewati ke konten

Analitik opsional, perekaman sesi, dan iklan tetap nonaktif kecuali Anda menerimanya. Anda dapat menolaknya dan tetap menggunakan Transglot. Ubah pilihan Anda kapan saja di Preferensi cookie. Kebijakan Cookie

untuk tim yang melakukan merge setiap hari

Lokalisasi berkelanjutan: setiap bahasa, di setiap merge.

Lokalisasi berkelanjutan menerjemahkan string baru dan yang berubah seiring perubahan kode Anda, bukan dalam fase terpisah sebelum setiap rilis. Setiap bahasa tetap siap diluncurkan bersama kode yang membutuhkannya.

Simulasi dua cara kerja, bukan pengukuran nyata. Tekan Merge a change dan baca kolom di sebelah kanan: itulah yang dilihat pengguna bahasa tersebut.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeauditerjemahkan
deGeschenkkarte hinzufügenditerjemahkan
jaギフトカードを追加diterjemahkan
arأضف بطاقة هديةditerjemahkan
pt-BRAdicionar vale-presentediterjemahkan
Bahasa yang bisa Anda rilis sekarang5 dari 5
String tertinggal dari maintidak ada
jawaban singkatnya

Apa itu lokalisasi berkelanjutan?

Lokalisasi berkelanjutan adalah cara kerja di mana string baru dan yang berubah dikirim untuk diterjemahkan secara otomatis segera setelah berubah, dan teks terjemahan kembali ke produk tanpa perlu dijadwalkan oleh siapa pun.

Tidak ada fase penerjemahan karena penerjemahan tidak pernah berhenti. Seorang pengembang menggabungkan string, terjemahan mengikuti alur yang sama dengan kode, dan rilis tidak menunggu file dari siapa pun.

Ini adalah setengah dari continuous delivery yang berfokus pada lokalisasi. Tim yang melakukan merge setiap hari dan menyerahkan terjemahan setiap beberapa minggu akan memiliki bahasa yang tertinggal dari kodenya selama sebagian besar bulan. Lokalisasi berkelanjutan memperkecil kesenjangan itu hingga sepanjang satu kali proses.

Ini tidak berarti output mesin langsung tayang tanpa dibaca. Anda memutuskan string mana yang memerlukan tinjauan manusia, dan rilis hanya dapat menyertakan konten yang telah ditinjau.

lokalasi berkelanjutan vs tradisional

Perbedaannya adalah kapan penerjemahan dilakukan, bukan siapa yang melakukannya.

Penerjemah, peninjau, dan glosarium ada di kedua kolom. Yang berbeda adalah kapan pekerjaan dimulai dan ukuran setiap bagian.
Berdampingan
Kapan penerjemahan terjadi
Dalam fase sebelum setiap rilis
Apa yang memicunya
Seseorang mengekspor file
Ukuran setiap bagian
String selama berminggu-minggu sekaligus
Apa yang ditunggu oleh rilis
File untuk kembali
Perubahan salinan terlambat
Perjalanan bolak-balik lainnya
Apa yang digunakan penerjemah sebagai acuan
Spreadsheet berisi string
Bahasa saat peluncuran
Bertahap, satu gelombang demi satu gelombang
satu string, dari awal hingga selesai

Cara kerja lokalisasi berkelanjutan

Ikuti satu string baru melalui siklusnya. Setiap tahap menunjukkan apa yang sebenarnya akan Anda lihat.

terminal Anda, atau log CI Anda
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
sumberAdd a {brand} gift card
frAjouter une carte cadeau {brand}Draf Glosa
de{brand}-Geschenkkarte hinzufügendari memori, 0 kata
ja{brand} ギフトカードを追加Draf Glosa
arأضف بطاقة هدية {brand}Draf Glosa
empat gerbang, satu proses
Placeholder1 diperbaiki
Bentuk jamaklulus
Istilah glosariumlulus
Durasilulus
ja · placeholder hilang, diperbaiki sekali, diperiksa ulangギフトカードを追加{brand} ギフトカードを追加
cart.save
sumber berubahSave Save draft
frEnregistrerditinjau oleh manusia: dipertahankan, dilaporkan kepada AndaSaran: Enregistrer le brouillon
deEntwurf speichernbaris mesin: diterjemahkan ulang
pull requestdiperbarui di tempat
Perbarui terjemahantransglot/sync → mainterbuka, satu per repositori
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
atau, pada pull request di GitHub, beri komentar/translate

Perubahan mencapai Transglot melalui CLI, GitHub Action, atau aplikasi di host Git Anda. File sumber diparsing dalam salah satu dari 20 format asli, dan setiap string dibandingkan dengan apa yang sudah dimiliki proyek. Hanya string baru dan yang berubah yang dilanjutkan.

Kecocokan tepat dari memori terjemahan mengisi baris dan tidak memakan biaya kata. Sisanya dikirim ke Glossa dengan glosarium, panduan gaya, dan konteks kunci tersebut.

Placeholder, bentuk jamak, istilah glosarium, dan panjang teks diperiksa pada setiap baris di setiap proses. Placeholder yang rusak, bentuk jamak yang hilang, atau istilah glosarium yang dilarang akan diperbaiki sekali lalu diperiksa ulang; jika gagal untuk kedua kalinya, terjemahan ditolak dan tidak dikirimkan. Baris yang hanya melebihi batas panjang tetap ditulis, dan mulai dari paket Tim, fitur persetujuan otomatis atau proses QA akan menandainya untuk tinjauan.

Proses tidak pernah menimpa baris yang telah diedit atau ditinjau oleh manusia. Jika sumbernya berubah nanti, teks tetap dipertahankan, proses menghitung baris tersebut dan memberi tahu Anda, serta mulai dari paket Tim, saran pembaruan akan menunggu di sampingnya agar seseorang dapat menerimanya.

Aplikasi Git melakukan commit file lokal ke satu cabang sinkronisasi dan menjaga satu pull request tetap mutakhir. Di GitHub, beri komentar /translate pada pull request dan file-file tersebut akan masuk ke cabang pull request itu sendiri. Atau publikasikan ke CDN, dan produk yang berjalan akan membaca perubahan tersebut tanpa perlu rilis sama sekali.

di mana tim mengalami masalah

Enam cara lokalisasi berkelanjutan bisa gagal, dan apa yang menghentikan masing-masingnya

Proses menimpa pekerjaan manusia

Setiap penulis memeriksa status baris terlebih dahulu: sebuah proses, kecocokan memori, dan push. Baris yang diedit atau ditinjau oleh manusia tetap dipertahankan, dan proses melaporkannya.

fr, ditinjau, sumber baru saja berubah

dipertahankan, dihitung, dilaporkan

String rusak mencapai produksi

Setiap token yang masuk harus keluar kembali. Pada proyek ICU, pesan yang akan menyebabkan error saat rendering tidak akan disertakan dalam pull request, konektor, dan paket CDN, serta diberi nama dalam proses run.

{count, plural, one {# article}

dikecualikan dari file, diberi nama dalam run

Repositori dipenuhi pull request bot

Satu cabang sinkronisasi dan satu pull request per repositori. Dua push cepat digabungkan ke dalamnya alih-alih membuka yang kedua.

#812 #815 #819 #823 pembaruan l10n

#812 transglot/sync, diperbarui di tempat

Edit sumber meninggalkan terjemahan lama

Setiap baris target mencatat sumber yang digunakan saat penulisan, sehingga string yang berubah diketahui kedaluwarsa di semua bahasa sekaligus, dan hanya kunci tersebut yang diproses ulang.

Simpan menjadi Simpan draf. fr, de, ja masih menampilkan Simpan

fr, de, ja diproses ulang pada satu kunci tersebut

Setiap run menagih seluruh proyek lagi

Ukuran run didasarkan pada apa yang berubah. String yang tidak berubah tidak dikirim, kecocokan memori yang tepat tidak memerlukan biaya kata, dan baris yang dimiliki seseorang ditolak sebelum ada pengeluaran.

file berisi 48.000 kata

run ini: 60 kata

Pull request setengah selesai menghapus file lokal

Jika server melaporkan tidak ada entri untuk suatu lokal, pull request menolak menimpa file yang memiliki konten, dan keluar dengan kode 1 sehingga pipeline berhenti di sana.

pull: 0 entri untuk ja, file berisi 1.204

menolak menimpa locales/ja.json dengan paket kosong

  • run 4182 fr: placeholder hilang dari draf, diperbaiki saat percobaan ulang
  • run 4182 de: 3 baris disimpan, dimiliki oleh seseorang
  • run 4182 ja: 41 baris dari memori, 0 kata
  • run 4183 ar: bentuk plural hilang setelah percobaan ulang, baris ditolak
  • pull ditulis locales/pt-BR.json
  • sync transglot/sync diperbarui, pull request #812
diukur terhadap dua yang Anda bandingkan

Ketiganya terhubung ke repositori Anda. Perbedaannya terletak pada apa yang terjadi saat Anda melakukan merge.

Dibaca dari halaman masing-masing perusahaan pada 5 November 2026. Baris harga berasal dari halaman perbandingan kami, yang tertaut di bawah, yang menampilkan paket dan perhitungannya. Harga dan paket dapat berubah, jadi periksa sebelum Anda memutuskan.

Transglot
String baru digabungkan
Diterjemahkan secara default
Push memulai proses. Pengaturan proyek dapat menonaktifkannya.
Terjemahan gagal dalam pemeriksaan
Diperbaiki sekali, lalu ditolak
Untuk placeholder rusak, bentuk plural, atau istilah terlarang, pada setiap baris di setiap proses. Kelebihan panjang dicatat. Pada proyek ICU, baris rusak tidak masuk ke pull, konektor, dan CDN.
Seseorang sudah mengedit baris tersebut
Proses menolak untuk menuliskannya
Hal yang sama berlaku untuk pencocokan memori dan push. Jika sumber berubah nanti, proses akan melaporkan baris tersebut.
Pull request pada repositori yang sibuk
Satu cabang, satu pull request
Diperbarui di tempat pada setiap push.
Apa yang dihitung oleh paket
Kata diterjemahkan, sekali per bahasa
Pencocokan memori eksak tidak dikenakan biaya. Menyimpan string tidak dikenakan biaya.
Yang membiayai AI
Kata dalam paket
Tidak ditagih secara terpisah.
Pekerjaan yang sama: 5,000 string dalam 10 bahasa
$39 per bulan
Team, terjemahan termasuk
GitHub, GitLab, Bitbucket, Azure Repos, CLI, dan server MCP
Semuanya
Aplikasi Git dimulai dari paket Team dan mencakup edisi cloud.
gunakan apa yang sudah Anda jalankan

Mulai dari mana pun string Anda berada. Setiap pintu menuju ke pipeline yang sama.

Memori, glosarium, gerbang, dan tinjauan yang sama, terlepas dari pintu mana string tersebut masuk.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
apa yang harus dilakukan pertama kali

Cara mengatur lokalisasi berkelanjutan

  1. Ekstrak string dari kode

    Setiap string yang terlihat oleh pengguna memerlukan kunci stabil dalam file lokal. Transglot mendukung 20 format, jadi gunakan format yang sudah Anda miliki.

  2. Hubungkan repositori

    Perintah init akan menemukan file lokal Anda, memproses login melalui browser, mengunggah konten yang sudah ada, dan menjalankan terjemahan pertama.

  3. Jalankan pada setiap penggabungan

    Tambahkan GitHub Action, panggil CLI dari CI lainnya, atau instal aplikasi untuk GitHub, GitLab, Bitbucket, atau Azure Repos.

  4. Tentukan apa yang memerlukan tinjauan manusia

    Atur min_state menjadi reviewed pada aturan pull agar file tersebut hanya memuat string yang telah ditinjau oleh manusia. Biarkan tidak diaktifkan jika draf boleh dirilis.

hitung sendiri berdasarkan angka Anda

Biaya untuk menjalankannya pada setiap penggabungan: kata-kata yang berubah.

Satu kata adalah kata sumber, dihitung sekali per bahasa target. Satu proses dijalankan berdasarkan perubahan, sehingga penggabungan yang menyentuh dua belas kata dalam lima bahasa dihitung sebagai enam puluh, terlepas dari besarnya proyek.

25
40
6
20,000
Kata per bulan26,000berdasarkan angka ini · 25 penggabungan per minggu, 40 kata masing-masing, 6 bahasa

Cukup dengan Starter: $19/mo, 300,000 kata per bulan.

Itu sekitar 9% dari kuota.

Proses pertama, sekali saja120,000String yang sudah ada di setiap bahasa. Terjemahan yang Anda impor tidak diterjemahkan ulang.

Ini hanya menghitung terjemahan. Pemeriksaan kualitas, draf suara merek, dan perbaikan juga dihitung sebagai kata, sedangkan kecocokan tepat dari memori tidak dikenai biaya. CLI dan GitHub Action dimulai dari paket Starter, sedangkan aplikasi untuk GitHub, GitLab, Bitbucket, dan Azure Repos dimulai dari paket Team.

apa yang tidak dapat dilakukannya untuk Anda

Tiga hal yang tidak diselesaikan oleh lokalisasi berkelanjutan

String masih terjebak dalam kode

Pipa hanya dapat menerjemahkan apa yang dapat dibacanya. String hard-code dan kalimat yang digabungkan dari berbagai bagian harus diperbaiki terlebih dahulu, dan ini biasanya menjadi alasan tertundanya peluncuran.

Tidak ada pemilik kata-kata

Otomasi memindahkan string. Otomasi tidak memutuskan bagaimana produk Anda menyebut sesuatu. Seseorang harus bertanggung jawab atas glosarium, atau bahasa yang tidak dibaca oleh siapa pun akan menyimpang tanpa disadari.

Teks yang memerlukan pertimbangan

Teks hukum, harga, dan slogan merek memerlukan penanganan manusia. Kirimkan untuk ditinjau dan jangan sertakan dalam file rilis sampai seseorang memberikan persetujuan.

FAQ Lokalisasi Berkelanjutan

Pertanyaan yang sering diajukan tim sebelum mengaktifkannya.

Apa itu lokalisasi berkelanjutan?
Cara kerja di mana string baru dan yang diubah dikirim ke penerjemahan secara otomatis saat berubah, dan teks terjemahan kembali ke produk tanpa penyerahan terjadwal. Ini menggantikan fase penerjemahan sebelum rilis dengan proses kecil setelah setiap perubahan.
Lokalisasi tradisional mengumpulkan string ke dalam satu file, mengirimkannya menjelang rilis, lalu menunggu. Lokalisasi berkelanjutan memproses setiap perubahan saat terjadi, sehingga pecahannya kecil, semua bahasa diluncurkan bersamaan, dan perubahan teks di akhir hanya memerlukan pemrosesan ulang satu kunci, bukan putaran bolak-balik lainnya.
Tidak. CI/CD membangun, menguji, dan merilis kode. Lokalisasi berkelanjutan menjaga agar terjemahan tetap berjalan seiring dengannya. Keduanya bertemu dalam pipa: dorongan yang menjalankan pengujian Anda juga dapat mengirim string untuk diterjemahkan dan mengembalikan filenya.
Tidak. Aplikasi untuk GitHub, GitLab, Bitbucket, dan Azure Repos merespons dorongan tanpa penambahan apa pun ke pipa Anda, dan konektor konten merespons perubahan di CMS atau toko. CLI dan GitHub Action tersedia jika Anda ingin mengintegrasikannya ke dalam alur kerja Anda sendiri.
Tidak. Draf dapat dirilis, atau aturan pull dapat membawa hanya konten yang telah ditinjau seseorang, file per file. Peninjau bekerja di editor dengan istilah glosarium, kecocokan memori, dan cuplikan layar di samping setiap baris.
Tidak. Sebuah proses, kecocokan memori, dan push semuanya memeriksa baris terlebih dahulu, dan baris yang telah diedit atau ditinjau seseorang akan dipertahankan. Jika sumbernya berubah nanti, teks tetap ada, proses menghitung baris tersebut dan melaporkannya, serta mulai dari paket Tim, saran pembaruan disertakan untuk diterima seseorang.
Ini justru paling penting bagi tim kecil, karena tidak ada seorang pun yang bertugas menangani penyerahan. Jika Anda merilis dalam satu bahasa tanpa rencana untuk bahasa kedua, hal ini dapat ditunda.
Ukuran proses ditentukan sebelum dimulai. Paket Gratis memiliki batas keras. Paket berbayar berhenti pada kuota yang diizinkan kecuali Anda mengaktifkan kelebihan pemakaian berbasis meteran, yang berhenti pada batas pengeluaran yang Anda tetapkan. Di CI, CLI keluar dengan kode 3 ketika proses akan melewati batas, sehingga pipa dapat menanganinya.
Ya, di GitLab.com, Bitbucket Cloud, dan Azure DevOps Services. Aplikasi tidak mencakup GitLab yang dikelola sendiri atau Bitbucket Data Center, tetapi CLI dapat berjalan di CI apa pun yang memiliki Node 22 dan dapat mengakses API.
Ya. Konektor konten membaca dari CMS, toko, atau pusat bantuan, dan konektor dua arah menulis kembali bahasa yang telah ditinjau. Beberapa hanya mendukung impor, dan halaman setiap konektor menyatakan hal tersebut.
Ya. Publikasikan lokal ke CDN dan produk Anda membacanya saat runtime melalui SDK runtime. URL terbaru di-cache selama enam puluh detik, setiap versi yang diterbitkan memiliki URL sendiri, dan dua puluh versi terakhir disimpan.
Importer akan memindahkan proyek, kunci, dan terjemahan yang ada dari Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Terjemahan yang diimpor dihitung sebagai pekerjaan manusia, sehingga tidak akan ditimpa saat dijalankan. Fitur ini gratis di semua paket dan hanya berjalan sekali.