0

只是一个简单的问题,我想知道为什么有些网站在选择语言后在其 URL 中有类似“?lang=EN”的内容?是因为他们的 html 文件或包含它的文件夹被命名为“?lang=EN”,还是其他一些这样做的代码?我想为我的网站设置这样的 URL(有 2 种语言)。目前我有这样的文件夹结构:

语言选择:D:/media/index.html

CN 站点:D:/media/en/index.html

中国站:D:/media/cn/index.html

网站文件:D:/media/site

谢谢。

4

4 回答 4

0

您在地址栏中看到的 url,后面的任何内容都"?"称为“QueryString”,并且通过服务器端的库(基于网站所在的开发平台),您可以访问这些值。例如 的值"lang"可以等于"EN""CN"等。

顺便说一句,您可以使用一些 http 处理程序来重写请求的 url 并通过物理上不存在的 url 获取参数。就像你提到的那样,“http://yoursite.com/ en /default.whatever”。我自己更喜欢这种方式,但根据您的要求,您应该使用一些服务器端库来访问查询字符串值并选择您想要发送给客户端的内容的语言。

同样作为我曾经使用过的一种解决方案,您还可以使用一些翻译服务(如 translate.google.com)客户端库,并在客户端使用 jquery 甚至 javascript 调用它,并在页面加载时翻译所有文本。尽管它的运行速度非常快,但您会看到一些问题。

希望能帮助到你。

于 2012-11-25T19:14:50.237 回答
0

这是因为他们通常有一个内容管理系统,其中内容不一定存储在文件中,而是存储在数据库中。这lang=en是他们检索的 URL 中的 GET 变量,例如 PHP,以显示正确的内容。EN但是,在您的情况下,如果用户单击或CN到适当的位置(在您的情况下),您可以将用户重定向到适当的位置,/en/index.html并且/cn/index.html.

于 2012-11-25T19:07:02.610 回答
0

PHP 用于从 URL 中的变量中获取值。它$_GET从该LANG变量中获取值,然后从存储了不同语言的所有单词的文件或从数据库中选择所有值

您不需要复制每个文件然后翻译它。

在您的情况下搜索 php 动态页面教程。我找到了这个

PS PHP 是执行此操作的多种方法之一。

于 2012-11-25T19:10:33.280 回答
0

首先,文件扩展名 ( .html ) 之后的任何内容都是服务器端功能。

这 ?是 PHP 的一个函数,它将变量添加到从另一个页面定向到的超级全局 GET 数组(形式为:?variable=value&variable2=value2),从那时起,可以对数据进行许多操作。

使用 ?lang=EN 的站点可能被编程为在需要的位置和语言的单个页面上打印出所需的文本块。尽管可以使用此方法重定向到特定语言的目录。

希望这可以帮助 :)

于 2012-11-25T19:11:08.087 回答