1

このページを見て、複数形を処理する方法を確認します。

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html#//apple_ref/doc/uid/10000171i-CH5-SW10

以下を含むenglish.stringsdictを追加しました。

<plist version="1.0">
    <dict>
        <key>%d file(s) remaining</key>
        <dict>
            <key>NSStringLocalizedFormatKey</key>
            <string>%#@files@</string>
            <key>files</key>
            <dict>
                <key>NSStringFormatSpecTypeKey</key>
                <string>NSStringPluralRuleType</string>
                <key>NSStringFormatValueTypeKey</key>
                <string>d</string>
                <key>one</key>
                <string>%d file remaining</string>
                <key>other</key>
                <string>%d files remaining</string>
            </dict>
        </dict>
    </dict>
</plist>

ファイル インスペクターのローカライズ プロパティを英語に設定しました。次の内容を含む Localizable.strings も英語に設定しています。

/* Message shown for remaining files */
"%d file(s) remaining" = "%d file(s) remaining";

スキーマのアプリケーション言語を英語に設定しました。

このようにラベルテキストを設定しています

self.label.text = [NSString localizedStringWithFormat:NSLocalizedString(@"%d file(s) remaining", @"Message shown for remaining files"), count];

表示されているのは「残り5ファイル」

表示したいのは残り5ファイル、1ファイルなら残り1ファイルです。

4

1 に答える 1

0

Localizable.stringsdict と同じキーを Localizable.strings に含めることはできません。システムは最初に Localizable.strings を調べ、キーが見つからない場合は Localizable.stringsdict を調べます。

解決策:削除するだけ

/* Message shown for remaining files */
"%d file(s) remaining" = "%d file(s) remaining";

Localizable.strings から

于 2015-09-03T08:46:02.570 に答える