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

Posted

技术标签:

【中文标题】如何在 Xcode 4 中更改 Localizable.strings 文件的文本编码?【英文标题】:How to change text encoding of Localizable.strings file in Xcode 4? 【发布时间】:2011-08-16 14:35:45 【问题描述】:

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

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

在 Xcode 3 中,当您将 Localizable.strings 拖到项目中时,出现的对话框为您提供更改文本编码的选项,但在 Xcode 4 中并非如此。

有人知道解决这个问题的方法吗?

【问题讨论】:

【参考方案1】:

也许这可以帮助你Objective C/Xcode 4: Encoding Problem with Localizable.strings files

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

解决方案

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

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

    确保您的实用程序视图显示在 Xcode 中。在下图中标记 1 处的按钮上激活。

    在实用程序视图中选择文件检查器。 (看起来像Page的小Logo)

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

就是这样,您的项目现在应该再次编译。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

为确保在转换过程中没有任何损坏,请重新检查整个字符串文件。

【讨论】:

【参考方案4】:

在更改编码并重新执行genstrings 命令以重新生成本地化字符串后,一切正常。

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于如何在 Xcode 4 中更改 Localizable.strings 文件的文本编码?的主要内容,如果未能解决你的问题,请参考以下文章

每次在 Xcode 4.3 中点击按钮时,如何更改按钮的标题?

如何从 XCode 4 Interface Builder 更改 NSScrollView 字体?

如何更改 Xcode 4 Organizer 的存储库列表中存储库的顺序?还是最初选择的存储库?

Xcode 4 UIPage 控件:如何更改页面控件的高度?

您可以在 Xcode 4 中批量更改每个文件的编译器标志吗?

Xcode 4.3 如何使用 SVN 合并来自两个开发人员的故事板更改?