Swift:如何更改应用内的语言? [英] Swift : How to change language inside app?

查看:815
本文介绍了Swift:如何更改应用内的语言?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Localize-Swift 库( Link )本地化我的应用程序,它与.strings文件一起正常工作。问题是我必须本地化为一个从右到左的语言,我必须通过Interface Builder Storyboard进行本地化,这样我就可以使视图控制器看起来正确的RTL格式。问题是如何将故事板实时设置为用户选择的语言?

i am using Localize-Swift library (Link) to localize my application and it works fine with .strings files. the problem is that i have to localize to a language which is right to left and i have to localize via Interface Builder Storyboard so i can make view controllers look right in RTL format. the question is how do i set the storyboard to user selected language in real time ?

例如我有2个故事板文件:

for example i have 2 storyboard files :

1- ... /ProjectName/Base.lproj/Main.storyboard

1- ... /ProjectName/Base.lproj/Main.storyboard

2- ... /ProjectName/fa-IR.lproj/Main .storyboard

2- ... /ProjectName/fa-IR.lproj/Main.storyboard

我如何实时切换它们?

我已经知道我可以改变它方案和设备语言,但我想实时做,我不希望用户重新启动他们的设备。

i already know i can change it in Schemes and device language but i want to do it real time and i dont want the users to restart their device.

谢谢

推荐答案

找到了答案:

NSUserDefaults.standardUserDefaults().setObject(["language identifier"], forKey: "AppleLanguages") 
NSUserDefaults.standardUserDefaults().synchronize()

不幸的是用户必须重新启动应用程序!
如果有人能找到不重启应用程序的解决方案,请通知我。

unfortunately user must restart the app! if anyone could find a solution to not restart the application please inform me.

这篇关于Swift:如何更改应用内的语言?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆