【问题标题】:Adding a second .plist as Child Pane添加第二个 .plist 作为子窗格
【发布时间】:2026-02-14 09:35:02
【问题描述】:

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

这是 Root.plist 的捕获:

这里是 Connection.plist 的捕获:

我做的,一步一步是:

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

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

3.- 编辑 Root.plist 添加一个类型为“子窗格”和文件名“连接”的新项目。

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

我不知道我做错了什么,我已经学习了很多教程和视频教程......没有任何效果......

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

【问题讨论】:

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


【解决方案1】:

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

我刚刚对此进行了测试,它可以工作:

当您在 Finder 中打开 Settings.bundle 时,在每个 language.lproj 文件夹中,复制 Root.strings 文件并将其重命名为 NewInfo.strings(例如)。

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

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

我刚刚在 Xcode 4.2 中对此进行了测试,并且本地化效果很好:

这是 Root.plist 的屏幕截图,我在其中添加了“TEST”行以打开子窗格。请注意其他 NewInfo.plist 和相关字符串位于正确的 lang.lproj 文件夹中(同样,我在 Finder 中手动将它们放在那里)。

现在这里是 NewInfo.plist,其 StringsTable 键对应于关联的 .strings 文件名:

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

在模拟器中生成的设置页面在 FR 和 EN 中显示,本地化工作正常:

【讨论】:

  • 谢谢!我需要在 Connection.plist 中将“字符串文件名”从“根”更改为“连接”。
最近更新 更多