将i18n数据存储在数据库中可以吗?

时间:2019-08-25 16:05:03

标签: database firebase internationalization

我正在构建一个多语言的Web应用程序,并且我正在努力决定如何存储i18n数据。

一方面,我可以采用将短语保存到JSON文件并从中加载的传统方式。但是对于我的应用程序,我使用的是 create-react-app firebase ,这非常不方便(加载短语很好,但我也想使用i18n库将丢失的译文保存到文件中,这并不是一件容易的事,因为我必须设置一个小型的 express 服务器来处理文件修改)。

另一方面,我可以将所有内容存储在数据库中。这样可以使此过程变得更加简单,但是这样做还可以吗?是否有陷阱或安全问题? (我知道没人会在乎窃取翻译后的文本,但是如果以某种方式进行了更改,那对用户来说就不好了)

1 个答案:

答案 0 :(得分:0)

我更喜欢使用JSON格式。如果您无法上传“ .json”文件,则可以使用“ .js”文件而不会带来任何不便。例如:

en.js

module.exports = {
    "sayHi": "hello",
};

es.js

module.exports = {
    "sayHi": "hola",
};

如果您不想错过任何一种语言的翻译文本,则可以创建一个小脚本,该脚本会在缺少文本时提醒您。另一方面,您可以创建另一个脚本来填充不完整的语言并生成新的.js文件。