在 stirng 中间使用 %@ 输入格式化程序将复数字符串从 Localizable.strings 移植到 Localizable.stringsdict

Porting of Plural string from Localizable.strings to Localizable.stringsdict with %@ input formatter in the middle of stirng

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

"User added %@ posts.##{one}" = "User added a post.";

"User added %@ posts.##{other}" = "User added %@ posts.";

我希望将其从 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>

提前致谢

我找到了一种方法,通过如下修改字典

<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。