【发布时间】:2014-04-09 14:37:39
【问题描述】:
我正在使用新的字符串字典格式来本地化和复数我的应用程序中的一些字符串。
我阅读了this 和this 以供参考,我希望我的来自stringsdict 的本地化字符串被正确抓取。
问题是,我总是看到“零”键的值,我不知道这里发生了什么问题,因为很难调试本地化方法中的操作。
让我在这里放一些代码:
1 - 这是我的 Localizable.stringsdict 文件,在同一个项目中也存在一个 Localizable.strings。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>%i minutes</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%i %#@minutes@</string>
<key>minutes</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>i</string>
<key>one</key>
<string>One minute</string>
<key>two</key>
<string>Two minutes</string>
<key>other</key>
<string>Other minutes</string>
<key>zero</key>
<string>Zero minutes</string>
</dict>
</dict>
</dict>
</plist>
2 - 有一个简单的代码来测试这个字符串
NSString *output = [NSString localizedStringWithFormat:NSLocalizedString(@"%i minutes", nil), 5 ];
NSLog(@"Output: %@", output); // And here, always display "Output: 5 Zero minutes" independently the value I put in the formated string, in this case (five) needs to display "Output: 5 Other minutes"
感谢您的帮助。
【问题讨论】:
标签: ios objective-c nslocalizedstring