gpt4 book ai didi

javascript - 不同语言的自动完成或 : How to store different languages for web-applications

转载 作者:行者123 更新时间:2023-11-29 14:15:43 25 4
gpt4 key购买 nike

我在一个网站上工作,有一个名为“items”的 mysql 表,例如:

item_id | item

(第二列仅用于识别 item_id。)

在 language1.php 中,我存储一个包含 item_id 的数组以及 language1 中项目本身的名称,例如:

$items = array(
1 -> 'Apple',
2 -> 'Orange',
...
);

根据用户的语言,包含正确的语言文件。

应该有一个用于项目数组的自动完成输入框(< 1000 个项目/数组)。我想,用 php (“search_array”或类似的函数)搜索 language1.php 中的数组不是一个好的解决方案,但我认为没有办法维护这个系统并通过 mysql 进行搜索,不是吗是吗?

如何存储网站的不同语言并使其可搜索?

是否有必要将所有语言存储在mysql的特定列中?

最佳答案

我可能会添加一个 items_localization 表,其中包含诸如

之类的列
item_id,
locale,
content, (in your base language of choice)
translation (the translated content)

具有 item_id 的外键,以及 item_id、区域设置 上的复合主键,或者自动增量 id 字段和 item_id 上的唯一索引,语言环境。有些人喜欢使用单列、自动增量主键,因为他们正在使用的框架,所以如果这描述了您,请使用后一种解决方案。

或者,如果您想要更广泛的本地化解决方案,您可以只拥有一个包含诸如

之类的列的 本地化
localization_id,
locale,
content,
translation

可以存储任何类型的本地化。那么您的 items_localization 表可能只是一个多对多连接表,其中包含诸如

之类的列
item_id,
localization_id

您只需执行连接查询即可获取您正在寻找的本地化内容。对于使用第一个建议的表结构:

SELECT i.*, il.translation
FROM items AS i
INNER JOIN items_localization AS il on i.item_id = il.item_id
WHERE il.locale = ? AND il.translation LIKE "%?%"

在哪里用您的值替换当前区域设置,并用自动完成搜索短语替换 ? 的位置。

关于javascript - 不同语言的自动完成或 : How to store different languages for web-applications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729937/

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