如何在settings.bundle中本地化第二个plist文件?

时间:2011-12-01 19:37:59

标签: objective-c plist settings.bundle

我的应用程序中有settings.bundle,其中Root.plist使用

正确本地化
Strings Filename Root

enter image description here

现在我有另一个名为NewInfo的plist文件。我该如何本地化呢?当我使用相同的字符串文件名“Root”时没有任何反应。

有什么想法吗?

2 个答案:

答案 0 :(得分:11)

编辑回答:

我发现在设置包中本地化第二个子窗格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

答案 1 :(得分:2)

在Xcode中找到项目中的文件。选择它并打开文件检查器(查看 - >实用程序 - >显示文件检查器)。你会看到本地化,只需点击+按钮并添加你想要的语言。