如何在Xcode 4中更改Localizable.strings文件的文本编码?

我正在学习如何本地化我的项目中的string,我正在使用Xcode 4。

我已经生成了基本的Localizable.strings文件,并且我想导入这个文件,将其编码从utf-16更改为Unicode utf-16,以便文件中的文本在xCode中可读。 如果我战略导入这个文件,当我在xcode中select它时,文本显示为乱码。

在Xcode 3中,当您将Localizable.strings拖放到项目中时,出现的对话框提供了更改文本编码的选项,但Xcode 4中不是这种情况。

有没有人知道这个方法?

也许这可以帮助你Objective C / Xcode 4:与Localizable.strings文件的编码问题

如果您在Xcode中复制和粘贴内容,或者从本地化文件中的外部文件中粘贴内容,就会发生这类错误。 结果是,该文件的编码更改为例如西方(Mac OS罗马)。 Localizable.strings文件应该是UTF-16。

1.如下图所示,在Xcode中导航到Localizable.strings位置并打开它,以便您可以看到您所支持的所有语言。

Localizable.strings

  1. 左键单击导致构build错误的语言文件。

  2. 确保您的实用程序视图在Xcode中显示。 在下图中标记1的button上激活。

XCode实用程序

  1. 在工具视图中select文件检查器。 (看起来像页面的小徽标)

  2. 在“文本设置”下,将编码更改为UTF-16(在上图中标记为2)。 下拉菜单可能会变灰,但您可以点击它。 点击popup的“转换”。

这就是你的项目现在应该再次编译。

我的Localizable.strings文件的“文本设置”没有像XCode 3那样更改编码的选项。但是,如果我简单地重新启动Xcode 4,它会正确重新解释(UTF-16)。

有时Xcode会显示警告,即使文件内容是UTF-16,但文件被解释为UTF-8。 iconv通常说在这种情况下它不能转换文件。 将Xcode中的文件转换为UTF-8,然后再将其转换回UTF-16,就像Edmarbuild议的那样,可以解决这个问题。 警告消失了。

为了确保在转换过程中没有任何问题,请重新检查整个string文件。

更改编码后,重新执行genstrings命令重新生成本地化string,事情应该工作。

查看 – >实用程序 – >显示文件检查器
在文件检查器工具视图中更改文本编码。