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

3

我正在使用NodeJS的i18next软件包来启用翻译。 我将它作为标准与每种语言-国家配对的json文件一起使用。

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

此外,是否可以使用数据库(我正在使用mongodb),而不是JSON文件? 在这种情况下,这样做是否更合适?

3个回答

1
你可以设置。
i18next.sync.resStore = {}

然后调用

i18next.init(callback)

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


1

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

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


1

最好使用官方的i18n API,其中包括reloadResources

// 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']);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接