【问题标题】:Force localization app强制本地化应用程序
【发布时间】: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


【解决方案1】:

【讨论】:

  • 这个链接只展示了如何使用 NSLocalizedString,我的问题是强制系统为系统标签/按钮使用特定语言
  • 其他方法会很老套,你不会想要那些。连苹果都不推荐AppleLanguages这个把戏。
  • 但如果您真的想使用它,请尝试通过释放并重新分配它来重新启动视图。
  • Weel,看来我不能直接做我想做的事,我会用release/realloc方法,谢谢:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-22
  • 2011-11-29
相关资源
最近更新 更多