Rehberler//13 dk okuma

Mobil Uygulama Yerelleştirme: iOS ve Android için En İyi Uygulamalar

Eray Gündoğmuş
Paylaş

Mobil Uygulama Yerelleştirme: iOS ve Android için En İyi Uygulamalar

Temel Çıkarımlar

  • iOS, .strings ve .stringsdict dosyalarını kullanırken Android, res/values-{locale}/ dizinlerinde strings.xml kullanır
  • App Store Optimizasyonu (ASO), her pazar için yerelleştirilmiş meta veriler gerektirir — başlık, açıklama, anahtar kelimeler ve ekran görüntüleri
  • RTL düzen desteği, özel görünümler ve animasyonlar dahil tüm ekranlarda test edilmelidir
  • Kablosuz (OTA) çeviri güncellemeleri, yeni bir uygulama sürümü göndermeden çevirileri düzeltmenizi sağlar

Platforma Özgü Yerelleştirme

iOS Yerelleştirmesi

iOS, her yerel ayar için .lproj dizinlerini kullanır:

en.lproj/
  Localizable.strings
  Localizable.stringsdict
  InfoPlist.strings
de.lproj/
  Localizable.strings
  Localizable.stringsdict
  InfoPlist.strings

Temel dosyalar:

  • Localizable.strings — kullanıcı arayüzü metinleri için anahtar-değer çiftleri
  • Localizable.stringsdict — çoğul kuralları (karmaşık çoğul yapılarına sahip diller için zorunludur)
  • InfoPlist.strings — uygulama adı ve izin açıklamaları

Android Yerelleştirmesi

Android, yerel ayar niteleyicileriyle kaynak dizinleri kullanır:

res/
  values/strings.xml          (varsayılan/İngilizce)
  values-de/strings.xml       (Almanca)
  values-ja/strings.xml       (Japonca)
  values-ar/strings.xml       (Arapça)

Android'in kaynak sistemi, cihaz yerel ayarına göre doğru dosyayı otomatik olarak seçer. Çoğul yapılar için plurals kaynaklarını, listeler için ise string-array kullanın.

Yerelleştirilmiş Uygulamalar için App Store Optimizasyonu (ASO)

Her hedef pazar için şu öğeleri yerelleştirin:

ÖğeiOS App StoreGoogle Play
Uygulama adı30 karakter30 karakter
Alt başlık30 karakter80 karakter (kısa açıklama)
Açıklama4.000 karakter4.000 karakter
Anahtar kelimeler100 karakterAçıklamanın içinde
Ekran görüntüleriEn fazla 10En fazla 8
Önizleme videosuİsteğe bağlıİsteğe bağlı

Her pazar için anahtar kelimeleri ayrıca araştırın — İngilizce anahtar kelimeleri doğrudan çevirmeyin.

RTL Dil Desteği

Arapça, İbranice ve diğer RTL diller için:

  • left/right yerine leading/trailing kısıtlamalarını kullanın (iOS)
  • Düzenlerde left/right yerine start/end kullanın (Android)
  • Gezinme simgelerini aynalayın (geri oku, liste girintisi)
  • Çift yönlü metin testleri yapın (karışık RTL ve LTR içerik)
  • Özel görünümlerin düzen yönünü dikkate aldığından emin olun

Kablosuz (OTA) Çeviri Güncellemeleri

OTA sistemleri, tam uygulama sürümü yayınlamadan çevirileri güncellemenizi sağlar:

  • Çeviri hatalarını anında düzeltin
  • Kod değişikliği yapmadan yeni diller ekleyin
  • Dönüşüm optimizasyonu için çevirilerde A/B testi yapın
  • Kullanıcılar için uygulama güncelleme yorgunluğunu azaltın

Mobil Uygulama Çeviri Hizmetleri: Yaklaşımların Karşılaştırması

Doğru mobil uygulama çeviri hizmetini seçmek, ekip büyüklüğünüze, bütçenize ve kalite gereksinimlerinize bağlıdır. İşte üç ana yaklaşımın özeti.

Manuel Çeviri

Manuel çeviri, uygulama metinlerinizi tek tek dillerde çevirmek için profesyonel çevirmenler veya ajanslar tutmayı içerir. Bu yaklaşım, özellikle pazarlama metinleri ve kullanıcıya yönelik içerikler için yüksek dilbilimsel kalite sunar; ancak yavaş ve pahalıdır. Teslim süreleri günler veya haftalar olarak ölçülür ve birden fazla çevirmeni farklı dillerde koordine etmek proje yönetimi yükü getirir.

Otomatik Makine Çevirisi

Bağımsız makine çevirisi hizmetleri (Google Translate API, DeepL API, Azure Translator) hız ve düşük maliyet sunar. Kullanıcı arayüzü metinleri ve belgeler için ilk taslakları oluşturmada iyi çalışırlar; ancak çıktı, ürün bağlamından yoksundur. "Set" gibi bir düğme etiketi, kullanıcı arayüzündeki konumu bilinmeksizin fiil (yapılandırmak) yerine isim (küme) olarak çevrilebilir. Otomatik MT, üretime göndermeden önce insan düzenlemesi gerektirir.

Platform Tabanlı Uygulama Çeviri Hizmetleri

Platform tabanlı uygulama çeviri hizmetleri, otomasyonu iş akışı yönetimiyle birleştirir. Çevirmenleri ve MT motorlarını ayrı ayrı yönetmek yerine, bir platform tam ardışık düzeni yönetir: metin çıkarımı, makine çevirisi, insan incelemesi yönlendirmesi, çeviri belleği ve kod tabanınıza geri teslimat.

Better i18n bu model için tasarlanmıştır. React Native uygulamaları için bir Expo SDK'sı (@better-i18n/expo) sunarak App Store veya Google Play üzerinden yeniden dağıtım yapmadan OTA çeviri güncellemelerine olanak tanır. Platformun yapay zeka çeviri motoru, ürün sözlüğünü ve kullanıcı arayüzü bağlamını anlayarak her metnin uygulamanızda nerede göründüğünün farkında olan çeviriler üretir. Çeviriler, 300'den fazla uç konum ve 50 ms'nin altında yükleme süreleriyle CDN aracılığıyla iletilir; böylece kullanıcılar güncellenmiş çevirileri anında görür.

Uygulama çeviri hizmetlerini değerlendiren ekipler için kilit soru şudur: Tek seferlik bir çeviri satıcısına mı, yoksa yayın döngünüze ayak uyduran sürekli bir çeviri ardışık düzenine mi ihtiyacınız var? Uygulamanız düzenli olarak yeni özellikler sunuyorsa, platform yaklaşımı manuel ve bağımsız MT iş akışlarını yavaşlatan koordinasyon yükünü ortadan kaldırır.

Yaygın Mobil Yerelleştirme Hataları

  1. Sabit kodlanmış metinler — kaynak dosyaları yerine doğrudan kodda
  2. Sabit genişlikli kullanıcı arayüzü öğeleri — daha uzun çevirilerde bozulan düzenler
  3. Çoğul biçimlerin göz ardı edilmesi — pek çok dilde tekil/çoğulun ötesinde biçimler vardır
  4. Uygulama mağazası listelemelerinde çevrilmemiş ekran görüntüleri
  5. Arapça ve İbranice pazarlar için RTL testinin atlanması

SSS

Kaç dille başlamalıyım? Gelir veya kullanıcı tabanı açısından ilk 5-10 pazarınızla başlayın. Yaygın ilk hedefler: İngilizce, İspanyolca, Fransızca, Almanca, Japonca, Çince, Korece, Portekizce.

Uygulama metinleri için makine çevirisini kullanmalı mıyım? Makine çevirisi ilk taslakları sağlayabilir; ancak kullanıcı arayüzü metinleri, bağlam doğruluğu için insan incelemesi gerektirir. Bağlam içermeyen kısa metinler, MT için özellikle zorlu olabilir.

Dinamik içerik yerelleştirmesini nasıl yönetirim? Dinamik içerik (anlık bildirimler, uygulama içi mesajlar) için sunucu tarafı yerelleştirmesini kullanın. İstemci tarafı yerelleştirmesi statik kullanıcı arayüzünü yönetir. Bir TMS her iki iş akışını da yönetebilir.

Tarih, saat ve sayı biçimlendirmesi ne olacak? Cihaz yerel ayarıyla birlikte platform biçimleyicilerini kullanın (iOS'ta DateFormatter, Android'de DateFormat). Tarihleri veya sayıları hiçbir zaman elle biçimlendirmeyin.

Comments

Loading comments...