Konu Başlıkları
Yükleniyor...

Yerelleştirme Çeviriyle Bitmez: Arayüzün Uluslararası Hali

Çok dilli arayüzde ilk bozulan yerler

Bir arayüzü başka bir dile açmak, metin dosyasını çevirmenden geri almakla bitmiyor. Asıl kırılmalar çeviriden sonra başlıyor: taşan butonlar, yanlış çoğul biçimleri, ters yönde akan sayfalar, alfabetik olduğu sanılan listeler. Bunların çoğu tasarımda değil, kodun sessizce yaptığı varsayımlarda saklı.

Metin uzar, düzen ilk orada çatlar

Aynı butonun etiketi bir dilde tek kelime, başka dilde üç kelime olur. Sabit genişlikli bir butona "Kaydet" sığar, "Ayarları kaydet ve çık" sığmaz; sığmadığında ya taşar ya üç noktayla kesilir, ikisi de kullanıcıya ne yapacağını söylemez.

Bunu çeviriyi beklemeden görebilirsin. Sahte yerelleştirme yap: tüm metinleri otomatik olarak aksanlı ve uzatılmış karşılıklarıyla değiştir, arayüzü o halde gez. Taşan kutular da çevrilmeyi bekleyen sabit metinler de aynı turda ortaya çıkar, çünkü değişmeden kalan her cümle koda gömülü demektir.

Çeviri dosyası eksiksiz diye bir arayüzü çok dile hazır saymam.

Çoğul iki dalla çözülmez

Kodda en sık görülen çözüm şu: sayı bire eşitse tekil, değilse çoğul. İngilizce için yeterli, Türkçe için baştan yanlış. Türkçede sayıdan sonra çoğul eki gelmez, "3 mesaj" doğru yazımdır. Lehçede üç ayrı biçim var, Arapçada daha fazlası.

Bunu koşul ekleyerek çözmek her yeni dilde bir dal daha eklemek demek. Çoğul kurallarını kendi tarafında tutan bir biçimlendirme katmanı kullan (ICU çoğul kalıpları ya da tarayıcıdaki Intl.PluralRules), metni de tek parça bırak. Cümleyi ikiye bölüp sayıyı ortasına yapıştırmak, kelime sırası değişen dillerde ayrıca bozulur.

Tarih ve sayı biçimleri hata vermeden yanlış olur

03/04/2026 iki farklı gün demek ve hangisi olduğunu ekrandan anlamanın yolu yok. Aynı şekilde 1.500 Türkçede bin beş yüz, İngilizcede bir buçuk eder. Bu ikisi ekranda kırmızı yanmaz, sadece yanlış okunur.

Tarihi ve sayıyı metinle elle birleştirme, yerel ayarı bilen biçimlendiriciye ver. Kısaltılmış tarih yerine ay adını yazdırmak da çoğu ekranda sorunu tek başına bitirir.

Yön değişince her şey aynalanmaz

Sağdan sola yazılan dillerde düzenin aynalanması beklenir: menü, hizalama, ilerleme çubuğu, "ileri" oku. Ama saat yönü değişmez, telefon numarası ters yazılmaz, logo aynalanmaz. Otomatik bir çevirme kuralı bu istisnaları bilmez, tek tek işaretlemen gerekir.

Simgelerde sorun başka türlü çıkar. Bir ülkenin sokağında duran posta kutusuna benzeyen ikon, başka ülkede tanınmaz. Metinsiz ikon kullanacaksan tanınmadığında ne olacağını da düşün.

Türkçede sıralama ve arama beklenmedik yerde bozulur

İki harf yüzünden: i ve ı. Büyük harfe çevrildiğinde i harfi İ olur, küçük harfe çevrildiğinde I harfi ı olur. Arama kutusunda büyük küçük harf duyarsız karşılaştırmayı varsayılan yerel ayarla yaparsan İSTANBUL ile istanbul eşleşmez. Aynı hata veritabanı tarafında da bekler, orada karşılaştırma ayarı olarak karşına çıkar.

Alfabetik sıralama karakter kodlarına göre yapıldığında Türkçe listeyi bozar: ç, ğ, ı, ö, ş, ü harflerinin kod değeri z harfinden büyük olduğu için hepsi listenin sonuna düşer. Sıralamayı yerel ayarı bilen bir karşılaştırıcıya bırak. Kullanıcı listede aradığını bulamadığında bunu sana bildirmez, arama kutusuna geçer ya da sekmeyi kapatır.

Gerçek zamanlı optimizasyon çok dilli sitede aynı işi yapmaz

Başlıkları A/B testiyle denemek, gösterimi anlık verilere göre değiştirmek tek dilli bir sitede işini görür. Siteyi beş dile açtığında aynı test beşe bölünür ve küçük diller yeterli örnekleme hiç ulaşmaz. Kazanan varyant en kalabalık dilin varyantı olur, sonra da diğerlerine o uygulanır.

Varyant testini dil başına ayrı yürüt. Yürütecek trafiğin olmadığı dillerde test etmiyorsun demektir; orada kararı veriden değil, o dili konuşan bir okuyucuya sorarak ver.