xcode SwiftUI预览无法使用stringsdict文件处理复数

nwwlzxa7  于 2023-04-22  发布在  Swift
关注(0)|答案(1)|浏览(171)

有人成功地在SwiftUI中预览了复数吗?
Apple使用.stringsdict file来处理复数。然而,当尝试在预览中呈现该字符串时,例如:
Text("days \(1)", tableName: "Pluralized", bundle: Bundle.module)
在Xcode中预览时,复数形式似乎永远无法正常工作。

xbp102n0

xbp102n01#

您必须使用lld,而不是d作为数字的格式字符。
这不起作用:

<key>days %d</key>
    <dict>
      <key>NSStringLocalizedFormatKey</key>
      <string>%#@days@ fa</string>
      <key>days</key>
      <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>d</string>
        <key>one</key>
        <string>%d giorno</string>
        <key>other</key>
        <string>%d giorni</string>
      </dict>
    </dict>

相反,以这种方式编写您的复数字符串:

<key>days %lld</key>
    <dict>
      <key>NSStringLocalizedFormatKey</key>
      <string>%#@days@ fa</string>
      <key>days</key>
      <dict>
        <key>NSStringFormatSpecTypeKey</key>
        <string>NSStringPluralRuleType</string>
        <key>NSStringFormatValueTypeKey</key>
        <string>lld</string>
        <key>one</key>
        <string>%lld giorno</string>
        <key>other</key>
        <string>%lld giorni</string>
      </dict>
    </dict>

相关问题