如何更正在en.lproj文件夹中创建lproj文件夹的Xcode错误?

时间:2013-01-22 15:57:20

标签: iphone ios xcode ipad localization

我的项目中有一个Localizable.strings文件,我想为其添加更多本地化。

所以我转到项目设置并点击“+”添加语言。不知怎的,我不能在右侧面板上那样做,因为没有“+”按钮。

Xcode在文件系统的en.lproj文件夹中创建了cn.lproj文件夹,这个文件系统很乱,但是de.lproj之类的其他一些lproj文件夹确实会在它们所属的位置创建。

如何将xx.lproj文件夹移动到它所属的位置而不破坏Xcode中的所有内容?我担心将它们放在xcode放置的位置会导致运行时出错,因为cn.lproj不应该是en.lproj的子文件夹。

3 个答案:

答案 0 :(得分:3)

事实证明这是一个Xcode错误,但幸运的是它可以解决。

第一步是备份您的项目。然后将错误放置的lproj文件夹移出en.lproj,如果需要,将所有这些文件夹放在本地化的子文件夹中。 然后从Project Navigator中删除所有链接损坏的文件(红色)。对于带箭头的堆叠文件,您必须删除根项。不要选择“移至垃圾箱”。然后在“项目设置”中确保您拥有所需的所有本地化。将包含所有lproj文件夹的“本地化”sobfolder拖动到Xcode的任何位置,并确保将其添加到当前目标(必须在列表中选中添加到目标复选标记)。在我的情况下,一切都按照预期的功能完成。作为一个很好的副作用,我用箭头摆脱了这些烦人的堆叠文件,而是有一个非常清晰的组结构,包括本地化和几个lproj文件夹,这对我来说更有意义。

答案 1 :(得分:1)

添加本地化的正确方法是通过Xcode中的“项目信息”窗格。

看起来像这样:

Here's the most obvious way to add a localization via Xcode

我认为尝试以任何其他方式进行操作可能会遇到麻烦(或麻烦)。

答案 2 :(得分:0)

我想,你应该有一个英文文件夹en.lpoj。 现在,如果你单击“+”并选择xx作为语言,你应该得到另一个名为“xx.lpoj”的旧版本(在同一级别上),而不是在en.lproj中。 所以删除这个错误的子文件夹并再次执行...