iPhone Settings.bundle的本地化

Axe*_*eva 20 iphone xcode localization ios settings.bundle

出于某种原因,我无法让Settings.bundle识别我的其他语言.我必须遗漏一些明显的东西,但我无法弄明白.这是我得到的:

XCode中的项目结构:

XCode屏幕截图

Root.plist文件:

Root.plist文件http://img227.imageshack.us/img227/571/screenshot20100624at334.png

法语Root.strings文件

french Root.strings file http://img121.imageshack.us/img121/571/screenshot20100624at334.png

从我读过的所有内容来看,我认为项目结构是正确的.Root.plist中的StringsTable匹配单个.strings文件的名称,Root.plist中每个项目的Key也在.strings文件中匹配.

当我更改默认的iPhone语言时,为什么我在设置中看不到法语文本?

提前致谢!

小智 18

对我来说,问题是分开一个分号!

在localizable.strings中,如果省略";",则会出现运行时错误,但在Root.strings中,您没有收到任何警告,您可以正常运行,但它不会起作用!

因此请仔细检查以确保每个键都标点:使用分号对值组!

  • 啊,“;”,我以前没有意识到这一点!你救了我。 (2认同)

Axe*_*eva 15

我会继续回答我自己的问题,因为我通过测试和失败解决了问题.希望这将有助于未来的其他人.

首先,我认为我的Root.plist文件可能已损坏.我不确定为什么,但我完全删除了Settings.bundle,并重新创建它以确定.

其次,也许最重要的是,主要问题是文件中的"密钥" root.strings与" key"字段不匹配Root.plist,它实际上与" Title"字段匹配.

一旦我对Root.strings文件进行了这些更改,它就开始工作了.

  • 实际上它确实有意义.密钥对应于用于标识应用程序中每个设置的唯一标识符.标题对应于显示Settings.app的字符串. (5认同)

Edu*_*sso 9

您需要做的就是在设置之后保留(或添加,如果它不存在)Root.plist中的"Strings Filename".

用示例检查图像

然后,添加Value"Root"(或文件的名称和翻译)以使创建的lang .lproj转换功能正常.