我有一个字符串和后面的句子,我想用几种语言翻译:
<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)
我原本希望得到“我的朋友彼得有3只狗。”但是我得到了一个错误。所以也许有人提示并可以帮助我,我怎么可以在字典中使用字符串,或者可能还有其他方法可以做到这一点?
答案 0 :(得分:3)
除Andreas said之外:没有字典
格式字符串中的%#@name@
变量,但您只需使用%@
换一个Swift字符串。然后是完整的stringsdict条目
变
<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>
答案 1 :(得分:1)
您缺少格式类型键:
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
有关详细信息,请参阅String Format Specifiers