如何在xcode4中本地化Settings.bundle?

Upv*_*ote 11 xcode localization settings-bundle xcode4

我正在研究xcode4并Settings.bundle为我的项目创建了一个.我可以Root.plist在xcode4中编辑该文件,但无法编辑该Root.strings文件.它甚至没有显示在编辑器中.

在此输入图像描述

我无法展开en.lproj文件夹,如图所示.

但是当我右键单击时,在外部编辑器中打开它会给我:

在此输入图像描述

双击Root.strings给我:

在此输入图像描述

我尝试了几次,创建了一个新的基于窗口的应用程序项目并创建了一个新的Settings.bundle.我总是无法本地化.有任何想法吗?

小智 21

在XCode 4.2中,您必须按照以下步骤操作(只需修改Xcode 3.2.2和Settings.bundle的本地化)

  1. 在Finder中显示您的Settings.bundle.
  2. 右键单击(或按住Ctrl键单击),然后选择"显示包内容".
  3. 创建一个名为所需语言的新文件夹(例如,fr.lproj).
  4. 从en.lproj文件夹中复制Root.strings文件并粘贴到fr.lproj文件夹中.


Mat*_*uch 13

编辑:苹果再次修复了错误的错误.他们的改变使我的解决方法毫无用处.它不再起作用,您无法将文件添加到Settings.bundle.

请参考Javi的答案,看似有效的方法.


我希望你喜欢丑陋的变通方法.

  1. 右键单击侧栏中的设置包.
  2. 选择 New File
  3. 选择资源/字符串文件
  4. 将其命名为Root.strings,确保将其放在settings.bundle中
  5. 在侧栏中,文件将可见两次.在"根"部分和Settings.bundle中.但两者都指向相同的文件.
  6. 在根部分中选择Root.strings文件.(AFAIR你必须将其转换为UTF16)
  7. 添加本地化,​​xcode会询问您是否要替换该文件.是的,你想要这个.
  8. 根据需要添加尽可能多的本地化.您应该能够在侧栏的根部分编辑该文件.

我希望这适合你,对我而言.

如果你还没有这样做,请在bugreport.apple.com上报告错误


我现在将安装新版本,让我们看看这是否已修复.编辑:未修复.


编辑:我不知道如果我理解你的第二个问题.但是当您向捆绑包外部显示的文件添加本地化时,它会向settings.bundle添加一个本地化文件夹

在此输入图像描述

将西班牙语本地化添加到Root.strings:

在此输入图像描述

实际文件位于foo.lproj文件夹中,它不会在xcode侧栏中显示它们.如果您检查文件系统中的位置,您将看到它们位于设置包中. 在此输入图像描述

昨天我检查了英文和德文文件,它在模拟器中正常工作.我想这只是一个错误的侧边栏布局.底层位置和文件处理似乎是正确的.

  • 我不明白.当我单击Settings.bundle并选择New File Xcode时,不允许我将Strings File放在Settings.bundle中.我怎么能把Root.strings文件放在Xcode中的Settings.bundle中呢?这是一个可怕的错误!这让我疯了:( (2认同)

dal*_*ind 7

对我来说,它可以将文件夹"en.lproj"的文件类型(在文件检查器中)从"默认/目录"更改为"目录".魔法.