使用无数字的多个字符串

hpi*_*que 6 macos plural localizable.strings ios ios7

我对.stringsdict 文档感到有点困惑(滚动到"本地化属性列表文件").

给定了大量文件,我想显示保存文件或相应保存保存文件.我认为以下内容可行,但事实并非如此.

在代码中:

NSString *string = [NSString localizedStringWithFormat:NSLocalizedString(@"%Save Files", @""), (long)files.count];
Run Code Online (Sandbox Code Playgroud)

Localizable.stringsdict:

<key>Save Files</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>Save %#@files@</string>
    <key>files</key>
    <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>ld</string>
        <key>one</key>
        <string>File</string>
        <key>other</key>
        <string>Files</string>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)

始终显示保存文件,无论计数.

我究竟做错了什么?

小智 -1

你错过了%ld里面NSLocalizesString

NSString *string = [NSString localizedStringWithFormat:NSLocalizedString(@"%ld Save Files", nil), (long)files.count];
Run Code Online (Sandbox Code Playgroud)

plist dict应该:

<key>%ld Save Files</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>%ld Save %#@files@</string>
    <key>files</key>
    <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>ld</string>
        <key>one</key>
        <string>File</string>
        <key>other</key>
        <string>Files</string>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)