2016-03-22 9 views
-3

çıkarma dili ve başka Get?o</p> <p>herhangi bir fikir ingilizce ise İDevice sistemi ben de Fransız'S eğer kullanıcının İDevice, temelde ben 1 görüntüyü istediğiniz ofrom sistem dilini almaya çalışıyorum bir IF

Kodum (bu görüntüyü göstermez her iki şekilde)

let preferredLanguage = NSLocale.preferredLanguages()[0] as String 

if preferredLanguage == "en" { 
    navigationItem.titleView = imageView 
} else if preferredLanguage == "fr" { 
    navigationItem.titleView = imageViewFR 
} 
+0

Neler çalışmıyor? Ayrıca, "uk" geçerli bir dil değil. –

+0

özür dilerim "fr" i düzeltmek istedim ve görüntü göstermiyor. Ben değişmekte olan UINavigationBar Başlığı, hayır IF ise iyi. IF koşulu ile işe yaramıyor – Jp4Real

+2

'preferLanguage' için ne değeri alıyorsunuz? – rmaddy

cevap

2

Sadece bir resmi yerelleştirmek için yazmanız (hataya eğilimli) yapmanız gerekmez. Sadece görüntü dosyalarını uygulama paketinizdeki uygun yerelleştirme klasörüne yerleştirin - NSBundle.pathForResource ve UIImage(named:) gibi API'ler, kullanıcının tercih ettiği dile karşılık gelen görüntüyü otomatik olarak yükleyecektir. (Farklı dillerin görüntüleri farklı boyutlara sahipse, ayrı görüntü görünümlerine ihtiyacınız olmaz - yalnızca Otomatik Düzenleme'yi kullanın.)

Apple'ın belgelerinde Localized Resources in Bundles ve Adding Additional Resources You Want to Localize'a bakın.

+0

çok teşekkürler link özellikle çok yardımcı oldu – Jp4Real

0

burada, @rmaddy haklıymış ihtiyacımız sistem dilini almak için cevap

let preferredLanguage = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as! String 

    if preferredLanguage == "fr" { 
     navigationItem.titleView = imageViewFR 
    } else { 
     navigationItem.titleView = imageView 
    } 

var NSLocale.currentLocale() kullanmak için o zaman çalıştı! teşekkürler @rmaddy

+1

göstergesini görüntüleyen dizgedir. IOS'ta yerelleştirilmiş görüntüleri işlemenin yanlış yolu budur. @ Rickster'ın cevabını doğru şekilde görün. –