首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多语种网站

多语种网站
EN

Stack Overflow用户
提问于 2016-02-16 16:16:52
回答 2查看 138关注 0票数 0

所以我试着用多种语言提供我的网站。

我想选择更改页面上的语言而不更改url。(就像YouTube一样)

我的问题是:如何在保持网址不变的同时,以多种语言提供我的网站?并将每种语言都按搜索引擎编入索引。

以下是我目前的想法:

我目前的想法是让每个页面查找一个语言变量(将在cookie或用户设置中设置)。

然后,从该变量加载一个包含相应语言文本的数组的文件。

现在,我只需从数组中提取值,并将它们放入元素中。

对于搜索引擎,我可以将get语言选项设置为get变量。

但是,这种方法可能不是最好的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-16 16:27:49

你把语言存储在曲奇里。Xou就在那儿。然后根据语言加载一个文件。这个文件类似于XML或YAML。

XML (英文):

代码语言:javascript
复制
<string id="title">My Page</string>

XML (德语):

代码语言:javascript
复制
<string id="title">Meine Seite</string>

XML (klingon):

代码语言:javascript
复制
<string id="title">DutlhHo'</string> <!-- not actually klingon -->

你现在只需要解析这个。

票数 3
EN

Stack Overflow用户

发布于 2016-02-16 16:33:05

使用曲奇战术

有几件事你可以做,其中包括

  1. 使用子域,例如en__.example.com/whatever/comes/here
  2. 在您的url路径example.com/en/whatever/comes/here中使用它
  3. 设置一个获取语言的cookie

每种方法的缺点

#1

这使得添加一个实际的子域更加困难,因为您将把语言设置为子域,而从技术上讲,它与另一种语言是相同的内容。

#2

如果您自己执行此操作,这一项将使解析URL更加复杂。您必须说明所设置的语言或未设置的语言(可能随后设置了默认语言)。如果您没有设置默认语言,那么如果这种情况尚未自动发生,则还必须确保所有链接都包含它们的路径中的语言。

#3

这样做的缺点是,您正在保存数据客户端,例如,用户可以清除cookie,并且首选项或语言设置将消失。

结论

在上述选项中,到目前为止,第三个选项是最简单的实现方案。根本不需要处理子域或URL,只要从cookie中读取一个值,并在支持语言的情况下加载区域设置,否则就加载默认的区域设置。

到目前为止,这是您的最佳选择,在重建应用程序的部分时,所需的工作量最少。(假设您没有正在使用的框架)

如果在没有其他信息的情况下将语言数据保存在cookie中,那么使用cookie也没有真正的安全隐患。这是因为你没有保存敏感数据,所以任何偷饼干的人都不会知道任何东西,除了他们喜欢看到你的网站的语言--在99.9999%的情况下,这一点都不相关。

这当然是一个略带偏见的回答,因为这个问题依赖于来自其他人的经验/意见,但上述事实已经提到(很短,不完整,但它清楚地说明了这一点)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35437578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档