Joomfish默认语言的代码设定以及对url的影响

讨论环境:

  • Joom!Fish Version V2.0.4
  • joomla 1.5.18
  • 前台语言默认:英文
  • 添加语言:繁体中文、简体中文
  • 已开启Joomla的SEF功能

joom!fish是非常热门和受欢迎的一个joomla多语言组件(joomla翻译组件),它可以轻松为你打造一个双语网站或者多语言站点。

我们使用joomfish的时候,可能都会使用默认的语言代码,例如英语用en,简体用zh-cn,繁体用zh-tw,这些都是可以自己设定的。

当开启SEF功能后,语言代码就成为了url的一部分,如 http://域名/en/……或者http://域名/zh-cn/

那这样设置joomfish有什么问题呢?

问题就出在默认语言那里,如果这样设置,访问网址http://域名/en/xx.html和访问http://域名/xx.html是一样的,所以网站的每个链接都会是一式两份,重复了。

为了避免这种SEO的大忌,我们或者会考虑到让默认的语言不使用具体代码,只添加一个斜杠/。得到的结果或者会比较满意。

但很快你就会发现问题,当切换语言的时候,例如正在浏览http://域名/zh-cn/,点击英语的切换按钮,发觉依然是简体中文。这是因为在默 认的情况下,joomfish会记录你的语言选项,当你再次打开网站首页的时候(此时语言选择模块的英文链接就是首页链接),默认语言界面是你的上次选择 (即简体中文),并不是joomlafish的默认语言。

接下来我们可以尝试两种不同的思路:

一、改变语言选择模块的默认语言链接,使其可以激活自身语言;

说是改造语言选择模块,其实是不使用joomfish自带的语言选择模块,自己创建一个自定义的模块,添加一个简单的菜单就可以了。现在我们只需要 添加三个菜单,分别是english、繁体中文、简体中文,它们的url分别是//zh-tw/zh-cn

一般我们在后台添加站内链接的时候,尽量填写完整的、原始的url,就像joomla的链接地址与菜单激活所说到的一样。

二、放弃joomfish的语言选择系统,让不同语言有不同的主页链接。