joomla模板设计与二次开发
English French German Italian Portuguese Russian Spanish

捐款 -> 升级 -> 下载

淘宝捐款获取下载权限

点击这里给我发消息

Donate to joomlagate.com to translate more Joomla! extensions and free Joomla! templates

文章分类阅读

下载最新版本 Joomla!

会员登录

Joomla之门 Joomla教程 Joomla 1.0 教程 英文版Joomla!完美支持中文的解决之道
英文版Joomla!完美支持中文的解决之道 E-mail
作者:白建鹏   
2006-12-02

按理来说,我们要支持中文,直接安装Joomla中文版就可以了。没有必要这么费神研究让英文版来完美支持中文。不过,确实存在这样一种需求:可能是合资公司,为了网站维护人员的方便,后台必须是英文界面,而前台要发布中文内容;或者管理员可能是Joomla发烧友,一心想得到最新的Joomla核心,那么安装英文版就能做到网站核心随时与官方核心同步。比如,我的两个网站,“杏林书香网”和本站即是如此。

 

当然了,这个方法的创始者并非我,而是我的好友AutoIt。我想大家对这个名字应该很熟悉,如果你是新手,那么一定要去AutoIt 大侠的网站去补补课,顺便表达一下对这位中国Joomla前驱者的尊敬。

言归正传,我下面简单介绍一下这个方法:

第一步:思路

我们知道,英文原版Joomla 1.0.x 版本只支持ISO-88590-1语言编码(1.5版本不适合或者不需要看本文,据说完美支持UTF-8编码)。如果有人说他也能输入中文,那是因为中文也以该编码输出了。我们的目的是支持UTF-8编码的中文。当然,偏爱GB2312编码的用户可以参考本文。

还有一个问题必须注意,就是在英文原版Joomla安装时,会询问是否载入示范数据,默认是载入,而且一般人都会选择载入。这样你才能看清楚Joomla的结构,对于新手来说很有必要这么做。但是,该“示范数据”的SQL文件本身就是ISO-88590-1编码的,因此也需要转换。

英文原版Joomla的前台也是英文界面。我们要汉化前台,必须使用中文语言包。这就需要“拿来主义”一下,我们选择台湾Joomla中文站的汉化版Joomla,从中提取中文前台语言包。

第二步:操作

注:此方法由AutoIt总结,白建鹏执笔记录。感谢AutoIt摸索出的先进经验!

1、下载 Joomla 1.0.11 英文版安装包,最好是 zip 格式;

2、安装一个 FTP 工具(如 FlashFXP 3.4 中文版);

3、上传安装包到网站根目录并解压。如果没有解压权限可以请求管理员帮你解压。否则只能在本地解压后上传;

4、不要开始安装!先从中文版Joomla 1.0.11 版本中提取3个中文前台汉化文件

  • simplified_chinese.php
  • simplified_chinese.ignore.php
  • simplified_chinese.xml

这三个文件位于 /language 目录下面。

打开 simplified_chinese.php 文件并设置编码为 utf-8 。方法:

查找:

DEFINE('_ISO','charset=ISO-8859-1'); DEFINE('_DATE_FORMAT','Y-m-d');  //Uses PHP's DATE Command Format - Depreciated

这一段代码,将 charset 的值设置成为 utf-8 即可;

然后用FTP软件上传这三个文件到你网站的 /language 目录下面。

5、修改前台、后台模板,使其能够正确显示 utf-8 编码的中文。方法:
打开前台模板的 index.php 文件(位置 /templates/rhuk_solarflare_ii),找到

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" /> 

这一行代码,修改为

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


并移动到紧跟 <head>标签之后。

同样方法修改后台模板的 index.php 文件( 位置:/administrator/templates/joomla_admin/ )。


提醒:如果网站开通后下次更换模板,不论是前台还是后台,都要在上传之后立即按上述方法修改代码,使其接受 utf-8 编码,然后才能启用该模板。否则所有内容变成乱码!

6、修改joomla.php文件(位置 /includes)的1018行左右。

 if (!$username || !$passwd) { echo "<script> alert (\""._login_incomplete. "\"); 

在 if 这行下面加:

header('content-type:text/html; Charset=UTF-8');

也可能在 function mosErrorAlert 这个函数里.

function mosErrorAlert( $text, $action='window.history.go(-1);', $mode=1 ) {
 $text = nl2br( $text );
 $text = addslashes( $text ); $text = strip_tags( $text ); 
switch ( $mode ) { case 2: header('content-type:text/html; Charset=UTF-8'); 
echo " \n"; break; case 1: default: header('content-type:text/html; Charset=UTF-8'); 
echo " \n"; 

6、将 /installation/sql/下的 joomla.sql 及 sample_data.sql 转换为UTF-8编码格式。

7、申请一个 gmail 的信箱,这个信箱将成为网站管理员专用信箱,用来发送会员通知,收取访客反馈等等。建议使用网站域名作为信箱帐户。(如果你没有gmail信箱的注册邀请,可以到本站论坛发布申请,我们有大量邀请向会员发放,先到先得,呵呵)

8、在浏览器地址栏输入 http://www.yoursite.com (注意,这是举例,你需要替换为你自己的网站URL)即可看到安装画面,按照提示一步一步安装;安装完成后看看根目录下的 configuration.php 文件,如果不是 utf-8 编码,也要改成 utf-8 编码。然后进入后台开始安装其他组件。

 

为了方便大家体验,我已经把1~6的步骤几乎替你完成了,在本站下载栏目,你可以找到修改版的Joomla 1.0.11英文版,上述修改均已经做过。你只需要上传到你的网站,直接开始安装即可。当然,我制作的版本支持的是UTF-8编码,喜欢gb2312编码的用户只好自己按照上述步骤亲手打造了。

顺便说明一下,我提供的这个版本是根据最新的SVN打包的,实际上已经是 1.0.12 开发版了,因此喜欢尝鲜的朋友可以用,注重安全的还是不要采用,直接到官方网站下载1.0.11英文版,毕竟SVN版本经常会有一些漏洞。

补充:

当初撰写此文时,仅考虑了网站前台的中文显示,但是没有考虑数据库的问题。后来我们发现,数据库里面的中文仍然是乱码,这主要因为是在建立数据库时没有考虑语言编码的缘故。本站会员guodongzhao在论坛已经贴出了他的办法《Joomla 1.0.12 中文版安装,彻底解决乱码问题》,按照这个办法就能保证前台和数据库都能显示正常的中文。

当然了,我不鼓励大家都来亲手做一遍。现在本站提供的 Joomla 1.0.12 UTF-8 特别版已经按照上述方法制作好了。请您直接下载使用,在安装时别忘了按照上面帖子里面的方法首先设置数据库的连接校对。