所以我试着用多种语言提供我的网站。
我想选择更改页面上的语言而不更改url。(就像YouTube一样)
我的问题是:如何在保持网址不变的同时,以多种语言提供我的网站?并将每种语言都按搜索引擎编入索引。
以下是我目前的想法:
我目前的想法是让每个页面查找一个语言变量(将在cookie或用户设置中设置)。
然后,从该变量加载一个包含相应语言文本的数组的文件。
现在,我只需从数组中提取值,并将它们放入元素中。
对于搜索引擎,我可以将get语言选项设置为get变量。
但是,这种方法可能不是最好的。
发布于 2016-02-16 16:27:49
你把语言存储在曲奇里。Xou就在那儿。然后根据语言加载一个文件。这个文件类似于XML或YAML。
XML (英文):
<string id="title">My Page</string>XML (德语):
<string id="title">Meine Seite</string>XML (klingon):
<string id="title">DutlhHo'</string> <!-- not actually klingon -->你现在只需要解析这个。
发布于 2016-02-16 16:33:05
使用曲奇战术
有几件事你可以做,其中包括
每种方法的缺点
#1
这使得添加一个实际的子域更加困难,因为您将把语言设置为子域,而从技术上讲,它与另一种语言是相同的内容。
#2
如果您自己执行此操作,这一项将使解析URL更加复杂。您必须说明所设置的语言或未设置的语言(可能随后设置了默认语言)。如果您没有设置默认语言,那么如果这种情况尚未自动发生,则还必须确保所有链接都包含它们的路径中的语言。
#3
这样做的缺点是,您正在保存数据客户端,例如,用户可以清除cookie,并且首选项或语言设置将消失。
结论
在上述选项中,到目前为止,第三个选项是最简单的实现方案。根本不需要处理子域或URL,只要从cookie中读取一个值,并在支持语言的情况下加载区域设置,否则就加载默认的区域设置。
到目前为止,这是您的最佳选择,在重建应用程序的部分时,所需的工作量最少。(假设您没有正在使用的框架)
如果在没有其他信息的情况下将语言数据保存在cookie中,那么使用cookie也没有真正的安全隐患。这是因为你没有保存敏感数据,所以任何偷饼干的人都不会知道任何东西,除了他们喜欢看到你的网站的语言--在99.9999%的情况下,这一点都不相关。
这当然是一个略带偏见的回答,因为这个问题依赖于来自其他人的经验/意见,但上述事实已经提到(很短,不完整,但它清楚地说明了这一点)。
https://stackoverflow.com/questions/35437578
复制相似问题