所以,我要在Laravel9.x上建立多语种的网络商店。我正在为我的项目创建数据库结构,我需要实现几种语言。
,这是我的主意,
我创造了这样的结构:
D_‘_
职称:贴现成本-贴现-[ { "en" : "Title"}, { "fr" : "Titre" } ]
内容:[ { "en" : "Content"}, { "fr" : "Contenu"} ]
我会得到这样的数据:
echo json_decode($data, true)['en']['title'];
现在我在想,如果性能(每种语言包含大约7k个字符的内容)会比解决方案糟糕得多,比如:
身份证:商品、商品、金融等行业的自愿性、无偿性、无偿性、自愿性、自愿性
Title_En:贴现成本-贴现法"Title"
Title_Fr:成本-成本-商品("Titre"
)
Content_En:改性剂"Content"
Content_Fr:再加工"Contenu"
发布于 2022-05-31 19:53:19
别这样组织它。相反:
CREATE TABLE Xlations (
xlation_id SMALLINT UNSIGNED NOT NULL,
language CHAR(2) eg "en" or maybe CHAR(5) eg "fr_ca"
title...
content...
PRIMARY KEY(language, xlation_id)
) ENGINE=InnoDB;
在某个地方,您需要分配新的ids,因为一个xlation_id将用于给定标题/内容的所有语言。
我猜这些查找将类似于
SELECT content FROM xlations
WHERE language = 'es' -- Probably set when the user logs in
AND xlation_id = 17; -- a constant based on context
https://stackoverflow.com/questions/72450720
复制相似问题