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

13

我正在学习如何本地化我的项目字符串,使用的是 Xcode 4。

我已经生成了基础的 Localizable.strings 文件,并且想要导入这个文件,将它的编码从 utf-16 改成 Unicode utf-16,以便在 xCode 中能够读取文件中的文字。如果我直接导入这个文件,在 xcode 中选择它时,文件中的文字会显示为乱码。

Xcode 3 中,当你将 Localizable.strings 拖入你的项目时,弹出的对话框会给你更改文本编码的选项,但是在 Xcode 4 中并不是这样情况。

有人知道解决方法吗?

5个回答

15

也许这可以帮到你:Objective C/Xcode 4: 本地化字符串文件的编码问题

如果你在Xcode中复制和粘贴内容,或者从外部文件中导入本地化文件,则可能会出现此类错误。结果是文件的编码更改为例如西方(Mac OS Roman)。但实际上,Localizable.strings文件应该采用UTF-16编码。

解决方法:

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

  2. Localizable.strings

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

  4. 确保您在Xcode中显示Utilities视图。在下图标记1处激活该按钮。

XCode Utilities

  1. 在Utilities视图中选择“文件检查器”(小徽标类似于页面)。

  2. 在文本设置下将编码更改为UTF-16(如上图2所示)。下拉菜单可能会变灰,但您仍然可以单击它。点击弹出窗口中的“转换”按钮。

这就是了,你现在的项目应该能够再次编译成功了。


0
有时候Xcode会显示警告,即使文件内容是UTF-16,但该文件被解释为UTF-8。在这种情况下,iconv通常会说无法转换文件。像Edmar建议的那样,在Xcode中将文件转换为UTF-8,然后再将其转换回UTF-16,可以解决此问题。警告已经消失了。
为确保在转换过程中没有出现任何问题,请重新检查整个字符串文件。

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

0

更改编码后,重新执行 genstrings 命令以重新生成本地化字符串,应该可以解决问题。


-1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接