Yazı yükleniyor...
Yazı yükleniyor...
Büyük ölçekli Frontend mimarilerinde (özellikle Arapça-İngilizce gibi çift yönlü/RTL desteği gerektiren projelerde), uluslararasılaştırma (i18n) süreçleri genellikle CI/CD boru hattının en zayıf halkasıdır.
4 yıllık Enterprise proje deneyimimde tekrar tekrar karşılaştığım temel problem şuydu: Çeviri bütünlüğü (translation integrity) genellikle runtime'a bırakılıyor.
Bu reaktif yaklaşım, production ortamında eksik anahtarlar (missing keys) veya kritik parametre uyuşmazlıkları nedeniyle UI kırılmalarına yol açıyor. Standart linter'lar sözdizimini denetlese de, dosya sistemine dağılmış yüzlerce parçalı çeviri dosyasının mantıksal tutarlılığını denetleyemiyor.
Bu mühendislik problemini çözmek için, build-time aşamasında çalışan, format bağımsız bir statik analiz aracı olan i18n-radar'ı geliştirdim.
Modern mimarilerde (Domain-Driven veya Feature-Based), çeviri dosyaları merkezi değildir; bileşenlerle birlikte yaşarlar (Colocation). Mevcut araçların yetersiz kaldığı noktalar şunlardı:
.ts veya .json dosyalarını efektif bir şekilde haritalayamamaları.{name} parametresi varken, "Target" dilde bunun unutulması veya yanlışlıkla {user} olarak isimlendirilmesi.Geliştirdiğim çözüm, CI/CD boru hattına entegre olan ve "Base Language" yapısını "Source of Truth" (Tek Gerçeklik Kaynağı) olarak kabul eden bir CLI aracıdır.
Temel Mimari Kararlar:
jiti entegrasyonu sağladım. Bu, aracı kullanılan framework'ten tamamen bağımsız hale getirdi.src/**/{lang}.ts) desteklemek için yüksek performanslı glob eşleştirme algoritmaları kullandım.{name} parametresi bekleniyordu, ancak {user} bulundu." Bu, debug süresini ciddi oranda düşürür.i18n-radar'ın geliştirme iş akışına entegrasyonun olası kazançları:
Bu araç şu an NPM üzerinde açık kaynak olarak yayınlanmıştır ve modern TypeScript/JavaScript ortamlarına kolayca entegre edilebilir.