Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多语言PHP-检测访问者的最佳方式';s语言和直接内容_Php_Multilingual - Fatal编程技术网

多语言PHP-检测访问者的最佳方式';s语言和直接内容

多语言PHP-检测访问者的最佳方式';s语言和直接内容,php,multilingual,Php,Multilingual,在这个url中有一些信息,但是关于多语言的信息并不清楚 我们想用php建立一个多语言网站。我们有文章、菜单、书和更多的桌子 所有的表都将有多语言无限语言,我们将在数据库中分配语言。然后新语言将以插入形式显示,如 Insert Article tab-English / tab-France / tab-Bengali /....etc 我是这样想的 语言 id_language language_name id_article date id_article_language id_ar

在这个url中有一些信息,但是关于多语言的信息并不清楚

我们想用php建立一个多语言网站。我们有文章、菜单、书和更多的桌子

所有的表都将有多语言无限语言,我们将在数据库中分配语言。然后新语言将以插入形式显示,如

Insert Article

tab-English / tab-France / tab-Bengali /....etc
我是这样想的

语言

id_language
language_name
id_article
date
id_article_language
id_article
id_language
article_title
article_description
文章-表格

id_language
language_name
id_article
date
id_article_language
id_article
id_language
article_title
article_description
文章语言

id_language
language_name
id_article
date
id_article_language
id_article
id_language
article_title
article_description
因此,当我为一个表启用一种新语言时,右边会出现一个选项卡 查询字符串将显示为ln=English,因此它将在文章中插入英语语言数据


有没有人对如何管理这个多语言网站有更好的想法。

看来你已经很好地解决了数据库端的问题。我觉得不错

在客户端,不需要将语言附加到查询字符串中。这为您创建了更多的工作,因为您需要将该查询字符串动态附加到每个链接,因为每个站点的查询字符串都不同

有些网站使用顶级目录,如
http://www.example.com/en/
http://www.example.com/de/
,但我认为最好的办法是购买国家代码TLD(),这样您网站的不同语言将位于不同的域:
www.google.com
www.google.com.es
www.google.de
。然后,您可以使用来确定要重定向到哪个域。您可以使用像PHP这样的语言来实现

我鼓励在查询字符串上使用cctld或顶级目录,以保持您的理智,同时也使搜索引擎上的事情变得更容易。有些爬行器无法理解查询字符串中的
ln=en
与返回的语言之间的相关性。使用ccTLD将通知爬行器,而无需您的任何干预,内容是以特定语言为特定区域提供的

这提醒了我,你也应该在你的回应中为正确的人服务。在php中,这看起来像:

header('Content-Language: en-US'); //or en-GB, or es-ES
您可以使用符合以下要求的任何一种

编辑:正如@RepWhoringPeeHaa指出的,您还可以使用:


看来您的数据库端工作得很好。我觉得不错

在客户端,不需要将语言附加到查询字符串中。这为您创建了更多的工作,因为您需要将该查询字符串动态附加到每个链接,因为每个站点的查询字符串都不同

有些网站使用顶级目录,如
http://www.example.com/en/
http://www.example.com/de/
,但我认为最好的办法是购买国家代码TLD(),这样您网站的不同语言将位于不同的域:
www.google.com
www.google.com.es
www.google.de
。然后,您可以使用来确定要重定向到哪个域。您可以使用像PHP这样的语言来实现

我鼓励在查询字符串上使用cctld或顶级目录,以保持您的理智,同时也使搜索引擎上的事情变得更容易。有些爬行器无法理解查询字符串中的
ln=en
与返回的语言之间的相关性。使用ccTLD将通知爬行器,而无需您的任何干预,内容是以特定语言为特定区域提供的

这提醒了我,你也应该在你的回应中为正确的人服务。在php中,这看起来像:

header('Content-Language: en-US'); //or en-GB, or es-ES
您可以使用符合以下要求的任何一种

编辑:正如@RepWhoringPeeHaa指出的,您还可以使用:



别忘了,您也可以在HTML中添加语言。@RepWhoringPeeHaa Right!忘了吧。我已经编辑并添加了一点。谢谢别忘了,你也可以在HTML中添加语言。@RepWhoringPeeHaa对!忘了吧。我已经编辑并添加了一点。谢谢