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的语言选择系统,让不同语言有不同的主页链接。