Uygulamada Çoklu Dil Desteği: Sadece Çeviri Dosyası Eklemek Yetmiyor
Almanya'daki Türk işletmelerine yönelik bir uygulama geliştirdiğimizde müşteri "Google Translate ile çevirelim, hızlı olur" demişti. İki hafta sonra Almanca konuşan bir test kullanıcısı, ödeme ekranındaki bir ifadenin anlamsız olduğunu bildirdi. Çoklu dil desteği, göründüğünden daha fazla dikkat isteyen bir iş.
Teknik kurulum aslında en kolay kısım
Android'de strings.xml, iOS'ta Localizable.strings ya da .strings dosyaları üzerinden her dil için ayrı bir kaynak dosyası tutuluyor. Uygulama içindeki tüm sabit metinlerin bu dosyalara taşınması, kod içine doğrudan yazılmaması gerekiyor — bu disiplin baştan kurulmazsa, sonradan yüzlerce metni koddan ayıklamak ciddi bir efor haline geliyor. React Native ya da Flutter gibi çapraz platform teknolojilerinde de benzer mantıkla çalışan i18n kütüphaneleri (react-i18next, flutter_localizations gibi) mevcut ve JSON tabanlı çeviri dosyalarıyla yönetiliyor.
Otomatik dil algılama kullanıcıyı rahatsız edebilir
Cihazın sistem dilini otomatik algılayıp uygulamayı o dilde açmak mantıklı bir varsayılan davranış. Ama bazı senaryolarda sorun yaratabiliyor: örneğin cihaz dili İngilizce ayarlı ama kullanıcı aslında Türkçe konuşan biriyse ve uygulama içinde dil değiştirme seçeneği kolay bulunmuyorsa, kullanıcı deneyimi kötüleşiyor. Bu yüzden otomatik algılamayı varsayılan yapıp, ayarlar menüsünde belirgin bir dil değiştirme seçeneği sunmak — ve seçilen dili cihaz hafızasında saklayıp bir sonraki açılışta hatırlamak — en güvenli yaklaşım. Bölgeye özgü format farkları da unutulmamalı: tarih formatı (gün/ay/yıl mı ay/gün/yıl mı), para birimi gösterimi, ondalık ayracının nokta mı virgül mü olduğu gibi detaylar çeviri kadar önemli.
Makine çevirisi neden tek başına yetmiyor
Otomatik çeviri araçları genel cümleler için işe yarasa da, uygulamaya özgü terimlerde ("sepete ekle", "favorilere ekle" gibi kısa aksiyon ifadelerinde) bağlamı kaçırabiliyor. Almanca gibi cümle yapısının Türkçeden çok farklı olduğu dillerde, buton metinleri için ayrılan sınırlı alan da bir sorun yaratıyor — Almanca kelimeler genelde daha uzun ve buton içine sığmayabiliyor. Bu yüzden en azından kritik akışlardaki (kayıt, ödeme, hata mesajları) metinleri o dili anadili olarak konuşan biri tarafından gözden geçirtmek, kullanıcı güvenini korumak açısından değerli bir yatırım.
Kültürel uyum çeviriden daha geniş bir konu
Renk sembolizmi, ikon anlamları, hatta tarih gösterimi bazı pazarlarda farklı algılanabiliyor. Örneğin haftanın ilk günü bazı ülkelerde Pazartesi, bazılarında Pazar; bir takvim özelliği içeren uygulamada bunu sabit kodlamak yerine yerel ayarlara (locale) göre dinamik almak gerekiyor. Android + iOS çift platform paketi geliştirilen projelerde her iki platformda tutarlı bir lokalizasyon stratejisi kurmak, çeviri dosyalarının merkezi bir sistemden (örneğin bir çeviri yönetim platformundan) beslenmesiyle çok daha kolay yönetilebiliyor.
Test aşamasını atlamayın
Her dil için uygulamayı baştan sona gezip metin taşmalarını, kesilen kelimeleri, ters yönlü diller varsa (Arapça gibi) sağdan sola düzen bozukluklarını kontrol etmek gerekiyor. Android uygulama geliştirme ve iOS projelerinde bu test genelde son aşamaya bırakılıyor ve zaman darlığında atlanıyor; oysa çoklu dil desteği olan bir uygulamada bu testi atlamak, o dildeki kullanıcıların ilk izlenimini doğrudan zedeliyor.
İlgili Yazılar
Projenize özel, şeffaf bir mobil uygulama fiyat teklifi için fiyat rehberimize göz atabilir veya bizimle iletişime geçebilirsiniz.
