将i18n数据存入数据库可以吗?

问题描述 投票:0回答:2

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

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

另一方面,我可以将所有内容存储在数据库中。这将使这个过程变得更加简单,但是这样做可以吗?是否存在任何陷阱或安全问题? (我知道没有人可能关心窃取翻译文本,但如果它以某种方式发生改变,这对用户来说就不太好了)

database firebase internationalization
2个回答
1
投票

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

en.js

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

es.js

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

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


0
投票

这是另一种方法:

TL;DR 对于打算在不同语言中使用的 Web 应用程序,建议使用翻译子模式(表结构)。

https://vertabelo.com/blog/multi-language-database-design/

快乐编码;

© www.soinside.com 2019 - 2024. All rights reserved.