1

如何制作多语言网站? 在这个 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

因此,当我为表格启用新语言时,右侧将出现一个选项卡,并且查询字符串将显示为 ln=English,因此它将在文章中插入英语语言数据。

有没有人更好地了解如何管理这个多语言网站。

4

1 回答 1

4

看起来你的数据库端工作得很好。对我来说看起来不错。

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

有些网站使用顶级目录,如http://www.example.com/en/and http://www.example.com/de/,但我认为最好的方法是购买国家代码顶级域名 ( ccTLD ),这样您网站的不同语言将位于不同的域:www.google.com、、、www.google.com.eswww.google.de然后,您可以使用HTTPAccept-Language标头来确定要重定向到哪个域。您可以使用 PHP 之类的语言来解析用户的 Accept-Language 标头

为了您的理智,我鼓励在查询字符串上使用 ccTLD 或顶级目录,同时也使搜索引擎上的事情变得更容易。有些蜘蛛无法理解ln=en查询字符串中的 和返回的语言之间的相关性。使用 ccTLD 将通知蜘蛛,无需您的任何干预,内容正在以特定语言提供特定语言环境。

这提醒了我,您还应该在响应中提供正确的HTTPContent-Language标头。在 php 中,它看起来像:

header('Content-Language: en-US'); //or en-GB, or es-ES

您可以使用任何符合RFC1766的国家/地区代码

编辑:正如@RepWhoringPeeHaa 指出的那样,您还可以在所有 HTML 文件的标记中指定语言 <head>

<META HTTP-EQUIV="Content-Language" Content="en" />
于 2012-04-21T18:37:28.047 回答