获取 iDevice 系统语言以发出 IF
Get the iDevice system language to issue an IF
我正在尝试从用户的 iDevice 获取系统语言,基本上我想要一张图片,如果是法语,如果是英语,则需要另一张
有什么想法吗?
我的代码(无论如何都不显示图像)
let preferredLanguage = NSLocale.preferredLanguages()[0] as String
if preferredLanguage == "en" {
navigationItem.titleView = imageView
} else if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
}
事实证明@rmaddy 是对的,这是答案
let preferredLanguage = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as! String
if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
} else {
navigationItem.titleView = imageView
}
要获得系统语言,我们需要使用 NSLocale.currentLocale() 然后它起作用了!谢谢@rmaddy
您不需要为了本地化图像而编写(容易出错)。只需将图像文件放入应用程序包中相应的本地化文件夹中——然后 NSBundle.pathForResource
和 UIImage(named:)
等 API 将自动加载与用户首选语言相对应的图像。 (如果不同语言的图像具有不同的尺寸,则不需要单独的图像视图 — 只需使用自动布局即可。)
请参阅 Apple 文档中的 Localized Resources in Bundles and Adding Additional Resources You Want to Localize。
我正在尝试从用户的 iDevice 获取系统语言,基本上我想要一张图片,如果是法语,如果是英语,则需要另一张
有什么想法吗?
我的代码(无论如何都不显示图像)
let preferredLanguage = NSLocale.preferredLanguages()[0] as String
if preferredLanguage == "en" {
navigationItem.titleView = imageView
} else if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
}
事实证明@rmaddy 是对的,这是答案
let preferredLanguage = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as! String
if preferredLanguage == "fr" {
navigationItem.titleView = imageViewFR
} else {
navigationItem.titleView = imageView
}
要获得系统语言,我们需要使用 NSLocale.currentLocale() 然后它起作用了!谢谢@rmaddy
您不需要为了本地化图像而编写(容易出错)。只需将图像文件放入应用程序包中相应的本地化文件夹中——然后 NSBundle.pathForResource
和 UIImage(named:)
等 API 将自动加载与用户首选语言相对应的图像。 (如果不同语言的图像具有不同的尺寸,则不需要单独的图像视图 — 只需使用自动布局即可。)
请参阅 Apple 文档中的 Localized Resources in Bundles and Adding Additional Resources You Want to Localize。