i18next说密钥总是丢失

时间:2015-12-24 13:27:59

标签: node.js

我是Node.js的新手。我想与国际化合作。我正在尝试使用i18next。我写了这段代码:

i18n.init({
  lng: 'en',
  debug: true,
  load: ['en', 'ar'],
  fallbackLng: 'en',
  backend: {
    "loadPath": path.join(__dirname,"locale/en/translation.json")
  },
  getAsync:false
}, (err, t) => {
  console.log("this is key value :"+(t("key")));
  return t;
});

在我的en/translation.json文件中,我有以下内容:

{
  key:"hello anil"
}

当我运行该程序时,我收到此错误:i18next::translator: missingKey en translation key key

出了什么问题?请帮帮我。

1 个答案:

答案 0 :(得分:0)

检查调试日志。

我发现loadPath不是我想的,修好了它的工作路径。

原因是我的js文件位于构建目录中,因此路径变为build/locales/en.json而不是/locales/en.json

错误消息

[Error: ENOENT, open '/opt/www/build/locales/en.json']
   errno: 34,
   code: 'ENOENT',
   path: '/opt/www/build/locales/en.json' } ]

这是我的固定配置,

backend: {
    loadPath: 'locales/' + '{{lng}}.json',
},