Langkau ke kandungan

Analisis pilihan, rakaman sesi dan pengiklanan kekal dimatikan melainkan anda menerima. Anda boleh menolaknya dan menggunakan Transglot. Tukar pilihan anda bila-bila masa di Keutamaan kuki. Dasar Kuki

untuk pasukan yang menggabungkan setiap hari

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.

Simulasi dua cara bekerja, bukan ukuran sebenar. Tekan Gabungkan perubahan dan baca lajur di sebelah kanan: itulah yang dilihat oleh pengguna bahasa tersebut.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeauditerjemah
deGeschenkkarte hinzufügenditerjemah
jaギフトカードを追加diterjemah
arأضف بطاقة هديةditerjemah
pt-BRAdicionar vale-presentediterjemah
Bahasa yang boleh anda lancarkan sekarang5 daripada 5
Rentetan tertinggal dari maintiada
jawapan ringkas

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.

penyetempatan berterusan vs tradisional

Perbezaannya ialah bila terjemahan berlaku, bukan siapa yang melakukannya.

Penterjemah, penyemak dan glosari wujud dalam kedua-dua lajur. Apa yang berbeza ialah bila kerja bermula dan saiz setiap bahagian.
Bersisian
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
satu rentetan, dari mula hingga selesai

Cara penterjemahan berterusan berfungsi

Ikuti satu rentetan baharu melalui kitaran. Setiap langkah 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 Glossa
de{brand}-Geschenkkarte hinzufügendari memori, 0 perkataan
ja{brand} ギフトカードを追加Draf Glossa
arأضف بطاقة هدية {brand}Draf Glossa
empat gerang, satu larian
Pemegang Tempat1 dibaiki
Bentuk jamaklulus
Istilah glosarilulus
Tempohlulus
ja · pemegang tempat hilang, dibaiki sekali, disemak semulaギフトカードを追加{brand} ギフトカードを追加
cart.save
sumber berubahSave Save draft
frEnregistrerdisemak oleh seseorang: dikekalkan, dilaporkan kepada andaCadangan: Enregistrer le brouillon
deEntwurf speichernbaris mesin: diterjemah semula
permintaan tarikdikemas kini di tempat
Kemas kini terjemahantransglot/sync → mainterbuka, satu per repositori
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
atau, pada permintaan tarik di GitHub, beri komen/translate

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.

di mana pasukan mengalami masalah

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
diukur berbanding dengan dua yang anda bandingkan

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.

Transglot
Rentetan baharu digabungkan
Diterjemah secara lalai
Tolakan memulakan pelaksanaan. Tetapan projek boleh mematikannya.
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.
Seseorang sudah mengedit baris tersebut
Pelaksanaan enggan menulisnya
Begitu juga padanan memori dan tolakan. Jika sumber berubah kemudian, pelaksanaan melaporkan baris tersebut.
Permintaan tarik pada repositori sibuk
Satu cabang, satu permintaan tarik
Dikemas kini di tempat pada setiap tolakan.
Apa yang dikira oleh pelan
Perkataan diterjemah, sekali setiap bahasa
Padanan memori tepat adalah percuma. Menyimpan rentetan teks juga percuma.
Apa yang membiayai AI
Perkataan dalam pelan
Ia tidak dikenakan bayaran secara berasingan.
Tugas yang sama: 5,000 rentetan dalam 10 bahasa
$39 sebulan
Team, terjemahan termasuk
GitHub, GitLab, Bitbucket, Azure Repos, CLI dan pelayan MCP
Semuanya
Aplikasi Git bermula pada pelan Team dan merangkumi edisi awan.
gunakan apa yang anda sudah jalankan

Mulakan dari mana sahaja rentetan anda berada. Setiap pintu menuju ke paip aliran yang sama.

Memori, glosari, gerbang dan semakan yang sama, tidak kira melalui pintu mana rentetan itu datang.
.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 perlu dilakukan dahulu

Cara menyediakan pelokalan berterusan

  1. 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.

  2. Sambungkan repositori

    Perintah init mencari fail setempat anda, mendayakan log masuk melalui pelayar, memuat naik apa yang sudah anda ada dan menjalankan terjemahan pertama.

  3. Jalankan pada setiap penggabungan

    Tambahkan Tindakan GitHub, panggil CLI dari CI lain, atau pasang apl untuk GitHub, GitLab, Bitbucket atau Azure Repos.

  4. 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.

buat pengiraan berdasarkan angka anda sendiri

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.

25
40
6
20,000
Perkataan sebulan26,000pada angka ini · 25 penggabungan seminggu, 40 perkataan setiap satu, 6 bahasa

Muat dalam Starter: $19/mo, 300,000 perkataan sebulan.

Ia adalah kira-kira 9% daripada elaun.

Larian pertama, sekali sahaja120,000Rentetan sedia ada anda dalam setiap bahasa. Terjemahan yang anda import tidak diterjemah semula.

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.

apa yang ia tidak akan lakukan untuk anda

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?
Cara bekerja di mana rentetan baru dan yang diubah dihantar untuk terjemahan secara automatik apabila ia berubah, dan teks terjemahan kembali ke produk tanpa penyerahan berjadual. Ia menggantikan fasa terjemahan sebelum pelepasan dengan pelaksanaan kecil selepas setiap perubahan.
Penyetempatan tradisional mengumpulkan rentetan ke dalam fail, menghantarnya keluar menjelang pelepasan dan menunggu. Penyetempatan berterusan mengalihkan setiap perubahan sebaik sahaja ia berlaku, jadi bahagiannya kecil, bahasa dilancarkan serentak, dan perubahan kandungan lewat hanya memerlukan pelaksanaan semula bagi satu kunci dan bukannya pusingan lain.
Tidak. CI/CD membina, menguji dan melepaskan kod. Penyetempatan berterusan memastikan terjemahan bergerak seiring dengannya. Mereka bertemu dalam saluran paip: tolakan yang menjalankan ujian anda juga boleh menghantar rentetan untuk terjemahan dan membawa balik fail tersebut.
Tidak. Aplikasi untuk GitHub, GitLab, Bitbucket dan Azure Repos bertindak balas terhadap tolakan tanpa sebarang tambahan pada saluran paip anda, dan penyambung kandungan bertindak balas terhadap perubahan dalam CMS atau kedai. CLI dan Tindakan GitHub tersedia jika anda mahukannya dalam aliran kerja anda sendiri.
Tidak. Draf boleh dihantar, atau peraturan tarik boleh membawa hanya apa yang telah disemak oleh seseorang, fail demi fail. Pengulas bekerja dalam editor dengan istilah glosari, padanan memori dan tangkapan skrin di sebelah setiap baris.
Tidak. Pelaksanaan, padanan memori dan tolakan semuanya menyemak baris terlebih dahulu, dan baris yang telah diedit atau disemak oleh seseorang akan kekal. Jika sumbernya berubah kemudian, teks itu kekal, pelaksanaan mengira baris tersebut dan melaporkannya, dan dari Pelan Pasukan, kemas kini cadangan disertakan untuk diterima oleh seseorang.
Ia paling penting bagi pasukan kecil, kerana tiada siapa yang bertanggungjawab menjalankan penyerahan. Jika anda menghantar dalam satu bahasa tanpa rancangan untuk bahasa kedua, ia boleh ditangguhkan.
Saiz pelaksanaan ditentukan sebelum ia bermula. Versi Percuma mempunyai had tegas. Pelan berbayar berhenti pada allowance melainkan anda mengaktifkan lebihan bermeter, yang berhenti pada had perbelanjaan yang anda tetapkan. Dalam CI, CLI keluar dengan kod 3 apabila pelaksanaan akan melepasi had, supaya saluran paip boleh bertindak balas.
Ya, di GitLab.com, Bitbucket Cloud dan Perkhidmatan Azure DevOps. Aplikasi ini tidak meliputi GitLab yang diurus sendiri atau Bitbucket Data Center, tetapi CLI berjalan dalam mana-mana CI yang mempunyai Node 22 dan boleh mencapai API.
Ya. Penyambung kandungan membaca daripada CMS, kedai atau pusat bantuan, dan penyambung dua hala menulis balik bahasa yang telah disemak. Sesetengahnya adalah import sahaja, dan halaman setiap penyambung menyatakan yang mana.
Ya. Terbitkan locale ke CDN dan produk anda membacanya semasa masa jalan melalui SDK masa jalan. URL terkini dicache selama enam puluh saat, setiap versi yang diterbitkan mengekalkan URLnya sendiri, dan dua puluh versi terakhir dikekalkan.
Pengimport membawa masuk projek, kunci dan terjemahan sedia ada dari Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Terjemahan yang diimport dikira sebagai kerja manusia, jadi tiada pelaksanaan akan menulis semula mereka. Ia percuma pada mana-mana pelan dan berjalan sekali sahaja.