用于存储多语言数据的最佳数据库架构是什么?互联网上有很多例子,仅举几例:
它们或多或少基于相同的想法,并且足够清楚:应该有一个表存储模型的所有与语言无关的数据,另一个表在每行中存储具有相应语言代码的转换。
我在这里缺少的是如何翻译模型的实际元数据?例如,如果我使用Product
,name
和description
列定义了manufacturer
模型,则前三个示例都会显示如何存储已翻译的内容。结果将是:
(English)
Product
Name: Chair
Description: A sitting product
Manufacturer: Ikea
(Spanish)
Product
Name: Silla
Description: Un producto para sentarse
Manufacturer: Ikea
但是,我如何存储实际模型的分类法的翻译,例如Product
,Name
,Description
,Manufacturer
?在上面的示例中,这些是表名或列名。如何构建我的数据库以保留这些数据库的翻译?
我不确定这是否有任何重要性,但我的应用程序是用PHP构建的(使用Laravel框架)。而且我知道我可以使用PHP gettext()
,或者将这些元数据存储在方法中并根据需要返回它,但我想避免这种情况,因为我相信将其存储在数据库中提供了更好的灵活性。