我正在开发一款以2种语言运行的应用英语和阿拉伯语。因此,用户可以选择他想要的语言,并以该语言显示应用程序。
我正在使用localization
来显示静态文本。我用英语和阿拉伯语创建了本地化字符串文件。
现在,我想保存用户在NSUserDefaults
中选择的语言,并使用它来实现localization
。我怎么能这样做?
答案 0 :(得分:1)
喜欢
func isDeviceLanguageRTL() -> Bool {
return (NSLocale.characterDirectionForLanguage(NSLocale.preferredLanguages()[0]) == .RightToLeft)
}
最初检查可能是您的应用语言是阿拉伯语或英语
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if self.isDeviceLanguageRTL()
{
// it is Arabic
}
}
按钮操作的辅助操作
为您的按钮设置标记,例如eng = 0和arabic = 1;
好的假设就像
func buttonTapped(sender: UIButton)
{
let userDefaults = NSUserDefaults.standardUserDefaults()
if sender.tag == 1
{
// english
userDefaults.setObject("En", forKey: "AppleLanguages")
} else
{
//arbaic
userDefaults.setObject("AR", forKey: "AppleLanguages")
}
}
<强>检索强>
if let getlan = NSUserDefaults.standardUserDefaults().objectForKey("AppleLanguages") as? String {
if getlan == "En" {
//English
}
else {
//Arabic
}
}