更改iPhone语言,以便应用程序在各自的区域设置启动?

时间:2013-04-10 00:37:03

标签: iphone ios user-interface automation ios-ui-automation

有没有办法以自动方式更改iphone国际语言,这样当我们启动应用程序时,它会显示为目标语言环境本地化(ll-CC)?

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:0)

在这个意义上,不确定自动化是什么意思。您需要国际化您的应用程序,然后提供本地化的翻译。如果您已针对特定语言对应用进行了本地化,那么它将适用于使用该语言的区域设置。

可以找到国际化基础(iOS和OS X)here

答案 1 :(得分:0)

是的!我实际上写了一个小的bash脚本,为我的UI自动化应用截图接收器做这个。从这里抓住它:

https://github.com/jonathanpenn/ui-screen-shooter/blob/master/bin/choose_sim_language

随意探索它,看看它是如何工作的。要使用它,您只需使用您选择的区域设置代码运行它。

./choose_sim_language en

所有模拟器版本都将设置为您提供的版本。运行没有任何参数的脚本,使其打印出当前语言。

答案 2 :(得分:0)

如果您定位的是实际设备,则需要覆盖AppleLanguages偏好设置:

[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:lang, nil] forKey:@"AppleLanguages"];

在此处查看完整的解决方案:http://aggressive-mediocrity.blogspot.com.es/2010/03/custom-localization-system-for-your.html

您不需要该文章中指明的自定义本地化宏,只需#undef他们和#define他们就可以使用您的课程。

您需要一些机制来更改应用程序中的语言:UI中的某些内容或仅仅是环境变量(在启动Instruments时在命令行中设置它,如果您正在执行此操作)。