问题描述
作为一个IOS开发者,我想开发一个默认支持不同语言的本地化模块。
当它与 12.4、13.4、14.4 一起运行时,它可以工作
当它在 14.4.2 上运行时,它不起作用。
能否告诉我们更多提醒细节,以便复数本地化也适用于 14.4.2? X
下面是我的工作。提前致谢。
Swift 代码:
let value: Int = 1
"diff_room".localizedForPlural(Int(value))
localizedForPlural 方法:
func localizedForPlural(_ value: Int) -> String {
let selectedLanguage = Localize.currentLanguage()
//recover the language chosen by the user (in my case,from UserDefaults)
if let path = Bundle.main.path(forResource: selectedLanguage,ofType: "lproj"),let selectedBundle = Bundle(path: path) {
let string = NSLocalizedString(self,tableName: nil,bundle: selectedBundle,value: value.stringValue(),comment: "")
DLog("#930 current language A: \(Localize.currentLanguage()) :\(String(format: string,value))")
return String(format: string,value)
}
DLog("#930 current language B: \(Localize.currentLanguage()) :\(localizedplural(value))")
return localizedplural(value)
}
Localizable.stringDict
<key>diff_room</key>
<dict>
<key>NsstringLocalizedFormatKey</key>
<string>%#@diff_room@</string>
<key>diff_room</key>
<dict>
<key>NsstringFormatSpecTypeKey</key>
<string>NsstringPluralRuleType</string>
<key>NsstringFormatValueTypeKey</key>
<string>d</string>
<key>one</key>
<string>%d Room</string>
<key>other</key>
<string>%d Rooms</string>
</dict>
</dict>
文件结构:
更新:
下面显示我应用复数本地化的屏幕截图 diff_room 是我要申请房间的钥匙
Capscreen - IOS 12 mini 14.4
Capscreen - IOS 12 迷你版。 14.4.2
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)