【发布时间】:2012-08-20 09:36:53
【问题描述】:
我实际上正在开发一个需要在他自己的设置中强制本地化的应用程序(不是使用常规设置,我没有制定规范,不要问我为什么要这样做:-))
我可以强制我的应用使用该类别的特定 Localizable.string 文件:
+(NSString*)localizedString:(NSString*)string forLanguageCode:(NSString*)languageCode {
NSString *pathToLocalizedBundle = [[NSBundle mainBundle] pathForResource:languageCode ofType:@"lproj"];
if(!pathToLocalizedBundle) pathToLocalizedBundle = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle *aBundle = [NSBundle bundleWithPath:pathToLocalizedBundle];
return [aBundle localizedStringForKey:string value:@"" table:nil];
}
我面临的问题是本地化一些“Apple 的东西”,我的意思是像“编辑”按钮或一些默认选项卡选项卡,比如这些(特色和更多):
我尝试更改user default 中的"AppleLanguages" 键,但它仅在应用程序重新启动并且我不想要它时才有效。这可能吗?
【问题讨论】:
-
您需要使用
AppleLanguages方式重新启动您的视图以进行即时更改。 -
感谢您的快速回复,有没有简单的方法可以重新启动视图?
-
添加本地化字符串并在您的模拟器或设备设置中更改语言。
-
已经完成,我想在运行时更改应用程序语言,尤其是系统本地化的字符串,例如编辑按钮或后退按钮
标签: iphone ios cocoa-touch localization