本地化嵌套的Info.plist键

时间:2012-08-23 22:19:30

标签: objective-c macos cocoa internationalization plist

我正在尝试本地化InfoPlist.strings文件中的一个密钥,该密钥由嵌套字典组成,如下所示:

baseKey = {
    secondDict = {
        "key" = "value";
    };
};

有没有办法可以直接从InfoPlist.strings文件访问内部密钥?

"baseKey.secondDict.key" = "newValue";

似乎没有用......有什么想法吗?我知道我可以在字符串文件中复制字典结构,但它包含一些我不希望在那里的其他信息。

2 个答案:

答案 0 :(得分:2)

显然它的工作原理如下:

"value"替换为一些本地化标识newvalue_i18n_key

然后,在每种语言的InfoPlist.strings中,执行以下操作:

newvalue_i18n_key = "value";

这与NSLocalizedString的工作方式更相似。在我看来,这是 Apple在the official documentation regarding localizing plist files中所说的,但这正是Apple在some sample code.中所做的事情

This question提出了相同的答案。

答案 1 :(得分:-1)

您可以通过这种方式快速访问嵌套值,其中“User”是NSDictionary的键,“Username”是NSString的键。

yourDict[@"User"][@"Username"]