How can I make multi-language website? 在这个网址中有一些信息,但多语言并不是很清楚。
我们想在php中构建一个多语言网站。我们有文章,菜单,书和更多表
所有表都将具有多语言无限语言,我们将在数据库中分配语言。然后新语言将以插入形式显示,如
Insert Article
tab-English / tab-France / tab-Bengali /....etc
我在想这个。
语言
id_language
language_name
文章 - 表格
id_article
date
article_language
id_article_language
id_article
id_language
article_title
article_description
因此,当我为表启用新语言时,右侧会出现一个选项卡 并且查询字符串将显示为ln = English,因此它将在文章中插入英语语言数据。
是否有人更好地了解如何管理这个多语种网站。
答案 0 :(得分:4)
好像你的数据库结束了很好。它对我来说很好看。
在客户端,您不需要将语言附加到查询字符串。这为您创建了更多工作,因为您需要动态地将查询字符串附加到每个链接,因为每个站点的查询字符串都不同。
有些网站使用顶级目录,例如http://www.example.com/en/
和http://www.example.com/de/
,但我认为最好的方法是购买国家代码顶级域名(ccTLDs),以便您网站的不同语言将位于不同的域:www.google.com
,www.google.com.es
,www.google.de
。然后,您可以使用HTTP Accept-Language
header来确定要重定向的域。您可以使用PHP之类的语言parse a user's Accept-Language header。
我鼓励在查询字符串上使用ccTLD或顶级目录,以便您的理智,还可以使搜索引擎更容易。有些蜘蛛无法理解查询字符串中ln=en
与返回语言之间的相关性。使用ccTLD将通知蜘蛛,而无需您的任何干预,即以特定语言环境的特定语言提供内容。
这提醒我,你也应该在你的回复中提供适当的HTTP Content-Language
header。在php中,这看起来像:
header('Content-Language: en-US'); //or en-GB, or es-ES
您可以使用符合country codes的任何RFC1766。
编辑:正如@RepWhoringPeeHaa指出的那样,你也可以specify the language in the <head>
tag of all of your HTML files使用:
<META HTTP-EQUIV="Content-Language" Content="en" />