Php 检测和查询特定语言

Php 检测和查询特定语言,php,mysql,localization,Php,Mysql,Localization,我在数据库中插入了不同语言的数据,如汉语、法语、英语、马来语、日语、韩语等 如何检测这些语言并查询特定的语言。例如,如果我只想用中文查询数据并将其显示给用户。如果我是你,我会用类似的方式存储UI控件中显示的文本: 创建表格ui\u标签( 控制id int, 语言varchar(2), 标签varchar(500), 主键(控件id、语言) ); 用户界面中的每个控件(例如按钮)都有一个唯一的控件id。每个控件可以有许多标签,每种语言一个 然后,每个UI控件可以为每种语言使用不同的标签。(这里我

我在数据库中插入了不同语言的数据,如汉语、法语、英语、马来语、日语、韩语等


如何检测这些语言并查询特定的语言。例如,如果我只想用中文查询数据并将其显示给用户。

如果我是你,我会用类似的方式存储UI控件中显示的文本:

创建表格ui\u标签(
控制id int,
语言varchar(2),
标签varchar(500),
主键(控件id、语言)
);
用户界面中的每个控件(例如按钮)都有一个唯一的
控件id
。每个控件可以有许多标签,每种语言一个

然后,每个UI控件可以为每种语言使用不同的标签。(这里我假设使用两个字母的ISO语言代码,但也可以使用数字ID或其他标识方案。)

这使得只需将行添加到
ui\u标签
表中即可轻松添加新语言,只需切换查询中使用的
language
值即可轻松切换ui中显示的语言

按钮的数据可能如下所示:

插入用户界面标签(控件id、语言、标签)
值(1,‘en’、‘阅读文章’);
插入用户界面标签(控件id、语言、标签)
价值观(1,'es','Leer el artículo');
插入用户界面标签(控件id、语言、标签)
数值(1,‘tl’、‘Bumasa ang balita’);
不过,作为这种方法的一种替代方法,您可能需要研究,这是在PHP中进行翻译的一种标准方法。它不使用你的数据库。如果需要将字符串放在数据库中(例如,如果最终用户必须能够编辑它们),那么这不是一个选项,但它可能是你可以考虑的事情。如果你对此感兴趣,你可能想看看这篇博文:


您的数据库是什么样子的?或者你还没有设计它吗?已经有了数据库,使用UTF8,能够使用不同的语言插入。但我想有一个像英语,中文,日语按钮这样的功能,所以如果用户点击它们,将只显示指定的语言。使每种语言成为数据库中不同的表(?)。。。或者提供更多关于数据库设置的信息,我不会为每种语言制作不同的表,因为这是非常不灵活的。每次用户切换语言时,您都必须更改数据库查询中的SQL。是的,每个语言都有一个不同的表是个坏主意。如果我有50种不同的语言会怎么样=如果我的控件_id=1是英语,控件_id=2是马来语,我如何检测用户输入语言并使用控件_id插入?因为英语和马来语使用相同的字母表(A-Z)。使用Google translate api?您需要检查HTTP请求并查看用户想要使用的语言。我在回答中链接到的页面提到了如何做到这一点。查找其中的部分:“下一步,解析浏览器的Accept标头,以获得与我们拥有的语言环境相匹配的语言环境。”此外,对于不同的语言,您将不会有不同的控件id。该按钮具有相同的控件id,但该按钮的不同行包含不同语言的翻译。我添加了一个示例来说明我的意思。