如何在网站上处理多种语言

时间:2011-08-19 18:49:15

标签: cookies translation language-translation

我有一个网站,我正在翻译成不同的语言。我将内容翻译并存储在数据库中。我还在php文件中写了不同的机制,它们将根据我在代码中设置的全局定义显示语言。我很满意这一切。我的问题是如何控制这个全局定义?

我目前有一个javascript切换设置一个cookie,然后重新加载当前页面。每个后续页面只读取该cookie以设置全局定义。它工作得很好,但是我遇到了两个大问题。 (1)我不能只是有一个网址发送给有语言的人(我可以做类似domain.com/forwarder.php?lan=spanish&gotopage=page.php的设置一个cookie,然后转发,但那很难看)。并且(2),搜索引擎无法查看多种语言,因为它们并不真正使用cookie和javascript。

那么我该如何解决这个问题呢?有没有人有这方面的经验?你能分享一下你的经历吗?

我倾向于只使用网址并丢弃cookie;这在我见过的各种国际网站中都很受欢迎。所以我猜这些网址是:

domain.com/page       (for english, equivalent to domain.com/en/page)
domain.com/es/page    (for spanish)
domain.com/fr/page    (for french)
etc ......

这是个好主意吗?我将不得不查看我的代码,并在语言代码中添加我的所有href,这可能很痛苦。

那么有人对此有何评论?这是一个好计划吗?我是否忽略了实现某些目标?

1 个答案:

答案 0 :(得分:1)

已经很长时间了,但你不能使用$ _SERVER [“HTTP_ACCEPT_LANGUAGE”]并自动设置它。在第一次编写cookie之前,请在屏幕上以英语或其他语言在屏幕上留下消息,询问这是否是正确的语言,并提供可用语言的下拉?选择后,将其存储为默认网站语言。

您可以在全局资源文件中使用字符串常量。只有一个网站根据当前语言调用这些字符串常量。