问题描述:
使用i18next和jQuery时,使用插值函数进行文本替换时可能会出现问题。 插值函数使用${variableName}表示文本中的变量。 但是,在将其与jQuery结合使用时,应在插值函数和变量名称之间添加空格,否则i18next无法正确识别插值函数。
解决方案:
正确使用插值函数:${variableName}
。
无效使用插值函数:${variableName}
(错误写法)。
以下为有效示例代码:
const data = {
name: 'i18next',
framework: 'jQuery'
};
// Use of interpolation function
const label = i18next.t('label.text', {
name: `${data.name}`,
framework: `${data.framework}`
});
// text in your translation file
// {
// "label": {
// "text": "{{name}} is a translator for {{framework}}"
// }
// }
在此示例中,${data.name}
和${data.framework}
之间有一个空格,以使i18next正确解析插值函数。