gpt4 book ai didi

mysql - 最佳实践 Joomla 多语言国家列表数据库表?

转载 作者:行者123 更新时间:2023-11-29 18:07:22 26 4
gpt4 key购买 nike

根据 Joomla 中的用户语言设计包含翻译后的国家/地区特定数据的多语言数据库表的最佳实践是什么?

我无法添加像其他 Joomla 数据库表(例如 com_content)中使用的语言键行,因为某些行是且必须是唯一的。

这是当前数据库表

Image 1: Current database table content

Image 2: Current database table structure

Image 3: Current database table Indexes

这就是我需要的结果。

语言 A 的数据

ID| Name     | Code3 | Code2 | TaxRateID | EU
- - - - - - - - - - - - - - - - - - - - - -
12 Aruba ABW AW 1 0
13 Australia AUS AU 1 0
14 Austria AUT AT 2 1

语言 B 的数据

ID | Name     | Code3 | Code2 | TaxRateID | EU
- - - - - - - - - - - - - - - - - - - - - - -
12 Aruba ABW AW 1 0
13 Australien AUS AU 1 0
14 Österreich AUT AT 2 1

我是否应该为每种语言添加带有语言后缀的额外表格?

prefix_table_LANGUAGE

或者还有其他更好的方法吗?提前致谢!

最佳答案

由于您正在创建自己的组件,因此不需要使用 Joomla 的 native 多语言功能。

我会保持您的表格不变,并使用该名称作为缺少翻译的后备。添加另一个表 country_names,以 languagecode3 作为主键,以保留翻译后的国家/地区名称。

所以你最终会得到(简化的)

#__countries {
id,
name,
code3,
code2,
tax_rate_id,
eu
}

#__country_names {
code3,
language,
name
}

您的查询将如下所示:

   SELECT a.id, COALESCE(b.name, a.name) AS name, a.code3, a.code2, a.tax_rate_id, a.eu
FROM #__countries AS a
LEFT JOIN #__country_names AS b ON (a.code3=b.code3 AND b.language=$lang)

(未经测试 - 将其作为草图)。

关于mysql - 最佳实践 Joomla 多语言国家列表数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47716837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com