首页 > 网站 > 建站经验 > 正文

DISCUZ! X 多国语言实现方法

2024-04-25 20:32:09
字体:
来源:转载
供稿:网友

思路:用Cookies记录语言环境,通过HTTP请求检测出客户端语言(如: zh_cn),让程序自动匹配语言包。(目前基本上是这样子滴。)

一、准备工作:

到官方下载最新的语言包,http://download.comsenz.com/DiscuzX/

调整/source/language/语言包目录结构(这里示例真三国,只要您喜欢可以建更多。):

/source/locale/zh_CN<--------->简体<--------->Chinese

/source/locale/zh_TW<--------->繁体<--------->Taiwanese

/source/locale/en_US<--------->英文<--------->English

(如何操作?以简体中文为例,将程序包中language目录下所有文件拷到zh_CN目录下。)

二、实现方法,请按以下操作步骤:

第一步,找到引入语言包的文件,通过系统搜索功能查找文字”language/”可找到:

class_template.php<--------->/source/class

function_core.php<--------->/source/function

lang_admincp.php<--------->/source/language

查找(共4处):

discuz_ROOT.'./source/language

替换为:

DISCUZ_LOCALE.'

第二步,让我们要引入自定义的DISCUZ_LOCALE,打开class_core.php以下文件,

class_core.php<--------->/source/class

2.1查找:

$_GET['diy'] = empty($_GET['diy']) ? '' : $_GET['diy'];

下面加:

require_once DISCUZ_ROOT.'./source/discuz_locale.php';

2.2将下面的内容保存为/source/discuz_locale.php

语言切换部分已优化,届时请在新应用中心下载插件。

到此,您可以通过网址切换了,后台已经实现多语言了。

测试一下吧:http://localhost/admin.php?lang=cn

接下来,再对DX前台模板做一下处理,敬请关注。

———————————————OVER——————————————————

(我敢肯定您对目前前台切换后看到的效果一定不是很满意,我们也是一样,

处理起来真不是一会会的事,接下来的文章有点长,请耐心等候。)

下期提要,我们会在主题模板(/template/default/)下新增的语言目录和文件,针对模板进行处理。

/template/default/locale

/template/default/locale/zh_CN.php

/template/default/locale/zh_TW.php

/template/default/locale/en_US.php

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表