以编程方式本地化ios应用程序

以编程方式本地化ios应用程序,ios,swift,localization,Ios,Swift,Localization,我正在开发一款有英语和阿拉伯语两种语言的应用程序,它在9.2设备上运行良好,但在8.3设备上测试时,设备布局不会从右向左或相反,但它也会正常加载所选语言文本 print(NSUserDefaults.standardUserDefaults().objectForKey(" AppleLanguages")); 返回零 我正在使用此代码更改语言 if lang == "en"{ NSUserDefaults.standardUserDefaults().setObje

我正在开发一款有英语和阿拉伯语两种语言的应用程序,它在9.2设备上运行良好,但在8.3设备上测试时,设备布局不会从右向左或相反,但它也会正常加载所选语言文本

  print(NSUserDefaults.standardUserDefaults().objectForKey(" AppleLanguages"));
返回零

我正在使用此代码更改语言

   if lang == "en"{
        NSUserDefaults.standardUserDefaults().setObject(["ar"], forKey: "AppleLanguages")
        NSUserDefaults.standardUserDefaults().synchronize()
        LanguageManager.saveLanguageByIndex(3)
        NSNotificationCenter.defaultCenter().postNotificationName("langChanged", object: nil)

    }else{
        NSUserDefaults.standardUserDefaults().setObject(["en"], forKey: "AppleLanguages")
        NSUserDefaults.standardUserDefaults().synchronize()
        LanguageManager.saveLanguageByIndex(0)
        NSNotificationCenter.defaultCenter().postNotificationName("langChanged", object: nil)
    }
在appDelegete

        UIApplication.sharedApplication().delegate?.window!.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
那么我错过了什么

我使用的是xcode 7.2,问题只发生在8.3设备上

下面是一些发生了什么和应该发生什么的图片

谢谢


iOS 9中添加了从右到左的语言支持,请看,它在iOS 8中仍然可以工作,但您必须根据我的知识以编程方式将布局设置为从右到左谢谢,嗯,我忘了说当我关闭和打开应用程序时,大多数布局都会正确翻转,但我必须手动关闭和打开它,并使用退出(0)苹果不接受,而且它只关闭应用程序,我想自动重新打开它,而且我已经使用了上面的重启代码,但在8.3中似乎不起作用!!!似乎苹果在iOS 9中动态地改变了界面。您必须自己在iOS 8中更改文本对齐方式。