Xcode Localization & Internationalization: Exporting for Localization (XLIFF) 不会导出 Info.plist 条目

Posted

技术标签:

【中文标题】Xcode Localization & Internationalization: Exporting for Localization (XLIFF) 不会导出 Info.plist 条目【英文标题】:Xcode Localization & Internationalization: Exporting for Localization (XLIFF) does not export Info.plist entries 【发布时间】:2016-07-12 02:23:55 【问题描述】:

我有想要本地化的通用 Info.plist。我也有 InfoPlist.strings,其中有 InfoPlist.Strings (Spanish)InfoPlist.Strings (Base)

我的问题是,当我转到Editor > Export for Localizations... 时,它生成的 XLIFF 文件没有任何我需要用西班牙语本地化的 Info.plist 条目(我的基本本地化是英语)。它也不会包含我手动添加的 InfoPlist.strings 的任何内容。

如果我手动将它们添加到XLIFF,我添加的条目会在导入时被删除。如果我手动将它们添加到 InfoPlist.Strings(西班牙语)然后导出,我手动添加的条目会被清除。

我真的不知道如何本地化我的 plist 文件,因为无论我走到哪里,条目都会被删除。

我的es.lprojbase.lproj 文件夹中有一个InfoPlist.strings。

我不得不说 only 没有被清除的条目在我的西班牙语文件中为CFBundleName

【问题讨论】:

这里有同样的问题。你能弄明白吗? @guido - 有点。请看下面我的回答。 :) 【参考方案1】:

能够让这个工作,但不是以如此明显的方式。

首先,我从 Xcode 中删除了 InfoPlist.strings 文件,然后完全关闭了 Xcode。

然后我打开我的项目文件夹并在我的每个 lproj 文件夹中手动创建了一个 InfoPlist.strings 文件。我将每一个都命名为相同的:InfoPlist.strings

即使我的字符串会落入基本的lproj 文件夹,我什至对英文lproj 文件夹也这样做了。

重新打开 Xcode。

即使这些仍然不能通过Editor 菜单中的Export for Localizations... 选项导出,我也必须在Xcode 中手动完成。导出/导入似乎并没有弄乱这些文件,幸运的是,Info.plist 文件没有太多需要翻译的地方。

【讨论】:

好的。谢谢马里奥。不幸的是,我也有一些自定义 plist。期待大量的复制粘贴:-) @guido 我很抱歉! :( 是的,我也必须进行一些复制和粘贴。我可以将英文 plist 留空,因为我使用 Base 作为翻译的最终后备。【参考方案2】:

将 InfoPlist.strings 的本地化从 Base 更改为 English,然后导出和导入都可以正常工作。

【讨论】:

【参考方案3】:

我在手动添加的 plist 键上遇到了同样的问题,只需在导出之前将该键添加到 Base 和 English 本地化版本中,就不会再删除自定义字符串了。 (在这里添加到英文本地化似乎是关键)

【讨论】:

以上是关于Xcode Localization & Internationalization: Exporting for Localization (XLIFF) 不会导出 Info.plist 条目的主要内容,如果未能解决你的问题,请参考以下文章

iOS国际化

hdl_localization_nodelet.cpp问题记录

iOS小技能:本地化(Internationalization & Localization)

论文笔记之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine

(Review cs231n) Spatial Localization and Detection(classification and localization)

Flutter easy_localization 和 intl 版本解决失败