以编程方式更改语言环境

Posted

技术标签:

【中文标题】以编程方式更改语言环境【英文标题】:change locale programmatically 【发布时间】:2010-06-11 12:21:31 【问题描述】:

大家好,

我有一个显示 4 种语言的表格视图 英语、西班牙语、德语和法语,

我为每个视图创建了 xib,还创建了 Localizable.strings。 当我从模拟器更改语言时,一切正常。 整个应用程序会根据所选语言进行更改..

我想要做的是,而不是从模拟器的语言目录中更改语言, 我想通过显示语言的表格视图更改语言。 如果我点击带有西班牙值的表格,整个应用程序应该改变它的语言。

我们可以这样做吗?

像模拟器的语言设置改变整个模拟器的语言, 我想通过我的应用更改我的应用的语言。

希望尽快回复

我们总是很感激帮助

问候 希希尔

【问题讨论】:

【参考方案1】:

试试下面的方法。

NSArray *languages = nil;

languages = [NSArray arrayWithObject:@"en"];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];

NSString *localizedStr = NSLocalizedString(@"ABOOK", @"Hello");
NSLog(@"String 11 = %@", localizedStr);

【讨论】:

为什么这是公认的答案?这完全不适合我:-/ 这对我有用!使用上述功能设置后。试试看NSLocale.preferredLanguages()[0] as String

以上是关于以编程方式更改语言环境的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更改键盘输入语言

在 iOS 中以编程方式更改应用程序中的语言

如何在 chrome 浏览器中更改语言环境

如何以编程方式更改 Elastic Beanstalk 环境中的 EC2 实例类型?

以编程方式更改语言就像英语到法语 wpf

以编程方式更改应用程序语言 - UWP