我试图从用户的iDevice获取系统语言,基本上我想要1个图像,如果它是法语,而另一个是英语
任何想法?
我的代码(不会以任何方式显示图片)
let preferredLanguage = NSLocale.preferredLanguages()[0] as String
if preferredLanguage == "en" {
navigationItem.titleView = imageView
} else if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
}
答案 0 :(得分:2)
您不需要编写(容易出错)只是为了本地化图像。只需将图片文件放入应用包中的相应本地化文件夹即可 - 然后NSBundle.pathForResource
和UIImage(named:)
等API会自动加载与用户首选语言相对应的图片。 (如果不同语言的图像具有不同的尺寸,则您不需要单独的图像视图 - 只需使用自动布局。)
请参阅Apple的文档中的Localized Resources in Bundles和Adding Additional Resources You Want to Localize。
答案 1 :(得分:0)
原来@rmaddy是对的,这是答案
let preferredLanguage = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as! String
if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
} else {
navigationItem.titleView = imageView
}
获取我们需要使用NSLocale.currentLocale()的系统语言然后它工作了!谢谢@rmaddy