Çoklu Dil Neden Önemlidir

Eğitim küreseldir. Almanya'daki bir dil okulunda Türkçe konuşan yöneticiler, İngilizce konuşan öğretmenler ve bir düzine farklı ülkeden öğrenciler vardır. Eğitime küresel hizmet vermek için bir platform kullanıcının dilini konuşmalıdır — kelimenin tam anlamıyla.

Zolinex'e çoklu dil desteği eklemeye başladığımızda sadece temel çeviri istemedik. Her kullanıcının platformun kendi dilinde oluşturulduğunu hissetmesini istedik.

Teknik Temel

Uluslararasılaştırma çerçevemiz olarak ngx-translate kullanıyoruz. Her dil, uygulamadaki her metin parçasını kapsayan 3.000'den fazla anahtar-değer çifti içeren kendi JSON çeviri dosyasına sahiptir.

Çeviri dosyaları, kullanıcının profilinde saklanan ve oturumlar arasında kalıcı olan dil tercihine göre dinamik olarak yüklenir. Dil değişikliği anındadır — sayfa yeniden yükleme gerekmez.

Desteklenen Diller

  • İngilizce, Almanca, Türkçe, İspanyolca, Fransızca, Arapça, Rusça, Çince, Japonca

Karşılaştığımız Zorluklar

1. Sağdan Sola (RTL) Desteği

Arapça sağdan sola yazılan bir dildir, bu da tüm UI düzeninin yansıtılması gerektiği anlamına gelir. CSS mantıksal özelliklerini ve global bir yön niteliği kullanarak RTL desteğini uyguladık.

2. Metin Genişlemesi

Almanca metin tipik olarak İngilizce metinden %30-40 daha uzundur. İngilizce "Save" yazan bir düğme Almanca "Speichern" olur. Bileşenlerimizi, metin genişlemesine uyum sağlayan esnek düzenlerle tasarladık.

3. Tarih, Saat ve Sayı Biçimlendirmesi

Farklı yerel ayarlar farklı biçimlendirme kurallarına sahiptir. Bu farklılıkları otomatik olarak ele almak için Angular'ın yerleşik yerel ayar sistemini kullanıyoruz.

4. Bağlama Duyarlı Çeviriler

"Kurs" kelimesi bağlama göre farklı şekilde çevrilir. Bunu genel anahtarlar yerine bağlamsal çeviri anahtarları kullanarak ele alıyoruz.

Gerçek anlamda uluslararası bir platform oluşturmak sadece çeviriyle ilgili değildir — farklı kültürlerin teknolojiyle nasıl etkileşime girdiğini anlamak ve buna göre uyum sağlamaktır.