3

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

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

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

4

3 回答 3

1

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

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

于 2014-08-28T22:48:35.243 回答
1

你可以设置

i18next.sync.resStore = {}

然后打电话

i18next.init(callback)

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

于 2014-11-26T18:58:23.307 回答
1

最好使用带有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']);
于 2019-03-05T13:00:02.923 回答