我正在构建一个多语言网络应用程序,我正在努力决定如何存储 i18n 数据。
一方面,我可以采用传统方式将短语保存到 JSON 文件中并从那里加载它。但是对于我的应用程序,我正在使用 create-react-app 和 firebase,这使得这非常不方便(加载短语很好,但我也想要我的 i18n 库将丢失的翻译保存到文件中,这并不容易,因为我必须设置一个小型 express 服务器来处理文件修改)。
另一方面,我可以将所有内容都存储在数据库中。这会使这个过程简单得多,但是这样做可以吗?是否存在任何陷阱或安全问题? (我知道可能没有人关心窃取翻译后的文本,但如果以某种方式更改它,那对用户来说就不是一件好事了)
最佳答案
我更喜欢使用 JSON 格式。在您无法上传“.json”文件的情况下,您可以使用“.js”文件而不会带来不便。例如:
zh.js
module.exports = {
"sayHi": "hello",
};
es.js
module.exports = {
"sayHi": "hola",
};
如果您不想错过任何语言的任何翻译文本,您可以创建一个小脚本,它会在缺少文本时提醒您。另一方面,您可以创建另一个脚本来填充不完整的语言并生成新的 .js 文件。
关于database - 将 i18n 数据存储在数据库中是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57647608/