0

Localizable.strings中,我有下面的复数字符串,其中一个和另一个

"用户添加了 %@ 个帖子。##{one}" = "用户添加了一个帖子。";

"用户添加了 %@ 个帖子。##{other}" = "用户添加了 %@ 个帖子。";

我希望将其从 Localizable.strings 中删除并将其添加到 Localizable.stringsdict。

我之前已经为字符串开头的输入格式(%d)的基本字符串做过这个。但是,对于在字符串中间具有输入格式的字符串,我从来没有使用过 Localizable.stringsdict

谁能帮我以以下格式导出上述字符串?

<key>Fill_Here</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>Fill_Here</string>
    <key>Fill_Here</key>
    <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>Fill_Here</string>
        <key>one</key>
        <string>Fill_Here</string>
        <key>other</key>
        <string>Fill_Here</string>
    </dict>
</dict>

提前致谢

4

1 回答 1

0

我想出了一种方法来做到这一点,通过修改字典如下

<key>User added %@ posts.</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>%#@posts@</string>
    <key>posts</key>
    <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>d</string>
        <key>one</key>
        <string>User added %d post.</string>
        <key>other</key>
        <string>User added %d posts.</string>
    </dict>
</dict>

在这种情况下,使用 %@ 输入格式会使应用程序崩溃。所以我修改它以使用 %d 代替。

于 2017-07-04T12:05:14.557 回答