如何在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位置并打开它,以便您可以看到您所支持的所有语言。
-
左键单击导致构build错误的语言文件。
-
确保您的实用程序视图在Xcode中显示。 在下图中标记1的button上激活。
-
在工具视图中select文件检查器。 (看起来像页面的小徽标)
-
在“文本设置”下,将编码更改为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,事情应该工作。
查看 – >实用程序 – >显示文件检查器
在文件检查器工具视图中更改文本编码。