Hello Joomla爱好者们,今天我来和大家分享一下如何使用Joomla2.5来建设多语言网站,特别要说的是,我将会介绍一种不使用任何第三方扩展的方法,大家耐心的看完一定会有收获。

因为经常接一些海外的开发订单,所以经常会遇到一些开发多语言网站的项目。从中、英、印到中、英、荷,每一个多语言网站的建设都让我不断的总结如何才能更加高效的建设一个多语言网站,同时保证建成的网站能够让访客和网站管理员有良好的使用体验。

使用建设多语言网站的方法大概有以下三种:

一. 多Joomla后台方式。

这种方法最简单、直接,流程大致为:

  • 建设一个单语网站
  • 将单语网站的代码和数据库进行复制
  • 将复制的网站改为另外一种语言
这样建设出来的多语言网站有多个Joomla网站后台,每个后台对应一个语言的网站。

这种方法的优点是:开发速度非常快、样式调试容易(不用考虑一种CSS样式适应三种语言)、栏目设置灵活(因为是三个后台,三个语言的网站目录结构可以完全不一样);

缺点也很明显:后期维护工作量大(每修改网站的一个地方都要在三个网站平台分别更新一次),无法实现“菜单对菜单”语言切换;

二. 单Joomla后台+使用第三方扩展的方式。

这种方式我这里不多赘述,Joomla官方论坛里面有很多第三方的多语言扩展。

安装了第三方扩展的多语言网站还是使用一个Joomla后台,且一般来说三个语言版本的网站文章是同步更新的。例如,当发布一篇文章的时候,会要求同时输入若干个语言版本的“文章标题”和“文章内容”。

这种方法的优点是:开发速度快、开发成本低;

缺点是:需要依赖第三方扩展,文章的更新灵活度差,不同语言版本的网站必须使用同种目录结构。

三. 单Joomla后台,但不使用任何第三方扩展的方式。

这种方式是我这篇文章要重点讲述的,也是我最近才学习到的一种方法。

这种方法的优点是:单一网站后台,后期维护灵活,不同语言版本的网站可以使用不同的目录结构,可以实现“菜单对菜单”的语言切换。

这里要特别感谢一位来自荷兰的Joomla极客,我这里只是将他的方法进行翻译,只需十步,即可创建一个完美的多语言网站:

  1. 安装语言包
    在Joomla后台“Extensions -> Extension Manager”中安装语言包。
    语言包文件大家可以在Joomla官方网站上下载最新版本的文件,安装方法和安装其它插件类似。

    语言包安装完成后,可以在后台“Extensions -> Language Manager”中查看已经安装的语言包。
  2. 定义“Content Language”
    在In Extensions > Language Manager > Content中,为每个语言包创建一个“content language”。
    创建时各属性如何填写,可以参考默认语言的书写形式。
  3. 启动/配置“System-Language Filter”插件
    在“Extensions > Plug-in Manager”中,进入“System – Language Filter”,并进行以下设置:
    Status: Enabled
    Menu associations: Yes
    Remove URL Language Code: Yes (出于对 SEO的考虑)
  4. 为每种语言创建“Category”
    在“Content > Category Manager”中为每个语言创建一个“根目录”。
    这里要注意的是,每个语言的根目录应该选择其对应的“Content Language”,例如:
    -Dutch
    Title: Dutch
    Language: Dutch (Nl)
    -English
    Title: English
    Language: English (Uk)
    -Thai
    Title: Thai
    Language: Thai (Th)


    根目录创建完成后,依照同样的方法,创建每个语言版本的子目录,记住:子目录也是需要选择“content language”的。(这里便体现出此种方法的有点:每种语言版本的目录结构可以完全不一样)
    经验之谈:这一步实际上是可选的。如果你的网站结构是一样的话,可以不需要为每个语言建立目录结构,只需建立一个目录结构后,将Language选择“All”即可。
  5. 创建文章
    在“Content > Article Manager”中创建文章,创建文章时需要注意的是:

    • 如果多语言网站使用的是一种目录结构,则文章发布时,必须选择文章的语言类型,如果语言类型选择“All”,则这篇文章会在三个语言的网站中都会显示出来。
    • 如果多语言网站使用的是单独的目录结构,则文章发布时,只需要将文章发布到对应的语言目录下即可。
  6. 为每种语言创建“Menu”
    在“Menus > Menu Manager”中为每个语言创建菜单。
    –Title: Dutch Menu, Menu Type: dutchmenu
    –Title: English Menu, Menu Type: englishmenu
    –Title: Thai Menu, Menu Type: thaimenu特别注意:(1)这步不是可选的,而是必须的。(2)不要更改“Main Menu”。
  7. 为每种语言创建“Menu Item”和“Menu Association”
    这一步是比较关键的一步,而且这一步和上面的5、6两步是有一定关联的。
    首先,要为每个语言菜单建立相应的菜单项。

    第二,为每个语言的菜单指定“Homepage”菜单项 。
    在“Menus > Menu Manager”中,用鼠标点击“默认”列的“五角星图标”。
    指定Homepage菜单项后,菜单上会出现对应的语言国旗标志。

    第三,指定菜单项之间的“Menu Item Associations”。

    这一步是实现“菜单内语言”切换的关键,其效果是,当访客进入某个菜单页面后,点击“语言切换按钮”,可以直接将网页切换该菜单对应的另外一个语言界面。
  8. 为每种语言的Menu创建“Module”
    在“Extensions > Module Manager”中为每种语言的Menu创建一个module:
    module type选择“menu”;
    language选择对应的语言类型。
  9. 创建“Language Switch”Module
    恭喜大家,对于新建的网站,这是最后一步了。目标就是在网站页面上创建一个多语言的切换按钮。
    在“Extensions > Module Manager”中创建一个“Language Switcher”类型的module,language选择“All”,并在position中选择期望module出现的位置。
  10. 链接重定向(新网站略过)
    对于以前是单语网站,通过此方法改为多语网站的情况而言,以前网站的文章目录结构可能会发生变化,我们可以有以下几种方法对网站的URL进行重定向:
    (1)使用Joomla的Redirect组件,位置是:Components > Redirect。
    (2)使用.htaccess进行重定向。

大功告成了,是不是想感谢我一下啊?

所属栏目: 营销&技术

请评论


创业故事·由创业路上的你我来分享!