Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将应用程序语言保存在NSUserDefault Swift中?_Ios_Swift_Nsuserdefaults - Fatal编程技术网

Ios 如何将应用程序语言保存在NSUserDefault Swift中?

Ios 如何将应用程序语言保存在NSUserDefault Swift中?,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我正在开发一个应用程序,它可以运行两种语言:英语和阿拉伯语。所以用户可以选择他想要的语言和应用程序显示在该语言 我使用本地化显示静态文本。我已经用英语和阿拉伯语创建了本地化字符串文件 现在,我想将用户选择的语言保存在NSUserDefaults中,并使用它实现本地化。我该怎么做呢?你喜欢吗 func isDeviceLanguageRTL() -> Bool { return (NSLocale.characterDirectionForLanguage(NSLocale.preferre

我正在开发一个应用程序,它可以运行两种语言:英语和阿拉伯语。所以用户可以选择他想要的语言和应用程序显示在该语言

我使用
本地化
显示静态文本。我已经用英语和阿拉伯语创建了本地化字符串文件

现在,我想将用户选择的语言保存在
NSUserDefaults
中,并使用它实现
本地化。我该怎么做呢?

你喜欢吗

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

}
}
按钮操作保存时的辅助操作

 if let getlan = NSUserDefaults.standardUserDefaults().objectForKey("AppleLanguages") as? String {
      if getlan == "En" { 
              //English
         }
         else { 
              //Arabic
         }
   }
为按钮设置标签,例如英语=0,阿拉伯语=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
         }
   }

实际上我有两个按钮。一个是英语,另一个是阿拉伯语。假设用户选择英语,我想把它保存在UserDefaults中。保存为UserDefault时是否有任何特定的语言键?事实上,我对Swift还不熟悉,所以我对基础知识了解不多。如果你能帮我,那就太好了