NslocalizedString返回键而不是值

问题描述 投票:10回答:8

我创建了两个Localizable.strings文件,其中一个用于英语,第二个用于阿拉伯语:

/* The number 1 */
"LABEL_ONE" = "label number one";

我正在使用此代码获取字符串值:

[self.Lable1 setText:NSLocalizedString(@"LABEL_ONE", @"The number 1")];

但是应用程序显示“ LABEL_ONE”而不是“标签第一”?有什么问题 ?谢谢

ios nslocalizedstring
8个回答
10
投票

您的字符串文件名必须是Localizable.strings。


5
投票

您的代码正确,所以问题出在其他地方。

这里有一些可能性:

  1. Localized.strings文件未复制到应用程序捆绑包中。要使用“项目导航器”验证对Localized.strings文件的关注,并确保在“目标成员身份”下的右窗格中选中了目标,
  2. Localized.strings文件中存在一些语法问题,即缺少;
  3. 您引用的代码不会执行。要验证是否放置了断点,并查看是否已到达断点或使用一些调试日志...
  4. 该字符串在阿拉伯文的Localized.strings中出现,但在英语中缺少。

5
投票

除了最重要的答案外,本地化文件还必须命名为Localizable.strings,而不是其他任何名称。


0
投票

您的问题很简单:


0
投票

尝试这个答案,这对我有用我在iOS Simulator上遇到问题。我最终删除了模拟器目录中的Localization.strings文件


0
投票

就我而言,在最初向其引入i18n之后清理项目解决了它。


0
投票

检查在;之后是否错误添加了任何文本/字符。在Localizable.strings文件中。


-1
投票

[[2017年8月以来的答案。编译器可能已更改]

© www.soinside.com 2019 - 2024. All rights reserved.