Mühendislik//9 dk okuma

Developer-First Yerelleştirme Araçları: Mühendislik Ekipleri İçin Karşılaştırma Rehberi

Eray Gündoğmuş
Paylaş

Developer-First Yerelleştirme Araçları: Mühendislik Ekipleri İçin Karşılaştırma Rehberi

Temel Çıkarımlar

  • Developer-First yerelleştirme araçları, geleneksel çevirmen odaklı TMS özelliklerinden ziyade kod düzeyinde entegrasyon, CLI iş akışları ve type safety'yi ön planda tutar
  • Temel farklılaştırıcılar arasında framework'e özgü SDK'lar, TypeScript tip üretimi, Git-native iş akışları ve CI/CD pipeline entegrasyonu yer almaktadır
  • Mühendislik ekipleri yerelleştirme pipeline'ının sahibi olmaya başladıkça pazar, çevirmen odaklıdan developer-first yaklaşımlara doğru kaymıştır
  • Araçları değerlendirirken şunlara odaklanın: SDK kalitesi, dosya formatı desteği, CLI yetenekleri, CI/CD entegrasyonu ve fiyatlandırma modeli
  • En iyi seçim; stack'inize, ekip büyüklüğüne ve yerelleştirme iş akışını geliştiricilerin mi yoksa çevirmenlerin mi yönettiğine bağlıdır

Bir Araç Neden "Developer-First" Olarak Tanımlanır?

Bir Developer-First yerelleştirme aracı, çevirmenler veya yerelleştirme yöneticileri yerine yazılım mühendislerini birincil kullanıcı olarak alacak şekilde tasarlanmıştır. Bu ayrım, ürünün her yönünü etkiler:

Developer-First Özellikleri:

  • CLI'yı birincil arayüz olarak kullanma: Çevirileri bir web panosundan değil, terminalden push/pull etme
  • Framework SDK'ları: React, Next.js, Vue, Angular ve diğer framework'ler için resmi paketler
  • Type Safety: Çalışma zamanı hatalarını önleyen, çeviri anahtarları için oluşturulan TypeScript tipleri
  • Git Entegrasyonu: Çevirileri branch'ler, PR'lar ve versiyon kontrol iş akışlarıyla senkronize etme
  • CI/CD Desteği: Build pipeline'larında otomatik çeviri kontrolleri
  • Kod Düzeyinde API: Uygulama kodunda çeviri verilerine programatik erişim

Geleneksel TMS Özellikleri (karşılaştırma için):

  • Web editörü birincil arayüz olarak kullanma
  • Dosya yükleme/indirme iş akışları
  • Çevirmen üretkenlik araçlarına odaklanma (TM, sözlük, CAT özellikleri)
  • Sınırlı kod düzeyinde entegrasyon

Mühendislik Ekipleri İçin Değerlendirme Kriterleri

1. SDK ve Framework Desteği

Framework entegrasyonunun kalitesi, geliştirici verimliliğini doğrudan etkiler:

  • Framework'ünüz (React, Next.js, Vue vb.) için resmi SDK'lar sunuyor mu?
  • Type safety var mı — çeviri anahtarları için oluşturulan tipler mevcut mu?
  • SDK, server-side rendering (SSR) ve statik üretimi (SSG) destekliyor mu?
  • API ergonomik mit('key') bileşenlerde doğal olarak çalışıyor mu?
  • Belirli stack'iniz için kod örnekleri ve hızlı başlangıç kılavuzları var mı?

2. CLI ve İş Akışı

Geliştirici iş akışı entegrasyonu, günlük verimlilik için önemlidir:

  • Push/pull komutları: Terminalden çevirileri senkronize edebilir misiniz?
  • Anahtar çıkarma: CLI, yeni çeviri anahtarlarını bulmak için kodunuzu tarayabilir mi?
  • Diff farkındalığı: Senkronizasyonlar arasında neyin değiştiğini gösteriyor mu?
  • Script'lenebilir: CLI komutlarını build script'lerine ve Makefile'lara entegre edebilir misiniz?

3. CI/CD Entegrasyonu

Otomatik kalite kontrolleri, yerelleştirme sorunlarının production'a ulaşmasını engeller:

  • Build zamanı doğrulama: CI build'leri sırasında eksik çevirileri kontrol etme
  • PR kontrolleri: Çeviri tamlığı için otomatik yorumlar veya durum kontrolleri
  • Deployment senkronizasyonu: Deployment'ın bir parçası olarak en son çevirileri çekme
  • Webhook desteği: Çeviriler güncellendiğinde build'leri tetikleme

4. Dosya Formatı ve Veri Modeli

Çevirilerin yapılandırılma biçimi hem geliştirici hem de çevirmen deneyimini etkiler:

  • JSON, YAML, PO: Yaygın yazılım yerelleştirme formatları
  • İç içe anahtarlar: Hiyerarşik anahtar yapıları için destek (common.buttons.submit)
  • ICU Message Format: Çoğul, cinsiyet ve karmaşık mesaj biçimlendirme desteği
  • Anahtar namespace'leme: Çevirileri özellik veya bileşene göre düzenleme

5. Fiyatlandırma Modeli

Developer-First araçları farklı fiyatlandırma yaklaşımları kullanır:

  • Anahtar başına fiyatlandırma: Çeviri anahtarlarının sayısına göre ödeme
  • Kişi başına fiyatlandırma: Ekip üyesi (geliştirici, çevirmen) başına ödeme
  • Kullanım bazlı: API çağrılarına veya kelime sayısına göre ödeme
  • Sabit katman: Özellik kısıtlamaları olan katman başına sabit fiyat

Mühendislik ekipleri için kişi başına fiyatlandırma sorunlu olabilir, çünkü birçok ekip üyesinin erişime ihtiyacı vardır (geliştiriciler, PM'ler, QA, çevirmenler). Anahtar başına veya sabit katman modelleri çoğunlukla daha öngörülebilirdir.

Yaygın Developer-First Yaklaşımlar

SDK-Native Platformlar

Belirli framework'ler için resmi SDK paketleri sağlayan platformlar:

  • npm install @platform/react veya benzer framework paketleri sunar
  • Çeviri yükleme SDK tarafından yönetilir (manuel dosya yönetimi yok)
  • Tip üretimi otomatik veya iş akışına entegre edilmiş
  • Lazy loading ve locale değiştirme gibi çalışma zamanı özellikleri SDK tarafından yönetilir

Örnek iş akışı:

# SDK'yı kur
npm install @better-i18n/use-intl

# Çevirileri çek
better-i18n pull

# Kodda kullan
import { useTranslations } from '@better-i18n/use-intl'
const t = useTranslations('home')

Dosya Senkronizasyon Platformları

Çeviri dosyalarını deponuzla senkronize eden platformlar:

  • Çeviriler deponuzdaki dosyalar (JSON, YAML, PO) olarak saklanır
  • CLI aracı kaynak dosyaları push'lar ve çevrilmiş dosyaları pull'lar
  • Kendi i18n kütüphanenizi (react-intl, next-intl, vue-i18n vb.) seçersiniz
  • Platform çeviri iş akışını ve TM'yi yönetir

Örnek iş akışı:

# Kaynak dosyaları push'la
platform push src/locales/en.json

# Çevirmenler platform arayüzünde çalışır

# Tamamlanmış çevirileri pull'la
platform pull --output-dir src/locales/

Git-Native Platformlar

Git deponuzla doğrudan entegre olan platformlar:

  • Git push'larıyla tetiklenen otomatik senkronizasyon
  • Çeviri PR'ları otomatik olarak oluşturulur
  • Branch farkındalığı — çeviriler Git branch modelinizi takip eder
  • Ayrı bir push/pull adımına gerek yoktur

Hibrit Platformlar

Bazı platformlar hem SDK-native hem de dosya senkronizasyonu yaklaşımlarını sunarak ekiplerin ihtiyaçlarına göre seçim yapmasına olanak tanır.

Dikkat Edilmesi Gerekenler

1. SDK Lock-In

SDK-native platformlar en sorunsuz geliştirici deneyimini sağlar ancak bağımlılık oluşturabilir:

  • Platform değiştirirseniz çevirileri dışa aktarmak ne kadar kolaydır?
  • Çeviriler standart formatlarda (JSON, PO) mı yoksa özel formatlarda mı saklanır?
  • Platformu SDK olmadan kullanabilir misiniz (dosya tabanlı yedek)?

2. Type Safety Derinliği

Tüm "type-safe" iddiaları eşit değildir:

  • Yüzeysel: Üst düzey namespace için tipler (örn. useTranslations('namespace'))
  • Derin: Her anahtar için tipler (örn. t('hero.title') tam olarak tiplenmiş)
  • Parametre tipleri: ICU mesaj parametreleri tip kontrolüne tabi tutulur

3. Server-Side Rendering Desteği

Next.js ve Nuxt gibi framework'ler için:

  • SDK server component'lerde çalışıyor mu?
  • Ayrı bir server-side içe aktarma yolu var mı?
  • Statik üretim için build zamanında çeviriler yüklenebilir mi?
  • Streaming SSR destekleniyor mu?

4. Bundle Boyutu

Frontend SDK bundle boyutu, uygulama performansı için önemlidir:

  • SDK'nın çalışma zamanı bundle boyutu nedir?
  • Tree-shaking destekliyor mu?
  • Çeviriler route veya bileşene göre kod bölünmesiyle ayrıştırılabilir mi?
  • Locale verilerinin lazy loading'i destekleniyor mu?

Geçiş Değerlendirmeleri

react-intl / next-intl'den Geçiş

Manuel dosya yönetimiyle bağımsız bir i18n kütüphanesi kullanıyorsanız:

  1. JSON/ICU format dosyalarınızı dışa aktarın
  2. Yeni platforma içe aktarın
  3. Manuel dosya yüklemeyi SDK entegrasyonuyla kademeli olarak değiştirin
  4. Devam eden iş akışları için CI/CD senkronizasyonunu kurun

Geleneksel TMS'den Geçiş

Crowdin veya Lokalise gibi kurumsal bir TMS kullanıyorsanız:

  1. Çevirileri JSON veya XLIFF formatında dışa aktarın
  2. Çeviri belleğini TMX formatında dışa aktarın (mümkünse)
  3. Yeni platforma içe aktarın
  4. CI/CD pipeline'ınızı yeni CLI/API kullanacak şekilde güncelleyin
  5. Webhook entegrasyonlarını yeniden yapılandırın

Sık Sorulan Sorular

Yerelleştirme kütüphanesi ile TMS arasındaki fark nedir?

Bir yerelleştirme kütüphanesi (react-intl, next-intl, vue-i18n), uygulamanızda çalışma zamanı çeviri yükleme ve biçimlendirmeyi yönetir. Bir TMS, çeviri iş akışını yönetir — çevirmenlerin nerede çalıştığı, çevirilerin nasıl incelendiği ve bunların kod tabanınızla nasıl senkronize edildiği. Developer-First TMS platformları genellikle hem iş akışı yönetimini hem de çalışma zamanı kütüphanesini içerir.

Yalnızca 2-3 dil destekliyorsam TMS'e ihtiyacım var mı?

2-3 dil için, manuel JSON dosya düzenleme ve kod inceleme süreciyle yönetebilirsiniz. Çevirmenlerle işbirliği yapmanız, büyüyen içerikte tutarlılığı yönetmeniz veya çeviriler ile kod arasındaki senkronizasyonu otomatikleştirmeniz gerektiğinde TMS değerli hale gelir.

Developer-First araçlar profesyonel çevirmen iş akışlarını yönetebilir mi?

Çoğu Developer-First araç, çevirmenler için web tabanlı bir çeviri editörü içerir. Profesyonel çevirmenlerin beklediği gelişmiş CAT araç özelliklerinden (TM uyumu, hizalama, gelişmiş QA) yoksun olabilirler. Birincil çevirmenleriniz profesyonel dil uzmanlarıysa, geliştirici deneyiminin yanı sıra çevirmen deneyimini de değerlendirin.

Developer-First araçlarla çeviri kalitesini nasıl değerlendiririm?

Şunlara bakın: otomatik QA kontrolleri (eksik yer tutucular, uzunluk sınırları, biçimlendirme), inceleme iş akışları (çevirmen → denetçi onayı) ve raporlama (çeviri tamlığı, kalite ölçümleri). Bazı platformlar ayrıca harici kalite güvencesi araçlarıyla da entegre olur.

Karşılaştırma, Mart 2026 itibarıyla kamuya açık bilgilere dayanmaktadır.

Comments

Loading comments...