在拥有多个实例时获得正确的i18n

时间:2018-02-28 00:46:22

标签: node.js internationalization

我有一个包含简单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但是没有用)

0 个答案:

没有答案