如何禁用 i18next 多个复数
How to disable i18next multiple plurals
我正在构建一个 Hebrew
是主要语言的应用程序。
I18next 被定义为 Hebrew
使用 multiple plurals,但是,因为我使用的是数字,所以这些变体不相关。
它迫使我指定所有变体。
{
...
"BEDROOM": "חדר שינה אחד",
"BEDROOM_1": "$t(BEDROOM_plural)",
"BEDROOM_2": "$t(BEDROOM_plural)",
"BEDROOM_3": "$t(BEDROOM_plural)",
"BEDROOM_plural": "{{count}} חדרי שינה",
...
}
库里确实有simplifyPluralSuffix
,但是和我需要的正好相反
如果没有任何特殊变体的密钥,是否有任何配置会回退到 _plural
?
正如@jamuhl 在here 中建议的那样,可以覆盖复数规则
i18next.services.pluralResolver.addRule('he', {
numbers: [1, 2, 20, 21],
plurals: function(n) {
return Number(n != 1);
},
});
https://github.com/i18next/i18next/blob/master/src/PluralResolver.js#L90
我正在构建一个 Hebrew
是主要语言的应用程序。
I18next 被定义为 Hebrew
使用 multiple plurals,但是,因为我使用的是数字,所以这些变体不相关。
它迫使我指定所有变体。
{
...
"BEDROOM": "חדר שינה אחד",
"BEDROOM_1": "$t(BEDROOM_plural)",
"BEDROOM_2": "$t(BEDROOM_plural)",
"BEDROOM_3": "$t(BEDROOM_plural)",
"BEDROOM_plural": "{{count}} חדרי שינה",
...
}
库里确实有simplifyPluralSuffix
,但是和我需要的正好相反
如果没有任何特殊变体的密钥,是否有任何配置会回退到 _plural
?
正如@jamuhl 在here 中建议的那样,可以覆盖复数规则
i18next.services.pluralResolver.addRule('he', {
numbers: [1, 2, 20, 21],
plurals: function(n) {
return Number(n != 1);
},
});
https://github.com/i18next/i18next/blob/master/src/PluralResolver.js#L90