iOS本地化(Localizable.strings)无效

时间:2012-12-24 13:22:21

标签: iphone ios localization

我有一个带有“错误”消息的应用。我想翻译此错误消息。

好的,首先我创建了一个名为“Localizable.strings”的文件。在我写的文件中:

"ERR" = "Error";

然后在我的.m文件中写道:

self.label1.text = NSLocalizedString(@"ERR", nil);

这不起作用。我也尝试(当然)使文件本地化并添加更多语言。但它不起作用。

5 个答案:

答案 0 :(得分:23)

按照以下tutorial创建语言文件,而不是在填写后再执行以下操作:

  1. do ultraclean(功能键+ shift + k)
  2. 重建
  3. 删除您的应用
  4. 重新安装您的应用

答案 1 :(得分:7)

我遇到了同样的问题。我盯着它好几天,直到我偷看了应用程序包,看到我的.strings文件都没有被复制......

解决方案是创建一个构建阶段来复制字符串文件:(改编自here

  1. 转到目标\构建阶段
  2. 点击“添加构建阶段”按钮,然后选择“复制文件”
  3. 在“复制文件”阶段选择“资源”
  4. 在项目中添加Localizable.strings和任何其他字符串文件。
  5. TADA!

答案 2 :(得分:2)

如果未显示本地化的字符串,则窗格中可能还有另一个Localizable.strings,因此:

1-将“ Localizable.strings”名称更改为Localized.strings

2-将其指定为tableName参数

let myStr = NSLocalizedString("key", tableName: "Localized", comment: "comment")

答案 3 :(得分:1)

以下提到的步骤可能会对您有所帮助:

  1. 右键单击Xco​​de左窗格中的文件
  2. ,选择“新建文件”
  3. 屏幕显示如屏幕截图1所示
  4. 选择“字符串”文件
  5. 将文件重命名为“Localizable.strings”,如屏幕截图2所示
  6. 按以下格式将所需文本添加到文件中:   “newStringItem”=“这是新的String项目”;

  7. 现在文件内容可以用作NSLocalizedString(@“newStringItem”,@“”),它返回相应的字符串。

  8. 足底!完成本地化!

    Screenshot 1

    Screenshot 2

答案 4 :(得分:0)

如果按如下方式使用,会发生什么?

self.label1.text = [NSString stringWithFormat:@"%@",NSLocalizedString(@"ERR", nil)];