我打算制作一个多语言的iPad应用程序,我希望用户选择一个首选的语言。所以我的问题是,如何在运行时更改我的应用程序语言?我不想改变iPad语言。iOS应用程序自定义本地化设置
1
A
回答
1
这已被问了几次。对此,没有很好的解决方案,这不是微不足道的(例如,注意iOS更改语言时会重启)。有些人通过替换NSLocalizedString调用以及更改NIB加载来实现此目的,以便指定要使用的本地化版本。例如参见this other SO question。
3
这是不推荐由苹果指引。
我的解决方案(用户需要手动重新启动应用程序,来处理语言切换“对飞”,你应该重新加载所有资源,包括XIBs)是:
// Use "nil" to fallback to system settings
void loadCustomLocalization(NSString * locCode) {
NSString * appleLanguages = @"AppleLanguages";
if (locCode) {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:locCode] forKey:appleLanguages];
} else {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:appleLanguages];
}
[[NSUserDefaults standardUserDefaults] synchronize];
}
void loadLocalization() {
const int result = [[[NSUserDefaults standardUserDefaults] stringForKey:@"language"] intValue];
NSString * language = 0;
switch (result) {
case 1: language = @"ru"; break;
case 2: language = @"en"; break;
}
loadCustomLocalization(language);
}
int main(int argc, char *argv[]) {
loadLocalization();
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
相关问题
- 1. iOS:独立于iPad本地化应用程序语言设置
- 2. iOS本地化(在应用程序中设置)
- 3. Firebase自定义应用程序设置
- 4. 自定义应用程序设置
- 5. iOS应用程序图标本地化
- 6. ios应用程序(迅速)本地化
- 7. iOS 9应用程序本地化
- 8. 应用程序本地化(IOS)
- 9. 本地化iOS应用程序布局
- 10. 本地化ios应用程序
- 11. ios应用程序本地化
- 12. iOS应用程序的本地化
- 13. iOS应用本地化中的梵语(自定义)语言
- 14. 自定义UIButton iOS应用程序
- 15. 如何让Spotlight更轻松地自定义iOS应用程序
- 16. iOS:在本地化时设置应用程序的主要语言
- 17. 为应用程序设置默认iOS本地通知样式
- 18. 从定制iOS应用程序启动设置应用程序
- 19. 本地化iphone应用程序与应用程序定义语言
- 20. C# - 应用程序配置文件 - 自定义设置
- 21. 设计iOS应用程序和自定义按钮
- 22. iOS应用程序视图和导航设计自定义类
- 23. 自定义本地化BooleanConverter
- 24. C#程序设置和本地化
- 25. 安装具有自定义配置的iOS应用程序
- 26. 为非标准区域设置本地化应用程序
- 27. 如何调整自定义iOS相机应用程序的白平衡设置?
- 28. iOS应用程序更改语言与自定义设置屏幕
- 29. iOS应用本地化,是应用程序的大小增加?
- 30. 用gtkmm设置自定义应用程序主题
感谢您的答复。 – Krrish