gpt4 book ai didi

iphone - 在运行时更改 NSLocalizedString() 的语言

转载 作者:行者123 更新时间:2023-12-03 16:06:51 24 4
gpt4 key购买 nike

我有一个 iPhone 应用程序,它有一个按钮可以在运行时更改显示语言。我查看了 NSLocalizedString() ,它将根据系统首选项返回适当的字符串。除了对所有显示字符串进行硬编码并根据运行时的用户语言选择返回之外,我还有什么选择?任何指示将不胜感激。

最佳答案

根据用户“object2.0”的帖子,我整理了一些示例代码,您可以在应用程序中使用它们来动态更改 UI 语言。

完成艰苦工作的主要本地化类:

-(NSString *) localized:(NSString *) key
{
GameInfo *gameInfo = [GameInfo sharedInstance];

// langCode should be set as a global variable somewhere
NSString *path = [[NSBundle mainBundle] pathForResource:langCode ofType:@"lproj"];

NSBundle* languageBundle = [NSBundle bundleWithPath:path];
return [languageBundle localizedStringForKey:key value:@"" table:nil];
}

假设您在名为 utils 的全局类中拥有此函数,请使用以下代码调用此函数(例如输出单词“Settings”。

NSLog( [utils localized:@"Settings"] );

要更改语言:

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

关于iphone - 在运行时更改 NSLocalizedString() 的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com