我想在 swift for iOS 中使用复数 stringdict 翻译这个字符串
由于这个问题,使用没有占位符的简单复数有效 但是当我添加一个字符串占位符时,我在访问它时崩溃了。
该规则复数正在使用下面的XML:
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>li</string>
<key>one</key>
<string>Sleeps at your place</string>
<key>other</key>
<string>Sleep at your place</string>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
并使用这个 swift 代码来引用上面没有字符串占位符的复数:
let format = NSLocalizedString("key_to_plural_above", comment: "")
let label = String.localizedStringWithFormat(format, kidsIds.count)
Run Code Online (Sandbox Code Playgroud)
问题是当我向翻译添加字符串占位符时,当我尝试阅读它时会崩溃。下面的 xml 是由翻译工具 ( lokalise )生成的,所以我认为它是正确的。
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>li</string>
<key>one</key>
<string>Sleeps at %1$@</string>
<key>other</key>
<string>Sleep at %1$@</string> …Run Code Online (Sandbox Code Playgroud)