Localization 使用";。stringsdict“;使用';本地化字符串格式'--&燃气轮机;数字是否为您本地化?
我正在尝试生成以下本地化字符串:Localization 使用";。stringsdict“;使用';本地化字符串格式'--&燃气轮机;数字是否为您本地化?,localization,nsstring,nsnumberformatter,nslocalizedstring,plural,Localization,Nsstring,Nsnumberformatter,Nslocalizedstring,Plural,我正在尝试生成以下本地化字符串: NSInteger days = ...; localizedDueDateString = [NSString localizedStringWithFormat:NSLocalizedString(@"In %d Days", @"Indicates days"),ABS(days)]; “在天内”->(例如:在5天内) 为了实现这一点,我选择了.stringsdict路线: <key>In %d Days</key> &l
NSInteger days = ...;
localizedDueDateString = [NSString localizedStringWithFormat:NSLocalizedString(@"In %d Days", @"Indicates days"),ABS(days)];
“在天内”->(例如:在5天内)
为了实现这一点,我选择了.stringsdict路线:
<key>In %d Days</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@Days@</string>
<key>Days</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>zero</key>
<string>Today</string>
<key>one</key>
<string>In %d Day</string>
<key>other</key>
<string>In %d Days</string>
</dict>
</dict>
这将正确地输出一个表示复数的字符串。例如:
In 1 day
In 4 days
我想知道这里的“1”和“4”是否本地化正确。其他语言,例如阿拉伯语,其数字有不同的符号。我希望上面的字符串使用阿拉伯语的符号“٤”而不是“4”
我知道这可以使用NSNumberFormatter实现,但如何在同时实现数字本地化和.stringsdict文件?是
在配合“localizedStringWithFormat”方法使用.stringsdict文件时,数字似乎可以正确交换
我把我的iPad语言换成阿拉伯语,输出为
In 1 day
是
١ day In
我还没有完成阿拉伯语本地化,所以“In”和“day”都是英语,但数字似乎本地化正确。不需要NSNumberFormatter