今天我想尝试一下 iOS 的本地化
功能。
我向我的项目添加了一个 Localized.strings
文件,其中包含以下内容:
"TP_Start_Button" = "Workout Plan";
"TL_Start_Button" = "Training Log";
"Calc_Start_Button" = "Calculator";
我设置了三个 UIButtons
的标题,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tp_start_button setTitle:NSLocalizedString(@"TP_Start_Button", nil) forState:UIControlStateNormal];
[self.tl_start_button setTitle:NSLocalizedString(@"TL_Start_Button", nil) forState:UIControlStateNormal];
[self.calc_start_button setTitle:NSLocalizedString(@"Calc_Start_Button", nil) forState:UIControlStateNormal];
}
之后,我通过选择我的项目并按本地化下的“+”按钮添加了另一种语言。 O 选择了德语,并创建了另一个 Localized.strings
。我用德语翻译替换了内容。然后我得到了以下内容:
Localizable.strings
Localizable.strings (English)
Localizable.strings (German)
在我的项目文件夹中,文件夹 de.lproj
和 en.lproj
是使用 Localized.strings
内部创建的。
但是,启动iPhone模拟器后,英文 被加载为默认语言。将语言设置为德语后,我的应用程序的语言没有改变。即使从我的应用程序中删除并重新安装该应用程序后 设备不起作用。
当设置中的语言更改时,我需要做什么才能自动切换语言?
最佳答案
正如我的评论中所述,清理并重新构建将解决问题。
对于本地化功能,您必须经常清理和重建
,因为此功能由 XCode 缓存。
关于objective-c - iOS 本地化不加载语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019612/