游客发表
打开DZ论坛首页,论坛右上角那个“立即注册”按钮,网址文字或者底部版权信息里的上显示“Powered by Discuz!”,这些文字都不在后台管理界面里直接改。儿修很多刚接触DZ的论坛人会去“全局-站点信息”里翻,结果发现只能改站点名称和LOGO,网址文字按钮上的上显示字纹丝不动。真正要动的儿修地方是模板文件。
拿默认模板来说,论坛路径在 /template/default/common/ 下面。网址文字比如顶部导航栏的上显示文字,打开 header.htm,儿修搜索“注册”或者“登录”,论坛你会看到类似 { lang register} 这样的网址文字代码。这是上显示语言包变量,不是直接写死的文字。DZ把界面文字抽出来放在 /source/language/ 目录里,简体中文对应 lang_admincp.php、lang_message.php 等文件。想改“立即注册”四个字,得去 lang_message.php 里找 'register' => '立即注册',把右边的值换掉。
有人图省事,直接在模板文件里把 { lang register} 替换成“点我注册”。能用,但下次升级DZ覆盖模板就白改了。语言包方式虽然多一步查找,胜在升级安全。我见过一个站长,为了改“回复”按钮的文字,硬是翻了二十多个语言文件,最后在 lang_showmessage.php 里找到。DZ的语言包散得比较开,按功能模块分,没有统一入口,这点确实不够友好。
底部版权信息“Powered by Discuz!”稍微特殊。它出现在 footer.htm 里,但直接改这里可能被DZ的版权校验机制检测到。有些版本会在 footer.htm 里用 { if $_G['setting']['bbclosed']} 之类的条件判断,版权文字藏在 lang_template.php 的 'powered_by' 变量里。改语言包比改模板更稳妥。不过要注意,DZ官方协议允许保留版权,去掉或修改前最好确认自己的授权状态。
论坛版块名称、版块简介这些,不在模板里,在后台“论坛-版块管理”里直接编辑。发帖按钮上的“发表帖子”,对应 lang_post.php 里的 'post_newthread'。个人中心左侧菜单的文字,在 lang_home.php 里。每个语言文件对应一个功能区域,改之前先想清楚这个文字出现在哪个页面,再去翻对应的语言包,比盲目搜索快得多。
还有一个容易踩的坑:DZ有缓存。改完语言包文件,后台“工具-更新缓存”必须点一下,否则前台还是旧文字。有时候更新了缓存也不生效,检查一下 /data/cache/ 目录下有没有对应的缓存文件,权限不对的话DZ写不进去。我习惯改完直接删掉 /data/cache/ 里的 cache_lang_*.php 文件,强制重新生成。
手机版模板的文字在 /template/default/mobile/ 下,语言包共用同一套。但手机版有些文字是硬编码在 .htm 里的,比如底部导航的“首页”“我的”,搜语言变量搜不到,得直接改模板。这种情况不多,遇到了别慌,用编辑器的“在文件中查找”功能全局搜中文,定位到具体文件再动手。
改文字这事,说到底是找对文件。DZ的架构决定了它不会把所有文字放在一个地方让你改。模板管结构,语言包管文案,后台管数据。分清楚这三层,改起来就不乱。我一般先用浏览器的开发者工具选中要改的文字,看它的HTML结构,找到对应的模板文件,再顺藤摸瓜去语言包。比在后台瞎点效率高得多。
友情链接