IOS Swift 本地化复数:与 14.4.2

问题描述

作为一个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>

文件结构:

File

更新:

下面显示我应用复数本地化的屏幕截图 diff_room 是我要申请房间的钥匙

Capscreen - IOS 12 mini 14.4

Capscreen - IOS 12 迷你版。 14.4.2

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...