添加第二个.plist作为子窗格

时间:2013-11-21 20:03:01

标签: ios objective-c xcode settings.bundle root.plist

我在Root.plist中加入了一个儿童窗格,我遇到了很多麻烦。 我见过同样的问题HERE,但我无法用这些答案来解决。 很抱歉重复类似的问题。

这是Root.plist的捕获: Root.plist

这是Connection.plist的捕获: Connection.plist

我的工作是一步一步:

1.-创建一个名为“Connection.plist”的新属性列表

2.-由于新的属性列表不在我的Settings.bundle中,我按照HERE添加它。 (注意:我也尝试过没有第二步,我的意思是,使用Settings.bundle中的属性列表)。

3.-编辑Root.plist,添加一个类型为“Child Pane”且文件名为“Connection”的新项目。

这就是全部,我认为这些步骤应该有效,但我看不到新的属性列表。就好像Root.plist不能识别Connection.plist ......

我不知道我做错了什么,我已经学过很多教程和视频教程......没有用......

非常感谢!! 干杯,豪尔赫。

1 个答案:

答案 0 :(得分:7)

我发现在设置包中本地化第二个子窗格plist文件的唯一方法是手动完成。

我刚测试了这个并且它有效:

在Finder中打开Settings.bundle时,在每个language.lproj文件夹中,制作Root.strings文件的副本,并将其重命名为NewInfo.strings(例如)。 / p>

一旦你有了这个,你应该在Xcode中看到你的设置包中有这些新的字符串文件。

现在在NewInfo.plist文件中,确保您有一个名为StringsTable的字段,并将其值设置为NewInfo(或任何您称为新字符串文件的字段)。

我刚刚在Xcode 4.2中对此进行了测试,本地化工作完美无缺:

这是Root.plist的屏幕截图,我在其中添加了一个“TEST”行来打开子窗格。注意另一个NewInfo.plist和关联的字符串在正确的lang.lproj文件夹中(再次,我将它们手动放在Finder中)。

enter image description here 现在这里是带有StringsTable键的NewInfo.plist,它对应于相关的.strings文件名:

enter image description here

以下是FR和EN中字符串文件的值:

enter image description here

enter image description here

结果设置页面在模拟器中的FR和EN中,显示本地化有效:

enter image description here

enter image description here

enter image description here

enter image description here