如何制作多语言网站?在此URL中有一些信息,但对多语言并不更清楚。
我们想用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,因此它将在文章中插入英语数据。
有没有人有更好的想法如何管理这个多语言网站。
看起来你的数据库端运行得很好。对我来说看起来不错。
在客户端,不需要将语言追加到查询字符串。这会为您带来更多工作,因为您需要将该查询字符串动态附加到每个链接,因为每个站点的查询字符串都不同。
有些网站使用顶级目录,如 http://www.example.com/en/
和 http://www.example.com/de/
,但在我看来,最好的方法是购买国家代码 TLD (ccTLD),这样您网站的不同语言将位于不同的域上:www.google.com
、www.google.com.es
、www.google.de
。然后,您可以使用 HTTP Accept-Language
标头来确定要重定向到哪个域。您可以使用像 PHP 这样的语言来解析用户的 Accept-Language 标头。
我鼓励在查询字符串上使用ccTLD或顶级目录,以保持理智,但也使搜索引擎上的事情更容易。一些蜘蛛不会理解查询字符串中的ln=en
与返回的语言之间的相关性。使用 ccTLD 将通知爬虫,而无需您进行任何干预,即内容正在以特定语言针对特定区域设置提供。
这提醒了我,您还应该在响应中提供正确的 HTTP Content-Language
标头。在 php 中,这看起来像:
header('Content-Language: en-US'); //or en-GB, or es-ES
您可以使用符合RFC1766的任何这些国家/地区代码。
编辑:正如@RepWhoringPeeHaa指出的那样,您还可以在所有HTML文件的<head>
标签中指定语言:
<META HTTP-EQUIV="Content-Language" Content="en" />