我正试图在我的网站上实现i18next翻译,但无法获得成功。
i18next.init({
debug: true,
lng: 'en',
resources: {
en: {
translation: {
opt: {
page_title: 'Orders'
},
}
},
ru: {
translation: {
opt: {
page_title: 'Заказы'
},
}
}
}, function(err, t) {
jqueryI18next.init(i18next, $);
});我有我系统的某些部分的词汇表,这些部分需要有一组命名的变量。
i18next.addResources('en', 'desktop', {
'Авиа' : 'Avia',
'Ж/Д' : 'Train',
'Произвольная услуга' : 'Custom Service',
'Текущий баланс' : 'Current balance',
'Оборот за предыдущий месяц' : 'Turnover for the previous month',
'Оборот за текущий месяц' : 'Turnover for the current month',
'Общий оборот' : 'Total turnover',
});
i18next.loadNamespaces('desktop');下一个方程式没有成功:
var fincanceDict = {
company_balance : $.t('Текущий баланс'),
company_turnover_prev_month : $.t('Оборот за предыдущий месяц'),
company_turnover_current_month : $.t('Оборот за текущий месяц'),
company_turnover_full : $.t('Общий оборот')
}每个转换操作都会出现错误:
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Текущий баланс Текущий баланс
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Оборот за предыдущий месяц Оборот за предыдущий месяц
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Оборот за текущий месяц Оборот за текущий месяц
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Общий оборот Общий оборот如果我检查我的i18next.translator.resourceStore.data,我会得到en和ru语言对象的初始词汇表,其中有translation子对象,它拥有一组没有扩展名的嵌套键/值对。
我补充说我遗漏了一些东西,我试着把namespace改成default,再改回desktop也没用。
发布于 2017-09-12 22:03:13
loadNamespace ->确实通过后端加载命名空间(例如,xhr-后端):https://www.i18next.com/api.html#loadnamespaces
翻译是默认的命名空间,这就是为什么你可以在其中访问翻译,而不需要在t函数中预先加上它。https://www.i18next.com/configuration-options.html#languages-namespaces-resources
您可以创建一个"fixedT“函数
const desktopT = i18next.getFixedT(null, 'desktop');
desktopT('Текущий баланс');发布于 2017-09-12 17:06:19
我在谷歌上到处搜索,发现了一些没有描述就能解决我的问题的东西。我应该在i18next.t / $.t函数中使用名称空间值:
i18next.t('namespace:key')
或
$.t('namespace:key')
这就是我解决问题的方法:
$.t('desktop:Текущий баланс')我想知道如果我每次都要手动设置翻译namespace,i18next.loadNamespaces函数会做什么。
https://stackoverflow.com/questions/46171118
复制相似问题