如何在 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 控件:如何更改页面控件的高度?