database - 将 i18n 数据存储在数据库中是否可以?

标签 database firebase internationalization

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

一方面,我可以采用传统方式将短语保存到 JSON 文件中并从那里加载它。但是对于我的应用程序,我正在使用 create-react-appfirebase,这使得这非常不方便(加载短语很好,但我也想要我的 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/

相关文章:

javascript - 如何让 Nuxt-auth 和 Nuxt-i18n 成为 friend

ruby-on-rails - Rails 3 I18n的最佳方法

java - 本地主机 MySQL 数据库和 Java .jar 创建

java - 如何使用比较器对集合中的多个字段进行排序?

firebase - 无需 key 即可获取数据。只有关于子节点的信息

java - 如何从插件获取 Eclipse 的当前语言环境?

java - JDBC 和多线程

php - mysql/php 这是连接到 mysql 数据库的安全方法吗?

java - 是否可以在 android firebase 上仅显示特定用户 ID 的数据?

firebase - 使用 firebase-functions-test、mocha 和 Emulator Suite 对 Firebase(云)函数进行单元测试时,为什么无法访问 .env 变量?