ios - 数字和名称的复数化(swift stringsdict)

标签 ios swift pluralize

我有一个 stringdict 和下面的句子我想翻译成多种语言:

<key>myKey</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>My friend %#@name@ has %#@count@.</string>
    <key>count</key>
    <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>one</key>
        <string>one dog</string>
        <key>other</key>
        <string>%d dogs</string>
    </dict>
</dict>

我想要的是使用下面的代码来创建我的字符串

let name = "Peter"
let dogs = 3
let myString = String(format: NSLocalizedString("myKey", comment:""), name, dogs)

我原本希望得到“我的 friend 彼得有 3 条狗。”,但我得到了一个错误。因此,也许有人可以提供提示并帮助我,我如何在 dict 中使用字符串,或者也许有另一种方法可以做到这一点?

最佳答案

除了什么Andreas said : 没有字典 %#@name@ 格式字符串中的变量,但您可以简单地使用 %@ 取而代之的是 Swift 字符串。然后是完整的 stringdict 条目 成为

<key>myKey</key>
<dict>
    <key>NSStringLocalizedFormatKey</key>
    <string>My friend %@ has %#@count@.</string>
    <key>count</key>
    <dict>
        <key>NSStringFormatValueTypeKey</key>
        <string>d</string>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>one</key>
        <string>one dog</string>
        <key>other</key>
        <string>%d dogs</string>
    </dict>
</dict>

关于ios - 数字和名称的复数化(swift stringsdict),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49810838/

相关文章:

php - iOS JSON 错误 : NSDebugDescription=Garbage at end

ios - 以图形方式将声音表示为波

swift - 更新到 iOS 11 后,我的搜索栏表现很奇怪

go - 判断一个词是否是另一个的复数形式

ruby-on-rails - 如何覆盖 Rails 命名约定?

ios - Swift 2 - 为什么 UIButton 在作为子项添加到另一个 UIViewController 中的 View 中不起作用?

iphone - 在 UIWebview 中停止滚动

ios - 保存 ViewController 的实例

swift - Steam 构建错误 : manifest parse error(s)

c# - Entity Framework Core RC2 表名复数化