我正试图在我的产品中加入土耳其的支持。土耳其语是粘着性语言。这意味着它倾向于用由许多元素组成的复杂词来表达概念,而不是通过拐点或使用孤立的元素。目前我们已经为i18next创建了密钥,如下所示:tr/resourceExample.json
{
"comment":"Yorum",
"comment_plural":"Yorumlar",
"select_label":"{{label}} seç"
}每当我们想要添加像"Select comments"这样的句子时,我们就使用
t("resourceExample:select_label",{label:t("resourceExample:comment_plural")})现在,这种方法适用于英语或西班牙语等语言。但对于土耳其语,comment的后缀如果与动词连用,则会发生变化。
例如,我们目前的关键结构将为土耳其提供以下输出:
约鲁姆拉·塞奇
但土耳其的实际预期结果是:
Yorumlarıse
保留这种结构的原因是我们不想为select_label创建新的键,因为Select something在许多地方使用,在这些地方,something可以被许多不同的单词所替代。
那么,我的问题是,在这种情况下,i18next中是否有任何功能可以提供帮助?
发布于 2021-11-01 15:52:36
如果我猜对了,您可以添加自定义格式函数。
i18next.services.formatter.add('objectify', (value, lng, options) => {
if(lng=='tr'){
//add suffix or any decorations here
value=value+"ı";
}
return value
})在i18next文档阅读更多内容
https://stackoverflow.com/questions/69797319
复制相似问题