[英]Porting of Plural string from Localizable.strings to Localizable.stringsdict with %@ input formatter in the middle of stirng
[英]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>
這是它在操場上提供的:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.