如何使用Joomla2.5建设多语言网站
展开全部
使用建设多语言网站的方法大概有以下三种:
一. 多Joomla后台方式。
这种方法最简单、直接,流程大致为:
建设一个单语网站
将单语网站的代码和数据库进行复制
将复制的网站改为另外一种语言
这样建设出来的多语言网站有多个Joomla网站后台,每个后台对应一个语言的网站。
这种方法的优点是:开发速度非常快、样式调试容易(不用考虑一种CSS样式适应三种语言)、栏目设置灵活(因为是三个后台,三个语言的网站目录结构可以完全不一样);
缺点也很明显:后期维护工作量大(每修改网站的一个地方都要在三个网站平台分别更新一次),无法实现“菜单对菜单”语言切换;
二. 单Joomla后台+使用第三方扩展的方式。
这种方式我这里不多赘述,Joomla官方论坛里面有很多第三方的多语言扩展。
安装了第三方扩展的多语言网站还是使用一个Joomla后台,且一般来说三个语言版本的网站文章是同步更新的。例如,当发布一篇文章的时候,会要求同时输入若干个语言版本的“文章标题”和“文章内容”。
这种方法的优点是:开发速度快、开发成本低;
缺点是:需要依赖第三方扩展,文章的更新灵活度差,不同语言版本的网站必须使用同种目录结构。
三. 单Joomla后台,但不使用任何第三方扩展的方式。
这种方式是我这篇文章要重点讲述的,也是我最近才学习到的一种方法。
这种方法的优点是:单一网站后台,后期维护灵活,不同语言版本的网站可以使用不同的目录结构,可以实现“菜单对菜单”的语言切换。
这里要特别感谢一位来自荷兰的Joomla极客,我这里只是将他的方法进行翻译,只需十步,即可创建一个完美的多语言网站:
安装语言包
在Joomla后台“Extensions -> Extension Manager”中安装语言包。
语言包文件大家可以在Joomla官方网站上下载最新版本的文件,安装方法和安装其它插件类似。
语言包安装完成后,可以在后台“Extensions -> Language Manager”中查看已经安装的语言包。
定义“Content Language”
在In Extensions > Language Manager > Content中,为每个语言包创建一个“content language”。
创建时各属性如何填写,可以参考默认语言的书写形式。
启动/配置“System-Language Filter”插件
在“Extensions > Plug-in Manager”中,进入“System – Language Filter”,并进行以下设置:
Status: Enabled
Menu associations: Yes
Remove URL Language Code: Yes (出于对 SEO的考虑)
为每种语言创建“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”即可。
创建文章
在“Content > Article Manager”中创建文章,创建文章时需要注意的是:
如果多语言网站使用的是一种目录结构,则文章发布时,必须选择文章的语言类型,如果语言类型选择“All”,则这篇文章会在三个语言的网站中都会显示出来。
如果多语言网站使用的是单独的目录结构,则文章发布时,只需要将文章发布到对应的语言目录下即可。
为每种语言创建“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”。
为每种语言创建“Menu Item”和“Menu Association”
这一步是比较关键的一步,而且这一步和上面的5、6两步是有一定关联的。
首先,要为每个语言菜单建立相应的菜单项。
第二,为每个语言的菜单指定“Homepage”菜单项 。
在“Menus > Menu Manager”中,用鼠标点击“默认”列的“五角星图标”。
指定Homepage菜单项后,菜单上会出现对应的语言国旗标志。
第三,指定菜单项之间的“Menu Item Associations”。
这一步是实现“菜单内语言”切换的关键,其效果是,当访客进入某个菜单页面后,点击“语言切换按钮”,可以直接将网页切换该菜单对应的另外一个语言界面。
为每种语言的Menu创建“Module”
在“Extensions > Module Manager”中为每种语言的Menu创建一个module:
module type选择“menu”;
language选择对应的语言类型。
创建“Language Switch”Module
恭喜大家,对于新建的网站,这是最后一步了。目标就是在网站页面上创建一个多语言的切换按钮。
在“Extensions > Module Manager”中创建一个“Language Switcher”类型的module,language选择“All”,并在position中选择期望module出现的位置。
链接重定向(新网站略过)
对于以前是单语网站,通过此方法改为多语网站的情况而言,以前网站的文章目录结构可能会发生变化,我们可以有以下几种方法对网站的URL进行重定向:
(1)使用Joomla的Redirect组件,位置是:Components > Redirect。
(2)使用.htaccess进行重定向。
一. 多Joomla后台方式。
这种方法最简单、直接,流程大致为:
建设一个单语网站
将单语网站的代码和数据库进行复制
将复制的网站改为另外一种语言
这样建设出来的多语言网站有多个Joomla网站后台,每个后台对应一个语言的网站。
这种方法的优点是:开发速度非常快、样式调试容易(不用考虑一种CSS样式适应三种语言)、栏目设置灵活(因为是三个后台,三个语言的网站目录结构可以完全不一样);
缺点也很明显:后期维护工作量大(每修改网站的一个地方都要在三个网站平台分别更新一次),无法实现“菜单对菜单”语言切换;
二. 单Joomla后台+使用第三方扩展的方式。
这种方式我这里不多赘述,Joomla官方论坛里面有很多第三方的多语言扩展。
安装了第三方扩展的多语言网站还是使用一个Joomla后台,且一般来说三个语言版本的网站文章是同步更新的。例如,当发布一篇文章的时候,会要求同时输入若干个语言版本的“文章标题”和“文章内容”。
这种方法的优点是:开发速度快、开发成本低;
缺点是:需要依赖第三方扩展,文章的更新灵活度差,不同语言版本的网站必须使用同种目录结构。
三. 单Joomla后台,但不使用任何第三方扩展的方式。
这种方式是我这篇文章要重点讲述的,也是我最近才学习到的一种方法。
这种方法的优点是:单一网站后台,后期维护灵活,不同语言版本的网站可以使用不同的目录结构,可以实现“菜单对菜单”的语言切换。
这里要特别感谢一位来自荷兰的Joomla极客,我这里只是将他的方法进行翻译,只需十步,即可创建一个完美的多语言网站:
安装语言包
在Joomla后台“Extensions -> Extension Manager”中安装语言包。
语言包文件大家可以在Joomla官方网站上下载最新版本的文件,安装方法和安装其它插件类似。
语言包安装完成后,可以在后台“Extensions -> Language Manager”中查看已经安装的语言包。
定义“Content Language”
在In Extensions > Language Manager > Content中,为每个语言包创建一个“content language”。
创建时各属性如何填写,可以参考默认语言的书写形式。
启动/配置“System-Language Filter”插件
在“Extensions > Plug-in Manager”中,进入“System – Language Filter”,并进行以下设置:
Status: Enabled
Menu associations: Yes
Remove URL Language Code: Yes (出于对 SEO的考虑)
为每种语言创建“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”即可。
创建文章
在“Content > Article Manager”中创建文章,创建文章时需要注意的是:
如果多语言网站使用的是一种目录结构,则文章发布时,必须选择文章的语言类型,如果语言类型选择“All”,则这篇文章会在三个语言的网站中都会显示出来。
如果多语言网站使用的是单独的目录结构,则文章发布时,只需要将文章发布到对应的语言目录下即可。
为每种语言创建“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”。
为每种语言创建“Menu Item”和“Menu Association”
这一步是比较关键的一步,而且这一步和上面的5、6两步是有一定关联的。
首先,要为每个语言菜单建立相应的菜单项。
第二,为每个语言的菜单指定“Homepage”菜单项 。
在“Menus > Menu Manager”中,用鼠标点击“默认”列的“五角星图标”。
指定Homepage菜单项后,菜单上会出现对应的语言国旗标志。
第三,指定菜单项之间的“Menu Item Associations”。
这一步是实现“菜单内语言”切换的关键,其效果是,当访客进入某个菜单页面后,点击“语言切换按钮”,可以直接将网页切换该菜单对应的另外一个语言界面。
为每种语言的Menu创建“Module”
在“Extensions > Module Manager”中为每种语言的Menu创建一个module:
module type选择“menu”;
language选择对应的语言类型。
创建“Language Switch”Module
恭喜大家,对于新建的网站,这是最后一步了。目标就是在网站页面上创建一个多语言的切换按钮。
在“Extensions > Module Manager”中创建一个“Language Switcher”类型的module,language选择“All”,并在position中选择期望module出现的位置。
链接重定向(新网站略过)
对于以前是单语网站,通过此方法改为多语网站的情况而言,以前网站的文章目录结构可能会发生变化,我们可以有以下几种方法对网站的URL进行重定向:
(1)使用Joomla的Redirect组件,位置是:Components > Redirect。
(2)使用.htaccess进行重定向。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
万企明道
2024-08-07 广告
2024-08-07 广告
低代码开发系统,作为上海万企明道软件有限公司的重要产品方向,极大地简化了软件开发流程。它允许非专业开发者通过图形化界面与少量代码,快速构建应用程序。这一系统降低了技术门槛,加速了项目上线时间,同时提升了软件的灵活性和可维护性。我们致力于为用...
点击进入详情页
本回答由万企明道提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询