我创建了两个Localizable.strings文件,其中一个用于英语,第二个用于阿拉伯语:
/* The number 1 */
"LABEL_ONE" = "label number one";
我正在使用此代码获取字符串值:
[self.Lable1 setText:NSLocalizedString(@"LABEL_ONE", @"The number 1")];
但是应用程序显示“ LABEL_ONE”而不是“标签第一”?有什么问题 ?谢谢
您的字符串文件名必须是Localizable.strings。
您的代码正确,所以问题出在其他地方。
这里有一些可能性:
Localized.strings
文件未复制到应用程序捆绑包中。要使用“项目导航器”验证对Localized.strings
文件的关注,并确保在“目标成员身份”下的右窗格中选中了目标,Localized.strings
文件中存在一些语法问题,即缺少;
Localized.strings
中出现,但在英语中缺少。除了最重要的答案外,本地化文件还必须命名为Localizable.strings
,而不是其他任何名称。
您的问题很简单:
尝试这个答案,这对我有用我在iOS Simulator上遇到问题。我最终删除了模拟器目录中的Localization.strings文件
就我而言,在最初向其引入i18n之后清理项目解决了它。
检查在;之后是否错误添加了任何文本/字符。在Localizable.strings文件中。
[[2017年8月以来的答案。编译器可能已更改]