- 1) Klasik model vs. sürekli yerelleştirme
 - 2) Mimarinin bileşenleri
 - 3) Repo → TMS → PR/MR akışı (adım adım)
 - 4) Otomasyon örneği (CI job – satır satır)
 - 5) Branch ve sürüm stratejileri
 - 6) Otomatik LQA tetikleme ve paketleme
 - 7) ICU ve doğrulama adımları
 - 8) Geriye dönük TM bakımı
 - 9) Ölçüm ve görünürlük
 - 10) SSS (mini)
 - 11) İlgili içerik ve sonraki adım
 
Özet: Sürekli yerelleştirme, ürün geliştirme döngüsüne entegre edilen ve yeni/ değişen metinlerin otomatik olarak çıkarılıp çevrilerek düzenli aralıklarla yayına hazırlandığı bir yaklaşımdır. Bu kılavuz; klasik modele kıyasla farkları, repo → TMS → PR/MR akışını, CI job örneklerini (satır satır), branch/sürüm stratejilerini, otomatik LQA tetikleme ve paketlemeyi ve geriye dönük TM bakımını adım adım açıklar.
Bağlam: Yerelleştirme Hizmetleri
1) Klasik model vs. sürekli yerelleştirme
1.1) Klasik model
- Döngü: metinlerin toplanması → çeviri → revizyon → tek seferlik teslim.
 - Avantaj: Proje bazlı kontrol; tek seferlik yayınlarda pratik.
 - Risk: Sık güncellenen ürünlerde bekleme/kümülatif birikim, piyasa çıkış süresinin uzaması.
 
1.2) Sürekli model
- Döngü: her commit/merge sonrasında otomatik çıkarım → TMS’e yükleme → onaylı çeviriyi geri çekme → build/test/paket.
 - Avantaj: Daha kısa pazara çıkış süresi; küçük partilerle düşük hata riski.
 - Gereksinim: CI/CD boru hattı, TMS entegrasyonu, ICU/lint ve LQA adımları.
 
2) Mimarinin bileşenleri
- Repo: Kaynak kod ve kaynak metinler; i18n çıkarım betikleri.
 - TMS: Segment eşleştirme, TM/TermBase, iş akışı ve onay durumları.
 - CI runner: Çıkarım, upload/download, lint, build ve test işlerini koşturur.
 - Ortamlar: Test/ön üretim/üretim; dil seçici ve sürüm takibi.
 - Güvenlik: TMS token/anahtarları için gizli değişkenler.
 
3) Repo → TMS → PR/MR akışı (adım adım)
- Geliştirici yeni/ değişen metinleri push eder.
 - CI, i18n çıkarım betiğini çalıştırır ve kaynak dosyasını oluşturur.
 - Kaynak dosyası TMS’e yüklenir; uygun projede iş akışı başlar.
 - TMS, TM/TermBase eşleşmesi ve çeviri/inceleme adımlarını yürütür.
 - Onaylı çeviriler CI tarafından indirilir; hedef dil dosyaları güncellenir.
 - ICU/lint ve temel UI kontrolleri çalışır; hatalar raporlanır.
 - PR/MR açılır; kod inceleme ile birlikte dil dosyaları gözden geçirilir.
 - Merge sonrasında build/test çalışır; paket ilgili ortama dağıtılır.
 
Ayrıntılı dilsel ve kozmetik kontroller için bkz. L10n QA Kontrol Listesi.
4) Otomasyon örneği (CI job – satır satır)
4.1) GitHub Actions (örnek satırlar)
name: i18n-pipelineon: [push, pull_request]jobs:i18n:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Extract stringsrun: npm run i18n:extract- name: Upload to TMSrun: npx tms-cli upload --src locale/source.pot --project $TMS_PROJECT --token $TMS_TOKEN- name: Download approvedrun: npx tms-cli download --out locale/ --status approved- name: ICU lintrun: npx icu-lint "locale/**/*.json"- name: Buildrun: npm run build
4.2) GitLab CI (örnek satırlar)
stages: [extract, translate, test, build]extract:stage: extractscript:- npm ci- npm run i18n:extract- npx tms-cli upload --src locale/source.pot --project $TMS_PROJECT --token $TMS_TOKENtranslate:stage: translatescript:- npx tms-cli download --out locale/ --status approvedtest-i18n:stage: testscript:- npx icu-lint "locale/**/*.json"build:stage: buildscript:- npm run build
Not: Gerçek TMS/CLI komutları kullandığınız araca göre değişebilir. Örnek satırlar akışı göstermek içindir.
5) Branch ve sürüm stratejileri
- Main/Release dalları: Üretim için kararlı sürümler; dil dosyaları burada self-canonical ve imzalı yayın süreçlerine uyar.
 - Feature dalları: Geliştirilen özelliklerle birlikte dil anahtarları; i18n çıkarımı her push’ta tetiklenir.
 - String freeze: Yayın öncesi kısa dondurma penceresi; yalnızca çeviri/QA kabul edilir.
 - Hotfix: Kritik metin hataları için küçük yama dalları; TM’e geri yazmayı unutmayın.
 
6) Otomatik LQA tetikleme ve paketleme
- Ekran görüntüsü toplama: CI, temel akışlarda otomatik gezintiyle ekran görüntüleri üretir.
 - Pseudo-localization modu: Belirli job’larda i18n pseudo etkinleştirilir; taşma ve yön hataları görünür.
 - Artifact: LQA ekran seti ve bulgu şablonu tek paket olarak saklanır/iletilir.
 - Onay kapısı: Dilsel/kapsam hataları sıfır-kritik seviyesine inmeden deploy job’u çalışmaz.
 
LQA maddeleri için ayrıntılar: L10n QA Kontrol Listesi.
7) ICU ve doğrulama adımları
- ICU lint: 
plural/selectkalıplarındaotherve değişken adları doğrulanır. - JSON şema: Dil dosyası şemasıyla anahtar ve tip kontrolü.
 - Gerçekleme testleri: Kritik ekranlarda yerleştirme hatası, sayısal/tarih biçimleri ve boş/placeholder metinler.
 - Kaynak hijyeni: Geliştiriciler için ICU kısa kılavuzu: ICU MessageFormat & Placeholder Kılavuzu.
 
8) Geriye dönük TM bakımı
- Tekilleştirme: Yinelenen segmentlerin TM’de birleştirilmesi; çakışan çevirilerin uyumlandırılması.
 - Alanlara ayırma: Ürün modülü/özellik bazlı TM segment kümeleri.
 - Kalite işaretleri: Onaylı/incelemede/retli segment etiketleri; yayın sonrası geri bildirimle güncelleme.
 - Paylaşım: Kurumla periyodik TMX paylaşımı; NDA ve veri koruma ilkelerine uygun şekilde.
 
9) Ölçüm ve görünürlük
- Çevrim süresi: Kaynak değişikliği → onaylı çeviri → üretime geçiş süresi.
 - TM yararlanma oranı: Yüksek tekrar/benzerlikten gelen kazanımlar.
 - Hata kaçağı: Yayın sonrası dilsel/kozmetik bulguların trendi.
 - Kapsam: Hedef dillerin kapsama yüzdesi; eksik anahtarların takibi.
 
10) SSS (mini)
CI/CD olmadan sürekli yerelleştirme mümkün mü?
Kısmen. Manuel yükleme/indirme ile yapılabilir; ancak süreklilik, kalite ve hız için CI job’ları kritik önemdedir.
Hangi adımı önce eklemeliyim?
Öncelik: i18n çıkarımı → TMS upload/download → ICU/lint → LQA ekran seti → deploy kapısı.
Hangi dilleri önce dahil etmeliyim?
En yüksek trafiğe veya gelir potansiyeline sahip 1–3 dil ile başlayıp boru hattı oturduktan sonra genişletin.
11) İlgili içerik ve sonraki adım
- Yazılım ve Uygulama Yerelleştirme Rehberi
 - L10n QA Kontrol Listesi
 - Sürekli Yerelleştirme (CI/CD) Nedir? – Blog
 
Projeniz için sürekli yerelleştirme hattını birlikte kuralım: Teklif Al > İletişim (Formu)


