我想改变我的应用程序的语言。 目前,我在下面的方法做。 我有两个按钮,这是改变语言NSUserDefaults的中。 但在此之前这会影响我的应用我需要重新启动它。
这里是我的代码。
- (IBAction)changeDutch:(id)sender {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"nl", @"en", nil] forKey:@"AppleLanguages"];
}
- (IBAction)changeEnglish:(id)sender {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", @"nl", nil] forKey:@"AppleLanguages"];
}
这工作得很好。 但我不希望每次重新启动我的应用程序的时间。 谁能告诉我该怎么做?
亲切的问候!
退房HMLocalization: https://github.com/HeshamMegid/HMLocalization
这是默认的定位框架的替代品。 它展示了如何更改语言,而不必重新启动应用程序的演示。
还有就是要改变应用程序的语言无重新提到这个方法教程后我已经试过了在应用程序和它的作品大多但仍,如果你正在使用的系统的项目,如More
的的TabBar标签, Edit
按钮MoreNavigationController
和Cancel
按钮UISearchBar
和等等,还有文字不能更改所选语言,无需重新启动应用程序。 如果是通过iOS的,而不是你的应用控制没有这样的项目,这对你是一个完美的解决方案。
如果你的数据是在UITableView
,那么你可以使用[tableView reloadData];
。 你甚至可以设置在应用语言appDelegate
,在常量,键定义,然后在IBAction
调用这些键然后存储在NSUserDefaults
。
您使用的是本地化哪种方式,我的意思是要问的是,本机中,我们仅仅只维持文件夹结构或从数据库取出。
不管怎么说,如果你使用的是原生的部分,再看看下面的链接可以帮助你,因为我认为我们可以更换语言选项有:
“http://stackoverflow.com/questions/3910244/getting-current-device-language-in-ios”(坦白地说,我不知道)
但是,如果你正在使用的数据库的一部分,那么在这种情况下,你只需要使用一些基于枚举圆通,并根据刚刚获取你的数据,因为我已经在很多应用已经应用这种方法很简单。
在任何顾虑,只是背对着我。 :)