簡體   English   中英

Swift:使用Localizable.stringsdict在本地化字符串中的千位分隔符

[英]Swift: Thousand separator in localised strings using Localizable.stringsdict

我嘗試使用Localizable.stringsdict在快速應用程序中處理復數形式。

到目前為止,所有方法都工作正常,但是沒有大數的千位分隔符。 有什么辦法可以得到這樣的結果:

1 new Continent
1,000 new Continents

此刻我得到

1 new Continent
1000 new Continents

這是Localizable.stringsdict文件的開始

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>WNC_NewContinents</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@Variable@</string>
        <key>Variable</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>zero</key>
            <string>%d new Continents</string>
            <key>one</key>
            <string>%d new Continent</string>
            <key>other</key>
            <string>%d new Continents</string>
        </dict>
    </dict>

這是我使用的Swift代碼

   var bodyText: String = ""
   let item1 : Int = 1
   let item1000 : Int = 1_000

   let format = NSLocalizedString("WNC_NewContinents", comment: "")

   bodyText += String.localizedStringWithFormat(format, item1)
   bodyText += "\n"
   bodyText += String.localizedStringWithFormat(format, item1000)

這個怎么樣:

let s = String(format: format, locale: Locale.current, arguments: [item1000])
print(s) //1,000 new Continents

語言環境不會更改數字格式。

給定字典:

<dict>
    <key>WNC_NewContinents</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@variable@</string>
        <key>variable</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>zero</key>
            <string>new Continents</string>
            <key>one</key>
            <string>%d  new Continent</string>
            <key>other</key>
            <string>%d new Continents</string>
        </dict>
</dict>

這是它在操場上提供的:

1000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM