Penyetempatan berterusan: setiap bahasa, pada setiap penggabungan.
Penyetempatan berterusan menterjemah rentetan baharu dan yang diubah apabila kod anda berubah, bukannya dalam fasa berasingan sebelum setiap pelepasan. Setiap bahasa sentiasa bersedia untuk dilancarkan bersama kod yang memerlukannya.
Apakah penyetempatan berterusan?
Penyetempatan berterusan ialah cara bekerja di mana rentetan baharu dan yang diubah dihantar untuk diterjemah secara automatik sebaik sahaja ia berubah, dan teks terjemahan kembali ke dalam produk tanpa perlu dijadualkan oleh sesiapa.
Tiada fasa terjemahan kerana terjemahan tidak pernah berhenti. Seorang pembangun menggabungkan rentetan, terjemahan mengikutinya dalam aliran yang sama dengan kod, dan pelepasan tidak menunggu fail sesiapa.
Ia merupakan separuh penyetempatan bagi penghantaran berterusan. Pasukan yang menggabungkan setiap hari dan menyerahkan terjemahan setiap beberapa minggu mempunyai bahasa yang tertinggal di belakang kodnya sepanjang kebanyakan bulan. Penyetempatan berterusan mengecilkan jurang itu kepada tempoh satu pusingan.
Ia tidak bermaksud output mesin disiarkan tanpa dibaca. Anda tentukan rentetan mana yang memerlukan manusia, dan pelepasan hanya boleh memuat apa yang telah disemak.
Perbezaannya ialah bila terjemahan berlaku, bukan siapa yang melakukannya.
| Apa yang berubah | Serahan berkelompok | Berkelanjutan |
|---|---|---|
| Bersisian | ||
| Bila penterjemahan berlaku | Dalam fasa sebelum setiap pelepasan | Apabila setiap rentetan berubah |
| Apa yang memulakannya | Seseorang mengeksport fail | Satu push, merge atau perubahan kandungan |
| Saiz setiap bahagian | Mingguan rentetan sekaligus | Rentetan dalam satu perubahan |
| Apa yang ditunggu oleh pelepasan | Fail untuk dikembalikan | Semakan, pada rentetan yang anda tandakan untuknya |
| Perubahan salinan lewat | Satu lagi pusingan pergi balik | Pengulangan semula bagi kunci tersebut |
| Apa yang digunakan oleh penterjemah | Hamparan rentetan | Baris, dengan istilah glosarinya, padanan memori dan tangkapan skrin |
| Bahasa semasa pelancaran | Berperingkat, satu gelombang selepas satu lagi | Bersama-sama, dengan ciri tersebut |
- Bila penterjemahan berlaku
- Dalam fasa sebelum setiap pelepasan
- Apa yang memulakannya
- Seseorang mengeksport fail
- Saiz setiap bahagian
- Mingguan rentetan sekaligus
- Apa yang ditunggu oleh pelepasan
- Fail untuk dikembalikan
- Perubahan salinan lewat
- Satu lagi pusingan pergi balik
- Apa yang digunakan oleh penterjemah
- Hamparan rentetan
- Bahasa semasa pelancaran
- Berperingkat, satu gelombang selepas satu lagi
- Bila penterjemahan berlaku
- Apabila setiap rentetan berubah
- Apa yang memulakannya
- Satu push, merge atau perubahan kandungan
- Saiz setiap bahagian
- Rentetan dalam satu perubahan
- Apa yang ditunggu oleh pelepasan
- Semakan, pada rentetan yang anda tandakan untuknya
- Perubahan salinan lewat
- Pengulangan semula bagi kunci tersebut
- Apa yang digunakan oleh penterjemah
- Baris, dengan istilah glosarinya, padanan memori dan tangkapan skrin
- Bahasa semasa pelancaran
- Bersama-sama, dengan ciri tersebut
Cara penterjemahan berterusan berfungsi
Ikuti satu rentetan baharu melalui kitaran. Setiap langkah menunjukkan apa yang sebenarnya akan anda lihat.
Perubahan sampai ke Transglot melalui CLI, GitHub Action atau apl pada hos Git anda. Fail sumber dihuraikan dalam salah satu daripada 20 format asli, dan setiap rentetan dibandingkan dengan apa yang sudah ada dalam projek. Hanya rentetan baharu dan yang diubah diteruskan.
Padanan tepat dari memori terjemahan mengisi baris dan tidak menggunakan sebarang perkataan. Apa yang tinggal dihantar ke Glossa bersama glosari, panduan gaya dan konteks kekunci tersebut.
Pemegang tempat, bentuk jamak, istilah glosari dan panjang disemak pada setiap baris bagi setiap pelaksanaan. Pemegang tempat yang rosak, bentuk jamak yang hilang atau istilah glosari yang dilarang dibaiki sekali dan disemak semula; jika gagal buat kali kedua, ia ditolak dan tidak dihantar. Baris yang hanya melebihi had panjangnya tetap ditulis, dan daripada pelan Pasukan, kelulusan automatik atau larian QA menandakannya untuk semakan.
Satu larian tidak pernah menulis ganti baris yang telah diedit atau disemak oleh seseorang. Jika sumbernya berubah kemudian, teks kekal, larian mengira baris tersebut dan memberitahu anda, serta daripada pelan Pasukan, cadangan kemas kini menunggu di sebelahnya untuk diterima oleh seseorang.
Aplikasi Git melakukan komit fail lokal ke satu cabang penyegerakan dan memastikan satu permintaan tarik (pull request) sentiasa dikemas kini. Di GitHub, komen /translate pada permintaan tarik dan fail-fail akan diletakkan pada cabang khusus permintaan tarik tersebut. Atau terbitkan ke CDN, dan produk yang sedang berjalan membaca perubahan tersebut tanpa memerlukan pelepasan sama sekali.
Enam cara penyetempatan berterusan menjadi salah, dan apa yang menghalang setiap satunya
Satu larian menulis ganti kerja seseorang
Setiap penulis memeriksa keadaan baris terlebih dahulu: satu larian, padanan memori dan tolakan. Baris yang telah diedit atau disemak oleh seseorang akan kekal, dan larian melaporkannya.
→fr, disemak, sumber baru sahaja berubah
✓disimpan, dikira, dilaporkan
Rentetan rosak sampai ke pengeluaran
Setiap token yang dimasukkan mesti dikeluarkan semula. Dalam projek ICU, mesej yang akan menimbulkan ralat semasa masa paparan dikecualikan daripada tarik, penyambung dan pakej CDN, serta dinamakan dalam pelaksanaan.
→{count, plural, one {# article}
✓dikecualikan daripada fail, dinamakan dalam pelaksanaan
Repositori dipenuhi dengan permintaan tarik bot
Satu cabang segerak dan satu permintaan tarik bagi setiap repositori. Dua tolakan pantas digabungkan padanya dan bukannya membuka yang kedua.
→#812 #815 #819 #823 kemas kini l10n
✓#812 transglot/sync, dikemas kini di tempat
Suntingan sumber meninggalkan terjemahan lama
Setiap baris sasaran merekodkan sumber yang ditulis terhadapnya, jadi rentetan yang diubah diketahui sudah lapuk dalam setiap bahasa serentak, dan hanya kekunci itu dijalankan semula.
→Simpan menjadi Simpan draf. fr, de, ja masih menyebut Simpan
✓fr, de, ja dijalankan semula pada satu kekunci itu
Setiap pelaksanaan mengecas keseluruhan projek sekali lagi
Pelaksanaan diukur berdasarkan apa yang berubah. Rentetan yang tidak berubah tidak dihantar, padanan memori tepat tidak menelan kos perkataan, dan baris yang dimiliki oleh seseorang ditolak sebelum sebarang perbelanjaan dilakukan.
→fail mengandungi 48,000 perkataan
✓pelaksanaan ini: 60 perkataan
Tarik separuh siap memadam fail lokal
Jika pelayan melaporkan tiada entri untuk suatu lokal, tarik menolak untuk menulis ganti fail yang mempunyai kandungan, dan keluar dengan kod 1 supaya paipelin berhenti di situ.
→tarik: 0 entri untuk ja, fail mengandungi 1,204
✓menolak untuk menulis ganti locales/ja.json dengan pakej kosong
- run 4182 fr: pemegang tempat hilang daripada draf, dibaiki pada percubaan semula
- run 4182 de: 3 baris disimpan, seseorang memilikinya
- run 4182 ja: 41 baris dari memori, 0 perkataan
- run 4183 ar: bentuk plural hilang selepas percubaan semula, baris ditolak
- pull ditulis locales/pt-BR.json
- sync transglot/sync dikemas kini, permintaan tarik #812
Ketiga-tiganya bersambung ke repositori anda. Perbezaannya ialah apa yang berlaku apabila anda gabung.
Dibaca daripada halaman setiap syarikat sendiri pada 5 November 2026. Baris harga berasal daripada halaman perbandingan kami, dipautkan di bawah, yang menunjukkan pelan dan pengiraan. Harga dan pelan berubah, jadi semak dahulu sebelum anda membuat keputusan.
| Apa yang berlaku | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Rentetan baharu digabungkan | Diterjemah secara lalai Tolakan memulakan pelaksanaan. Tetapan projek boleh mematikannya. | Diterjemah selepas anda menyediakannya Automasi dimatikan secara lalai semasa penciptaan kunci dan pengimportan fail. Aliran kerja dengan langkah AI berjalan mengikut jadualnya. | Diterjemah selepas anda mendayakannya Di bawah Tetapan, Terjemah Auto, ia kemudian berjalan pada setiap muat naik. Penyegerakan Git berjalan setiap jam secara lalai. |
| Terjemahan gagal dalam pemeriksaan | Dibaiki sekali, kemudian ditolak Untuk pemegang tempat yang rosak, bentuk plural atau istilah terlarang, pada setiap baris bagi setiap pelaksanaan. Had panjang ditulis. Pada projek ICU, baris yang rosak kekal di luar tarik, penyambung dan CDN. | Pemeriksaan tahap Ralat menghalang penyimpanan dalam editor Setiap pemeriksaan ditetapkan kepada Mati, Amaran atau Ralat. | Pemeriksaan tahap Ralat menghalang penyimpanan Setiap pemeriksaan ditetapkan kepada Amaran atau Ralat. |
| Seseorang sudah mengedit baris tersebut | Pelaksanaan enggan menulisnya Begitu juga padanan memori dan tolakan. Jika sumber berubah kemudian, pelaksanaan melaporkan baris tersebut. | Automasi mengisi nilai kosong secara lalai Pilihan paksa dan tindakan jelas akan menulis ganti atas yang telah diisi. | Pilihan mengekalkan baris manusia dan diluluskan Pilihan ganti semua juga tersedia. |
| Permintaan tarik pada repositori sibuk | Satu cabang, satu permintaan tarik Dikemas kini di tempat pada setiap tolakan. | Cabang baharu untuk setiap permintaan tarik Dinamakan dengan cap masa. | Cabang perkhidmatan, disegerakkan setiap jam Setiap jam adalah tetapan lalai, dan selang masa boleh diubah. |
| Apa yang dikira oleh pelan | Perkataan diterjemah, sekali setiap bahasa Padanan memori tepat adalah percuma. Menyimpan rentetan teks juga percuma. | Perkataan diproses Bahasa asas dan bahasa sasaran kedua-duanya dikira. | Perkataan dihoskan Perkataan untuk diterjemah, didarab dengan bilangan bahasa sasaran. |
| Apa yang membiayai AI | Perkataan dalam pelan Ia tidak dikenakan bayaran secara berasingan. | Had perkataan AI mengikut pelan Perkataan AI Standard dan AI Pro adalah barisan pelan tersendiri. | Baki berasingan, atau kunci anda sendiri AI terurus Crowdin dibayar menggunakan kredit, di luar langganan. |
| Tugas yang sama: 5,000 rentetan dalam 10 bahasa | $39 sebulan Team, terjemahan termasuk | $1,049 sebulan Advanced (billed yearly) | $138 sebulan Pro with 560K hosted words (billed monthly), AI tambahan |
| GitHub, GitLab, Bitbucket, Azure Repos, CLI dan pelayan MCP | Semuanya Aplikasi Git bermula pada pelan Team dan merangkumi edisi awan. | Semuanya Integrasi tersedia pada setiap pelan. | Semuanya Ia juga merangkumi Bitbucket Server. |
- Rentetan baharu digabungkan
- Diterjemah secara lalaiTolakan memulakan pelaksanaan. Tetapan projek boleh mematikannya.
- Terjemahan gagal dalam pemeriksaan
- Dibaiki sekali, kemudian ditolakUntuk pemegang tempat yang rosak, bentuk plural atau istilah terlarang, pada setiap baris bagi setiap pelaksanaan. Had panjang ditulis. Pada projek ICU, baris yang rosak kekal di luar tarik, penyambung dan CDN.
- Seseorang sudah mengedit baris tersebut
- Pelaksanaan enggan menulisnyaBegitu juga padanan memori dan tolakan. Jika sumber berubah kemudian, pelaksanaan melaporkan baris tersebut.
- Permintaan tarik pada repositori sibuk
- Satu cabang, satu permintaan tarikDikemas kini di tempat pada setiap tolakan.
- Apa yang dikira oleh pelan
- Perkataan diterjemah, sekali setiap bahasaPadanan memori tepat adalah percuma. Menyimpan rentetan teks juga percuma.
- Apa yang membiayai AI
- Perkataan dalam pelanIa tidak dikenakan bayaran secara berasingan.
- Tugas yang sama: 5,000 rentetan dalam 10 bahasa
- $39 sebulanTeam, terjemahan termasuk
- GitHub, GitLab, Bitbucket, Azure Repos, CLI dan pelayan MCP
- SemuanyaAplikasi Git bermula pada pelan Team dan merangkumi edisi awan.
- Rentetan baharu digabungkan
- Diterjemah selepas anda menyediakannyaAutomasi dimatikan secara lalai semasa penciptaan kunci dan pengimportan fail. Aliran kerja dengan langkah AI berjalan mengikut jadualnya.
- Terjemahan gagal dalam pemeriksaan
- Pemeriksaan tahap Ralat menghalang penyimpanan dalam editorSetiap pemeriksaan ditetapkan kepada Mati, Amaran atau Ralat.
- Seseorang sudah mengedit baris tersebut
- Automasi mengisi nilai kosong secara lalaiPilihan paksa dan tindakan jelas akan menulis ganti atas yang telah diisi.
- Permintaan tarik pada repositori sibuk
- Cabang baharu untuk setiap permintaan tarikDinamakan dengan cap masa.
- Apa yang dikira oleh pelan
- Perkataan diprosesBahasa asas dan bahasa sasaran kedua-duanya dikira.
- Apa yang membiayai AI
- Had perkataan AI mengikut pelanPerkataan AI Standard dan AI Pro adalah barisan pelan tersendiri.
- Tugas yang sama: 5,000 rentetan dalam 10 bahasa
- $1,049 sebulanAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, CLI dan pelayan MCP
- SemuanyaIntegrasi tersedia pada setiap pelan.
- Rentetan baharu digabungkan
- Diterjemah selepas anda mendayakannyaDi bawah Tetapan, Terjemah Auto, ia kemudian berjalan pada setiap muat naik. Penyegerakan Git berjalan setiap jam secara lalai.
- Terjemahan gagal dalam pemeriksaan
- Pemeriksaan tahap Ralat menghalang penyimpananSetiap pemeriksaan ditetapkan kepada Amaran atau Ralat.
- Seseorang sudah mengedit baris tersebut
- Pilihan mengekalkan baris manusia dan diluluskanPilihan ganti semua juga tersedia.
- Permintaan tarik pada repositori sibuk
- Cabang perkhidmatan, disegerakkan setiap jamSetiap jam adalah tetapan lalai, dan selang masa boleh diubah.
- Apa yang dikira oleh pelan
- Perkataan dihoskanPerkataan untuk diterjemah, didarab dengan bilangan bahasa sasaran.
- Apa yang membiayai AI
- Baki berasingan, atau kunci anda sendiriAI terurus Crowdin dibayar menggunakan kredit, di luar langganan.
- Tugas yang sama: 5,000 rentetan dalam 10 bahasa
- $138 sebulanPro with 560K hosted words (billed monthly), AI tambahan
- GitHub, GitLab, Bitbucket, Azure Repos, CLI dan pelayan MCP
- SemuanyaIa juga merangkumi Bitbucket Server.
Mulakan dari mana sahaja rentetan anda berada. Setiap pintu menuju ke paip aliran yang sama.
Cara menyediakan pelokalan berterusan
- 01
Keluarkan rentetan daripada kod
Every user-facing string needs a stable key in a locale file. Transglot reads 20 formats, so keep the one you have.
jsonyamlxliffarb - 02
Sambungkan repositori
Perintah init mencari fail setempat anda, mendayakan log masuk melalui pelayar, memuat naik apa yang sudah anda ada dan menjalankan terjemahan pertama.
npx transglot@latest init - 03
Jalankan pada setiap penggabungan
Tambahkan Tindakan GitHub, panggil CLI dari CI lain, atau pasang apl untuk GitHub, GitLab, Bitbucket atau Azure Repos.
transglot push --wait - 04
Tentukan apa yang memerlukan campur tangan manusia
Tetapkan min_state kepada reviewed pada peraturan tarik dan fail itu hanya membawa rentetan yang telah disemak oleh manusia. Biarkannya dimatikan dan draf akan dihantar.
min_state: reviewed
Kos untuk menjalankannya pada setiap penggabungan: perkataan yang berubah.
Satu perkataan ialah perkataan sumber, dikira sekali bagi setiap bahasa sasaran. Satu larian bersaiz berdasarkan perubahan, jadi penggabungan yang menyentuh dua belas perkataan dalam lima bahasa mengira enam puluh, tidak kira seberapa besar projek tersebut.
Muat dalam Starter: $19/mo, 300,000 perkataan sebulan.
Ia adalah kira-kira 9% daripada elaun.
Ini hanya mengira terjemahan. Semakan kualiti, draf suara jenama dan pembaikan juga dikira sebagai perkataan, dan padanan tepat dari memori tidak dikenakan kos. CLI dan Tindakan GitHub bermula pada Pelan Starter, dan apl untuk GitHub, GitLab, Bitbucket dan Azure Repos bermula pada Pelan Team.
Tiga perkara yang tidak diselesaikan oleh penyetempatan berterusan
Rentetan masih terperangkap dalam kod
Saluran paip hanya boleh menterjemah apa yang boleh dibacanya. Rentetan yang dikod keras dan ayat yang digabungkan daripada bahagian perlu dibaiki dahulu, dan ia merupakan sebab biasa mengapa pelancaran terbantut.
Tiada pemilik untuk perkataan
Automasi mengalihkan rentetan. Ia tidak memutuskan apa yang dipanggil oleh produk anda. Seseorang perlu memiliki glosari, atau bahasa yang tiada siapa baca akan hanyut tanpa disedari.
Kandungan yang memerlukan pertimbangan
Teks undang-undang, harga dan barisan jenama wajar dikendalikan oleh manusia. Hantar untuk semakan dan keluarkan daripada fail yang dihantar sehingga seseorang meluluskannya.
Soalan Lazim Penyetempatan Berterusan
Soalan yang ditanya oleh pasukan sebelum mengaktifkannya.
Apakah penyetempatan berterusan?
Bagaimanakah penyetempatan berterusan berbeza daripada penyetempatan tradisional?
Adakah penyetempatan berterusan sama dengan CI/CD?
Adakah saya memerlukan saluran paip CI/CD untuk penyetempatan berterusan?
Adakah penyetempatan berterusan bermaksud tiada semakan manusia?
Bolehkah pelaksanaan automatik menimpa edit penterjemah?
Adakah penyetempatan berterusan berbaloi untuk pasukan kecil?
Bagaimana saya menghalang kos pelaksanaan melebihi jangkaan?
Adakah ia berfungsi dengan GitLab, Bitbucket dan Azure DevOps?
Bolehkah saya melakukan penyetempatan berterusan tanpa Git?
Bolehkah terjemahan dikemas kini tanpa pelepasan?
Bagaimana saya memindahkan projek sedia ada?
41 penyambung, sedia dibina.
Sambungkan repositori. Gabungan seterusnya akan menguruskan selebihnya.
Satu arahan mencari fail locale anda, log masuk anda melalui pelayar dan menjalankan terjemahan pertama.