2

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

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

那么我该如何解决呢?有人有这方面的经验吗?你能分享你的经验吗?

我倾向于只使用 url 并删除 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 前面加上语言代码,这可能会很痛苦。

那么有人对此有何评论吗?这是一个好计划吗?我是否忽略了一些事情?

4

1 回答 1

1

已经很久了,但你不能使用 $_SERVER["HTTP_ACCEPT_LANGUAGE"] 并自动设置它。在第一次编写 cookie 之前,用英语或数组中的另一种语言在屏幕上留言,询问这是否是正确的语言,并下拉可用语言?选择后,将其存储为默认网站语言。

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

于 2011-08-19T18:55:36.537 回答