gpt4 book ai didi

php - 用两种语言来表达 MySQL

转载 作者:行者123 更新时间:2023-11-29 07:01:37 25 4
gpt4 key购买 nike

你们好吗?我试图让我的 PHP 脚本接受多种语言,并为管理员提供更改脚本中的 Phrases 的选项。

因此,我发现很多人将短语存储在数据库中,但我的问题是每次打开页面时是否需要从数据库中选择所有短语?或者我必须做什么?

        Phrase                      EN                          FR
-----------------------------------------------------------------------
err_no_page There was an error. il y avait une erreur.

在每个页面中我可能需要使用短语,什么是从数据库中获取它们而不耗尽服务器的完美方法。

提前致谢。

最佳答案

你应该像这样规范化你的数据库:

短语

ID    DESCRIPTION
---- ----------------
1 'err_no_page'
2 'another phrase'

翻译

ID    PHRASE_ID  LANGUAGE_ID  TRANSLATION
-- --------- ----------- -------------------------
1 1 'en' 'There was an error.'
2 1 'fr' 'il y avait une erreur.'
3 2 'en' 'etc'

然后您可以直接选择一种语言的所有翻译:

SELECT
p.description, t.translation
FROM
phrases p
INNER JOIN translations t ON t.phrase_id = p.id
WHERE
t.language_id = 'en'

这样做的好处是您可以轻松添加更多语言而无需更改数据库结构。

如果这些短语被频繁使用(因为它们可能在 Web 应用程序中),那么您应该考虑在应用程序启动时将它们一次性读入某种内存中的字典缓存中,而不是在应用程序启动时从数据库中检索它们每个页面加载。

编辑

查看 PHP 模块 memcache了解实现缓存的可能方法。

关于php - 用两种语言来表达 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900335/

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