Mühendislik//14 dk okuma

API-First Lokalizasyon: Çeviriyi Geliştirme İş Akışınıza Entegre Etmek

Eray Gündoğmuş
Paylaş

API-First Lokalizasyon: Çeviriyi Geliştirme İş Akışınıza Entegre Etmek

Temel Çıkarımlar

  • API-first lokalizasyon, manuel dosya alışverişinin yerini kod tabanınız ile çeviri yönetim sistemi arasındaki otomatik senkronizasyonla doldurur
  • CLI araçları ve CI/CD entegrasyonları, her dağıtımda çevirilerin senkronize kalmasını sağlayan push/pull iş akışlarını mümkün kılar
  • Webhook tabanlı bildirimler, çeviriler güncellendiğinde build'leri tetikler ve sürekli lokalizasyonu mümkün kılar
  • API-first yaklaşımlar, yeni diller için pazara çıkış süresini haftalardan saatlere indirir

API-First Lokalizasyon Nedir?

API-first lokalizasyon, çeviri yönetim sisteminin (TMS) REST API'lar, CLI araçları ve webhook'lar aracılığıyla tüm çeviri iş akışlarına programatik erişim sağladığı bir yaklaşımdır. Çeviri dosyalarını manuel olarak dışa/içe aktarmak yerine, geliştiriciler çeviri senkronizasyonunu doğrudan build ve dağıtım pipeline'larına entegre eder.

Geleneksel ve API-First İş Akışı Karşılaştırması

Geleneksel (Dosya Tabanlı)

  1. Geliştirici kaynak stringleri bir dosyaya aktarır (JSON, XLIFF vb.)
  2. Dosya TMS'e yüklenir veya çevirmenlere e-postayla gönderilir
  3. Çevrilmiş dosyalar günler/haftalar sonra geri gelir
  4. Geliştirici dosyaları indirir ve doğru dizinlere yerleştirir
  5. Geliştirici commit'ler ve deploy eder

Sorunlar: Manuel adımlar, versiyon kayması, merge çakışmaları, yavaş döngü süreleri.

API-First

  1. Geliştirici yeni stringleri CLI ile gönderir: better-i18n push
  2. TMS çevirmenleri yeni içerik hakkında bilgilendirir
  3. Çevirmenler TMS editöründe tam bağlamla çalışır
  4. Çeviriler tamamlandığında webhook CI/CD'yi tetikler
  5. Build son çevirileri çeker: better-i18n pull
  6. Dağıtım güncellenmiş çevirileri otomatik olarak içerir

Faydalar: Manuel dosya işleme yok, sürekli senkronizasyon, daha hızlı döngü süreleri.

API-First Lokalizasyonun Temel Bileşenleri

REST API

TMS API'si şu endpoint'leri sağlar:

POST /api/keys          — Yeni çeviri anahtarları oluştur
GET  /api/translations  — Bir locale için çevirileri getir
PUT  /api/translations  — Çevirileri güncelle
GET  /api/projects      — Projeleri ve durumlarını listele
POST /api/upload        — Kaynak dosyaları yükle
GET  /api/download      — Çevrilmiş dosyaları indir

CLI Aracı

Geliştirici kolaylığı için API'yi saran bir komut satırı aracı:

# Yeni kaynak stringleri TMS'e gönder
better-i18n push

# Son çevirileri çek
better-i18n pull --locale=de,fr,ja

# Çeviri durumunu kontrol et
better-i18n status

# Kod tabanını çevrilmemiş stringler için tara
better-i18n scan

Webhook'lar

Çeviriler değiştiğinde olay güdümlü bildirimler:

{
  "event": "translations.completed",
  "project": "my-app",
  "locale": "de",
  "completed_keys": 142,
  "total_keys": 142
}

CI/CD pipeline'larını, Slack bildirimlerini veya otomatik dağıtımları tetiklemek için webhook'ları kullanın.

CI/CD Entegrasyonu

Çeviri senkronizasyonunu build pipeline'ınıza entegre edin:

# GitHub Actions örneği
- name: Pull translations
  run: better-i18n pull --all
  env:
    BETTER_I18N_TOKEN: ${{ secrets.BETTER_I18N_TOKEN }}

- name: Build
  run: npm run build

API-First Lokalizasyonun Faydaları

FaydaEtki
Otomatik senkronizasyonManuel dosya yönetimi yok
Versiyon kontrolüÇeviriler kodla birlikte takip edilir
Sürekli teslimatYeni çeviriler her dağıtımla birlikte yayınlanır
Geliştirici deneyimiTanıdık CLI/API iş akışı
Daha hızlı pazara çıkışYeni diller haftalar değil saatler içinde
Azaltılmış hatalarDosya biçimi sorunları veya yanlış yerleştirilmiş dosyalar yok

Uygulama Kalıpları

Kalıp 1: Build Zamanı Pull

Build adımında çevirileri çekin. Çeviriler, build zamanında uygulamaya paketlenir.

En uygun: Statik siteler, önceden render edilmiş sayfalar, mobil uygulamalar.

Kalıp 2: Çalışma Zamanı Fetch

Çevirileri çalışma zamanında API'den getirin. Yeniden dağıtım gerektirmeden anında güncelleme sağlar.

En uygun: SPA'lar, dinamik web uygulamaları, gerçek zamanlı içerik.

Kalıp 3: Hibrit

İlk yükleme için build zamanında çevirileri çekin, acil düzeltmeler için çalışma zamanında güncellemeleri getirin.

En uygun: Hem performans hem esneklik gerektiren üretim uygulamaları.

SSS

API-first lokalizasyonu kullanmak için dosya biçimimi değiştirmem gerekiyor mu? Hayır. API-first TMS platformlarının çoğu standart biçimleri destekler (JSON, XLIFF, YAML, .strings, .xml) ve biçim dönüşümünü otomatik olarak gerçekleştirir.

Yeniden adlandırılan veya silinen çeviri anahtarlarını nasıl yönetirim? CLI scan komutu kullanılmayan anahtarları tespit eder. API endpoint'leri toplu anahtar işlemlerine olanak tanır. Çoğu TMS platformu anahtar yaşam döngüsünü takip eder ve yetim çevirileri işaretler.

Build sırasında API çalışmıyorsa ne olur? Yedek olarak önbelleğe alınmış çevirileri kullanın. Son başarılı pull'u versiyon kontrolünde saklayın; böylece API erişilemez olsa bile build'lerin her zaman bir temeli olur.

Birden fazla ortam için çevirileri nasıl yönetirim? Proje düzeyinde veya branch düzeyinde namespace kullanın. Bazı TMS platformları aynı proje için ortama özgü geçersiz kılmaları (staging, production) destekler.

API-first lokalizasyon küçük projeler için uygun mu? Evet. CLI push/pull iş akışı, birkaç yüz stringe sahip projeler için bile manuel dosya yönetiminden daha basittir. API entegrasyonunu kurmanın ek yükü, kazanılan zamana kıyasla minimumdur.

Comments

Loading comments...