Sürekli yerelleştirme: her dil, her birleştirmede.
Sürekli yerelleştirme, kodunuz değiştikçe yeni ve değişen dizeleri çevirir; bunu her sürüm öncesinde ayrı bir aşamada yapmak yerine yapar. Her dil, ihtiyaç duyulan kodla birlikte yayına hazır kalır.
Sürekli yerelleştirme nedir?
Sürekli yerelleştirme, yeni ve değişen dizelerin değiştiği anda otomatik olarak çeviriye gönderildiği ve çevrilen metnin kimsenin planlamasına gerek kalmadan ürüne geri döndüğü bir çalışma yöntemidir.
Çeviri asla durmadığı için bir çeviri aşaması yoktur. Bir geliştirici bir dizeyi birleştirdiğinde, çeviriler kodla aynı akışta ilerler ve bir sürüm kimsenin dosyasını beklemek zorunda kalmaz.
Bu, sürekli teslimatın yerelleştirme ayağıdır. Her gün birleştirme yapan ve her birkaç haftada bir çeviriyi devreden bir ekip, ayın çoğunda dillerini kodlarının gerisinde bırakır. Sürekli yerelleştirme bu açığı tek bir çalıştırma süresine indirir.
Makine çıktısının okunmadan yayına alınması anlamına gelmez. Hangi dizelerin bir kişi tarafından kontrol edilmesi gerektiğine siz karar verirsiniz ve bir sürüm yalnızca incelenmiş olanları içerebilir.
Fark, çevirinin ne zaman gerçekleştiğidir, kimin yaptığı değil.
| Değişiklikler | Toplu teslim | Sürekli |
|---|---|---|
| Yan yana | ||
| Çeviri ne zaman yapılır | Her sürümden önceki bir aşamada | Her dize değiştiğinde |
| Ne başlatır | Birisi bir dosyayı dışa aktarır | Bir push işlemi, birleştirme veya içerik değişikliği |
| Her bir parçanın boyutu | Tek seferde haftalarca süren dizeler | Bir değişiklikteki dizeler |
| Bir sürümün neyi beklediği | Dosyanın geri gelmesini | İşaretlediğiniz dizelerde gözden geçirme |
| Geç kalan bir kopya değişikliği | Başka bir gidiş-dönüş | O tek anahtarın yeniden çalıştırılması |
| Çevirmenin üzerinde çalıştığı şey | Dizelerin yer aldığı bir elektronik tablo | Satır; sözlük terimleri, bellek eşleşmeleri ve ekran görüntüleriyle birlikte |
| Lansmandaki diller | Kademeli, dalga dalga | Özellikle birlikte |
- Çeviri ne zaman yapılır
- Her sürümden önceki bir aşamada
- Ne başlatır
- Birisi bir dosyayı dışa aktarır
- Her bir parçanın boyutu
- Tek seferde haftalarca süren dizeler
- Bir sürümün neyi beklediği
- Dosyanın geri gelmesini
- Geç kalan bir kopya değişikliği
- Başka bir gidiş-dönüş
- Çevirmenin üzerinde çalıştığı şey
- Dizelerin yer aldığı bir elektronik tablo
- Lansmandaki diller
- Kademeli, dalga dalga
- Çeviri ne zaman yapılır
- Her dize değiştiğinde
- Ne başlatır
- Bir push işlemi, birleştirme veya içerik değişikliği
- Her bir parçanın boyutu
- Bir değişiklikteki dizeler
- Bir sürümün neyi beklediği
- İşaretlediğiniz dizelerde gözden geçirme
- Geç kalan bir kopya değişikliği
- O tek anahtarın yeniden çalıştırılması
- Çevirmenin üzerinde çalıştığı şey
- Satır; sözlük terimleri, bellek eşleşmeleri ve ekran görüntüleriyle birlikte
- Lansmandaki diller
- Özellikle birlikte
Sürekli yerelleştirme nasıl çalışır
Yeni bir dizenin döngü içindeki yolculuğunu takip edin. Her adımda gerçekten göreceğiniz şeyi gösterir.
Değişiklik, CLI, GitHub Action veya Git barındırıcınızdaki uygulama aracılığıyla Transglot’a ulaşır. Kaynak dosyalar 20 yerel formattan birinde ayrıştırılır ve her dize projede zaten bulunanlarla karşılaştırılır. Sadece yeni ve değiştirilen dizeler devam eder.
Çeviri belleğinden gelen tam eşleşme satırı doldurur ve kelime maliyeti oluşturmaz. Geriye kalanlar sözlüğünüz, stil rehberiniz ve ilgili anahtarın bağlamıyla birlikte Glossa'ya gönderilir.
Her çalıştırmadaki her satırda yer tutucular, çoğul formlar, sözlük terimleri ve uzunluk kontrol edilir. Bozuk bir yer tutucu, eksik bir çoğul formu veya yasaklı bir sözlük terimi bir kez onarılır ve tekrar kontrol edilir; ikinci kez başarısız olursa reddedilir, dağıtılmaz. Yalnızca uzunluk sınırını aşan bir satır yazılır ve Team planından itibaren otomatik onay veya bir QA çalıştırması incelemeye işaretler.
Bir çalıştırma, bir kişinin düzenlediği veya incelediği bir satırın üzerine asla yazmaz. Kaynak metin daha sonra değişirse, çeviri metni korunur, çalıştırma satırı sayar ve sizi bilgilendirir; Team planından itibaren önerilen bir güncelleme, biri kabul edene kadar yanında bekler.
Git uygulamaları yerel dosyaları tek bir senkronizasyon dalına commit eder ve tek bir çekme isteğini güncel tutar. GitHub'da bir çekme isteğine /translate yorumunu yapın; dosyalar o çekme isteğinin kendi dalına eklenir. Alternatif olarak CDN'e yayınlayın; çalışan ürün, herhangi bir sürüm çıkarmadan değişikliği okur.
Sürekli yerelleştirmenin yanlış gittiği altı durum ve her birini engelleyen çözüm
Bir çalıştırma kişinin emeğinin üzerine yazar
Her yazıcı önce satırın durumunu kontrol eder: bir çalıştırma, bir bellek eşleşmesi ve bir gönderim. Bir kişinin düzenlediği veya incelediği satır korunur ve çalıştırma bunu raporlar.
→fr, incelendi, kaynak yeni değişti
✓korundu, sayıldı, raporlandı
Bozuk bir dize üretime ulaşır
Giren her token geri çıkmak zorundadır. Bir ICU projesinde, render sırasında hata verecek bir mesaj pull request’e, bağlayıcıya ve CDN paketinin dışına çıkarılır ve çalıştırma bunu adlandırır.
→{count, plural, one {# article}
✓dosyadan çıkarıldı, çalıştırmada adlandırıldı
Depo bot pull request’leriyle dolup taşar
Her depo için bir senkronizasyon dalı ve bir pull request. İkinci bir tane açmak yerine iki hızlı push bunun üzerinde birleşir.
→#812 #815 #819 #823 l10n güncellemesi
✓#812 transglot/sync, yerinde güncellendi
Bir kaynak düzenlemesi eski çevirileri geride bırakır
Her hedef satır, yazıldığı kaynağı kaydeder; bu sayede değişen bir dizenin tüm dillerde güncel olmadığı anında bilinir ve yalnızca o anahtar yeniden çalıştırılır.
→Kaydet, Taslağı kaydet oldu. fr, de, ja hâlâ Kaydet diyor
✓fr, de, ja yalnızca o anahtar için yeniden çalıştırıldı
Her çalıştırma projenin tamamını tekrar faturalandırır
Bir çalıştırmanın boyutu değişenlere göre belirlenir. Değişmemiş bir dize gönderilmez, tam bellek eşleşmesi kelime başına maliyet oluşturmaz ve bir kişinin sahibi olduğu bir satır herhangi bir harcama yapılmadan önce reddedilir.
→dosya 48.000 kelime içeriyor
✓bu çalıştırma: 60 kelime
Yarıda kalmış bir pull request bir yerel dosyasını siler
Sunucu bir yerel ayar için giriş olmadığını bildirirse, pull request içeriği olan bir dosyanın üzerine yazmayı reddeder ve işlem hattının orada durması için çıkış kodu 1 ile sonlanır.
→pull: ja için 0 giriş, dosya 1.204 içeriyor
✓locales/ja.json boş bir paketle üzerine yazılmayı reddetti
- run 4182 fr: taslakta eksik yer tutucu, yeniden denemede düzeltildi
- run 4182 de: 3 satır korundu, bir kişi bunların sahibi
- run 4182 ja: bellekten 41 satır, 0 kelime
- run 4183 ar: yeniden denemeden sonra eksik çoğul formu, satır reddedildi
- pull locales/pt-BR.json yazıldı
- sync transglot/sync güncellendi, pull request #812
Üçü de deponuza bağlanır. Farklı olan şey, birleştirme yaptığınızda gerçekleşenlerdir.
5 Kasım 2026 tarihinde her şirketin kendi sayfalarından okunmuştur. Fiyat satırı aşağıda bağlantısı verilen karşılaştırma sayfalarımızdan gelir; burada plan ve hesaplamalar gösterilir. Fiyatlar ve planlar değişebilir, bu nedenle karar vermeden önce kontrol edin.
| Ne oluyor | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Yeni bir dize birleştirildi | Varsayılan olarak çevrilir Push işlemi çalıştırmayı başlatır. Bir proje ayarı bunu kapatır. | Kurulumu yaptıktan sonra çevrilir Otomasyonlar anahtar oluşturma ve dosya içe aktarma sırasında varsayılan olarak kapalıdır. Yapay zeka adımı içeren bir iş akışı kendi programına göre çalışır. | Etkinleştirdiğinizde çevrilir Ayarlar > Otomatik Çeviri altında, her yüklemeye çalışır. Git senkronizasyonu varsayılan olarak saatte bir çalışır. |
| Bir çeviri kontrolü başarısız olur | Bir kez onarılır, ardından reddedilir Her çalıştırmadaki her satırda bozuk bir yer tutucu, çoğul biçim veya yasaklı terim için. Uzunluk aşımı yazılır. ICU projesinde, bozuk satır çekme işlemine, bağlayıcılara ve CDN'e dahil edilmez. | Hata düzeyindeki bir kontrol düzenleyicide kaydetmeyi durdurur Her kontrol Kapalı, Uyarı veya Hata olarak ayarlanır. | Hata düzeyindeki bir kontrol kaydetmeyi durdurur Her kontrol Uyarı veya Hata olarak ayarlanır. |
| Bir kişi satırı zaten düzenledi | Çalıştırma bunu yazmayı reddeder Bellek eşleşmesi ve push işlemi de aynısını yapar. Kaynak daha sonra değişirse, çalıştırma satırı raporlar. | Otomasyonlar varsayılan olarak boş değerleri doldurur Zorla seçeneği ve temizleme eylemi, dolu olanların üzerine yazar. | Seçenekler insan tarafından düzenlenen ve onaylanan satırları korur Tümünü değiştir seçeneği de mevcuttur. |
| Yoğun bir depoda çekme istekleri | Tek dal, tek çekme isteği Her push işleminde yerinde güncellenir. | Her çekme isteği için yeni bir dal Zaman damgası ile adlandırılır. | Saatte bir senkronize edilen bir hizmet dalı Varsayılan saatte birdir ve aralık değiştirilebilir. |
| Planın saydığı şey | Dil başına bir kez çevrilen kelimeler Tam bellek eşleşmeleri ücretsizdir. Bir dizeyi depolamak ücretsizdir. | İşlenen kelimeler Temel dil ve hedef dilin her ikisi de sayılır. | Barındırılan kelimeler Çevrilecek kelimeler çarpı hedef diller. |
| Yapay zekayı ne finanse eder | Planın kelimeleri Ayrı olarak faturalandırılmaz. | Plana göre yapay zeka kelime limitleri Standart Yapay Zeka ve Pro Yapay Zeka kelimeleri, planda ayrı satırlardır. | Ayrı bir bakiye veya kendi anahtarınız Crowdin'in yönetilen yapay zekası, abonelik dışında kredilerle ödenir. |
| Aynı iş: 10 dilde 5,000 dize | aylık $39 Team, çeviri dahil | aylık $1,049 Advanced (billed yearly) | aylık $138 Pro with 560K hosted words (billed monthly), üzerine yapay zeka |
| GitHub, GitLab, Bitbucket, Azure Repos, bir CLI ve bir MCP sunucusu | Hepsi Git uygulamaları Team planından başlar ve bulut sürümlerini kapsar. | Hepsi Entegrasyonlar her planda mevcuttur. | Hepsi Ayrıca Bitbucket Server'ı da kapsar. |
- Yeni bir dize birleştirildi
- Varsayılan olarak çevrilirPush işlemi çalıştırmayı başlatır. Bir proje ayarı bunu kapatır.
- Bir çeviri kontrolü başarısız olur
- Bir kez onarılır, ardından reddedilirHer çalıştırmadaki her satırda bozuk bir yer tutucu, çoğul biçim veya yasaklı terim için. Uzunluk aşımı yazılır. ICU projesinde, bozuk satır çekme işlemine, bağlayıcılara ve CDN'e dahil edilmez.
- Bir kişi satırı zaten düzenledi
- Çalıştırma bunu yazmayı reddederBellek eşleşmesi ve push işlemi de aynısını yapar. Kaynak daha sonra değişirse, çalıştırma satırı raporlar.
- Yoğun bir depoda çekme istekleri
- Tek dal, tek çekme isteğiHer push işleminde yerinde güncellenir.
- Planın saydığı şey
- Dil başına bir kez çevrilen kelimelerTam bellek eşleşmeleri ücretsizdir. Bir dizeyi depolamak ücretsizdir.
- Yapay zekayı ne finanse eder
- Planın kelimeleriAyrı olarak faturalandırılmaz.
- Aynı iş: 10 dilde 5,000 dize
- aylık $39Team, çeviri dahil
- GitHub, GitLab, Bitbucket, Azure Repos, bir CLI ve bir MCP sunucusu
- HepsiGit uygulamaları Team planından başlar ve bulut sürümlerini kapsar.
- Yeni bir dize birleştirildi
- Kurulumu yaptıktan sonra çevrilirOtomasyonlar anahtar oluşturma ve dosya içe aktarma sırasında varsayılan olarak kapalıdır. Yapay zeka adımı içeren bir iş akışı kendi programına göre çalışır.
- Bir çeviri kontrolü başarısız olur
- Hata düzeyindeki bir kontrol düzenleyicide kaydetmeyi durdururHer kontrol Kapalı, Uyarı veya Hata olarak ayarlanır.
- Bir kişi satırı zaten düzenledi
- Otomasyonlar varsayılan olarak boş değerleri doldururZorla seçeneği ve temizleme eylemi, dolu olanların üzerine yazar.
- Yoğun bir depoda çekme istekleri
- Her çekme isteği için yeni bir dalZaman damgası ile adlandırılır.
- Planın saydığı şey
- İşlenen kelimelerTemel dil ve hedef dilin her ikisi de sayılır.
- Yapay zekayı ne finanse eder
- Plana göre yapay zeka kelime limitleriStandart Yapay Zeka ve Pro Yapay Zeka kelimeleri, planda ayrı satırlardır.
- Aynı iş: 10 dilde 5,000 dize
- aylık $1,049Advanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, bir CLI ve bir MCP sunucusu
- HepsiEntegrasyonlar her planda mevcuttur.
- Yeni bir dize birleştirildi
- Etkinleştirdiğinizde çevrilirAyarlar > Otomatik Çeviri altında, her yüklemeye çalışır. Git senkronizasyonu varsayılan olarak saatte bir çalışır.
- Bir çeviri kontrolü başarısız olur
- Hata düzeyindeki bir kontrol kaydetmeyi durdururHer kontrol Uyarı veya Hata olarak ayarlanır.
- Bir kişi satırı zaten düzenledi
- Seçenekler insan tarafından düzenlenen ve onaylanan satırları korurTümünü değiştir seçeneği de mevcuttur.
- Yoğun bir depoda çekme istekleri
- Saatte bir senkronize edilen bir hizmet dalıVarsayılan saatte birdir ve aralık değiştirilebilir.
- Planın saydığı şey
- Barındırılan kelimelerÇevrilecek kelimeler çarpı hedef diller.
- Yapay zekayı ne finanse eder
- Ayrı bir bakiye veya kendi anahtarınızCrowdin'in yönetilen yapay zekası, abonelik dışında kredilerle ödenir.
- Aynı iş: 10 dilde 5,000 dize
- aylık $138Pro with 560K hosted words (billed monthly), üzerine yapay zeka
- GitHub, GitLab, Bitbucket, Azure Repos, bir CLI ve bir MCP sunucusu
- HepsiAyrıca Bitbucket Server'ı da kapsar.
Dizelerinizin bulunduğu yerden başlatın. Her kapı aynı iş akışına ulaşır.
Sürekli yerelleştirme nasıl kurulur
- 01
Dizeleri koddan ayırın
Kullanıcıya gösterilen her dizenin yerel dosyasında sabit bir anahtarı olmalıdır. Transglot 20 formatı okur, bu yüzden mevcut olanı koruyun.
jsonyamlxliffarb - 02
Depoyu bağlayın
Init komutu yerel dosyalarınızı bulur, tarayıcı üzerinden oturum açmanızı sağlar, sahip olduğunuz içeriği yükler ve ilk çeviriyi çalıştırır.
npx transglot@latest init - 03
Her birleştirmede çalıştırın
GitHub Action'ı ekleyin, CLI'yı başka bir CI'dan çağırın veya GitHub, GitLab, Bitbucket ya da Azure Repos için uygulamayı yükleyin.
transglot push --wait - 04
Nelerin insan kontrolü gerektirdiğine karar verin
Bir çekme isteği kuralında min_state değerini reviewed olarak ayarlayın; böylece o dosya yalnızca bir kişi tarafından incelenmiş dizeleri taşır. Kapalı bırakırsanız taslaklar yayınlanır.
min_state: reviewed
Her birleştirmede çalıştırmanın maliyeti: değişen kelimeler.
Kelime, hedef dil başına bir kez sayılan bir kaynak kelimedir. Bir çalıştırma boyutu değişenlere göre belirlenir; bu nedenle beş dilde on iki kelimeyi değiştiren bir birleştirme, projenin büyüklüğünden bağımsız olarak altmış olarak sayılır.
Starter planına sığar: $19/mo, ayda 300,000 kelime.
Bu, kotanın yaklaşık %9'idir.
Bu yalnızca çeviriyi sayar. Kalite kontrolleri, marka sesi taslakları ve düzeltmeler de kelime olarak sayılır ve bellekten gelen tam eşleşmeler ücretsizdir. CLI ve GitHub Action Starter paketinden başlar; GitHub, GitLab, Bitbucket ve Azure Repos uygulamaları ise Team paketinden başlar.
Sürekli yerelleştirmenin çözmediği üç şey
Dizeler hala kodun içinde sıkışmış
Bir işlem hattı yalnızca okuyabildiği şeyleri çevirebilir. Sabit kodlanmış dizelerin ve parçalardan oluşturulan cümlelerin önce düzeltilmesi gerekir; bu durum, bir yayının takılmasının en yaygın nedenidir.
Kelimelerin sahibi yok
Otomasyon dizeleri taşır. Ürününüzün öğelere ne ad verdiğine karar vermez. Birinin sözlüğe sahip olması gerekir, aksi takdirde kimsenin okumadığı bir dil fark edilmeden sapmaya başlar.
Yargı gerektiren metinler
Hukuki metinler, fiyatlandırma ve marka sloganları bir kişinin dikkatini hak eder. Bunları incelemeye gönderin ve biri onaylayana kadar gönderilen dosyalardan uzak tutun.
Sürekli yerelleştirme SSS
Ekiplerin özelliği açmadan önce sorduğu sorular.
Sürekli yerelleştirme nedir?
Sürekli yerelleştirme geleneksel yerelleştirmeden nasıl farklıdır?
Sürekli yerelleştirme CI/CD ile aynı mıdır?
Sürekli yerelleştirme için bir CI/CD işlem hattına ihtiyacım var mı?
Sürekli yerelleştirme insan incelemesi olmadığı anlamına mı gelir?
Otomatik bir çalıştırma bir çevirmenin düzenlemesinin üzerine yazabilir mi?
Sürekli yerelleştirme küçük bir ekip için değerli midir?
Bir çalıştırmanın beklediğimden daha fazla maliyet oluşturmamasını nasıl sağlarım?
GitLab, Bitbucket ve Azure DevOps ile çalışır mı?
Git olmadan sürekli yerelleştirme yapabilir miyim?
Çeviriler bir sürüm olmadan güncellenebilir mi?
Mevcut bir projeyi nasıl aktarırım?
41 bağlayıcı, zaten hazır.
Bir depo bağlayın. Sonraki birleştirme geri kalanını halleder.
Tek bir komut yerel dosyalarınızı bulur, tarayıcı üzerinden giriş yapmanızı sağlar ve ilk çeviriyi çalıştırır.