i18Next - NodeJS - 如何在不重新加载服务器的情况下更改翻译

时间:2013-06-20 12:05:45

标签: node.js mongodb i18next

我正在使用i18next包为NodeJS启用翻译。我使用它作为标准,每个语言的COUNTRY对都有一个json文件。

我想构建一个管理页面来编辑翻译,而不必深入研究代码;那么,如何在管理员编辑后“重新加载”json文件,而不必重新启动服务器?

此外,是否可以使用DB(我使用的是mongodb)而不是JSON文件?在这种情况下会更合适吗?

3 个答案:

答案 0 :(得分:1)

您可以设置

i18next.sync.resStore = {}

然后致电

i18next.init(callback)

强制重新加载预加载的语言。

答案 1 :(得分:0)

我希望我知道如何在不完全重新初始化i18next-node的情况下重新加载JSON文件的答案。

在将翻译存储到数据库方面,i18next-node可以连接到MongoDB(以及Redis和CouchDB):http://i18next.com/node/pages/doc_init.html#backend

答案 2 :(得分:0)

最好使用带有reloadResources的i18n官方API。

// reload all
i18next.reloadResources();

// reload languages
i18next.reloadResources(['de', 'fr']);

// reload namespaces for all languages
i18next.reloadResources(null, ['ns1', 'ns2']);

// reload namespaces in languages
i18next.reloadResources(['de', 'fr'], ['ns1', 'ns2']);