我正在使用NodeJS的i18next软件包来启用翻译。 我将它作为标准与每种语言-国家配对的json文件一起使用。
我想建立一个管理页面来编辑翻译,而不必深入代码; 那么,如何在管理员编辑后“重新加载”json文件,而无需重启服务器?
此外,是否可以使用数据库(我正在使用mongodb),而不是JSON文件? 在这种情况下,这样做是否更合适?
i18next.sync.resStore = {}
然后调用
i18next.init(callback)
强制重新加载您预加载的语言。
我希望我知道如何在不完全重新初始化i18next-node的情况下重新加载JSON文件的答案。
关于将翻译存储在数据库中,i18next-node可以连接到MongoDB(以及Redis和CouchDB):http://i18next.com/node/pages/doc_init.html#backend
最好使用官方的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']);