我有一个包含简单i18n配置的模块,类似于以下配置:
var i18n = require("i18n");
module.exports = function(){
i18n.configure({
locales:['en', 'de'],
directory: __dirname + '/locales'
});
i18n.translate = function(w){
return i18n._(w);
}
return i18n;
}
我的主要类成功地使用这个实例进行国际化,但是当我在一个新项目中导入这个模块时,它也拥有自己的i18n实例和语言环境,我注意到它有时会进行正确的翻译,而其他人正在尝试从错误的i18n文件中获取翻译,导致密钥在错误的文件中保存为新的键/值对,并且不进行翻译。
我该如何解决这个问题?我知道这两个实例没有任何共同的关键,所以如果我能够始终保持两个语言环境都可用,那就太棒了(试过register: global
但是没有用)