2011-06-30 226 views
0

我有一个网站,有2种语言的文本。我应该如何在页面之间进行切换,以便从点击改变语言他会看到它,当他点击其他语言时,它会改回来?多语言网站

一个选项是,当用户单击链接更改语言时,我会将它存储到会话中并使用它。但是我听说它不适合搜索引擎。

第二种选择是将语言变量通过URL传递给每个页面。

第三种选择是巧妙地使用zend扩展功能。

(使用PHP + Zend Framework)。 SEO对我来说非常重要。

编辑: 管理员输入站点中的文本(以多种语言显示)。它现在可以与我创建的语言对象一起使用,管理员可以在每个对象中添加文本。因此,当我进入第一页(其中文字可以更改)时,我会用英文看到它,当我点击俄罗斯国旗时,它会以俄语显示该页面(以及其他页面)。

使用Zend_Locale或翻译将不适用于我(我认为),并通过URL传递是一个选项。问题是如果它是最好的?

+5

我敢肯定你的首席执行官会很乐意听到:) – Layke

+0

哈哈,显然我的意思是SEO – Vadiklk

回答

2

最好将它作为URL中的参数传递,Google为此使用locale=en。只有当用户登录到您的网站并选择了首选语言环境或其他东西时,才可以将它存储在会话中。这样搜索引擎可以用不同的网址为不同的语言环境建立索引,但是你的用户会看到他们选择的语言环境中的页面。

2

Zend Framework为此提供了一组非常稳定的工具。

开始Zend_LocaleZend_Translate

它应该是可能的调整ZF的路由包含段指示区域。所以你最终会像/:locale /:controller /:action(或类似的)。您的网址将看起来像http://example.com/en/some-controller/some-action

请注意,不仅仅是语言的翻译。您还可以本地化显示的数字,货币,日期等。

回到更具体的问题,一旦你玩过这些。