正本 Zen Cart后台中文化 之教程 满网皆是,操作办法也很简单 即是几步仿制张贴就完事儿, 可是网上大多教程都是仿制来张贴去,压根儿就没把其间的要点 提示性的指出, 成果形成按哪些教程操作后的网店, Zen Cart后台中文化 真实的实现 需求两部分 一是 对应的言语文件掩盖与修正,二是 数据库的修正 两者中 后者 假如感觉有必定的复杂性 操作上有难度, 能够疏忽掉,可是 在触及商铺装备项目中, 将无法显现中文菜单,好了 废话烦琐完, 开端进入正题,
操作如下:
将上面的仿制备用的 schinese.php 文件 和 schinese 文件夹 更名为 english.php 和 english,这样, 就实现了后台中文化, 可是疑问远没有完毕,假如仅这样 就会致使 上面说到的网店运用许多言语项不匹配疑问,
setlocale(LC_TIME, 'zh_CN.UTF-8');
define('DATE_FORMAT_SHORT', '%Y/%m/%d'); // this is used for strftime()
define('DATE_FORMAT_LONG', '%Y年 %m月 %d日'); // this is used for strftime()
define('DATE_FORMAT', 'Y/m/d'); // this is used for date()
define('PHP_DATE_TIME_FORMAT', 'Y/m/d H:i:s'); // this is used for date()
define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');
define('DATE_FORMAT_SPIFFYCAL', 'yyyy/MM/dd'); //Use only 'dd', 'MM' and 'yyyy' here in any order
替换为
setlocale(LC_TIME, 'en_US.UTF-8');
define('DATE_FORMAT_SHORT', '%m/%d/%Y'); // this is used for strftime()
define('DATE_FORMAT_LONG', '%A %d %B, %Y'); // this is used for strftime()
define('DATE_FORMAT', 'm/d/Y'); // this is used for date()
define('PHP_DATE_TIME_FORMAT', 'm/d/Y H:i:s'); // this is used for date()
define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');
define('DATE_FORMAT_SPIFFYCAL', 'MM/dd/yyyy'); //Use only 'dd', 'MM' and 'yyyy' here in any order
同时 再注意 上面代码中的 这一句
setlocale(LC_TIME, 'en_US.UTF-8');
勿必确保此处声明的编码与当时程序后台页面声明编码一至, 否则就会呈现乱码.一起保留文件时 必定要留意保留的文件编码格局要与此处的声明的编码一至, 否则还会呈现乱码,这儿持续温习一下 Zen Cart的各种乱码呈现缘由,勿必确保三码一至 缺一不可 很重要, 牢记!!!
然后 持续将下面这几个文件 运用原英文言语包下的文件更换回去,这几个文件分别为:
留意: 有的同学可能找不齐这三个文件, 不要紧, 别死抱着条条框框不放,不是一切的版别程序这三个文件都有, 但至少有两个email_最初的文件
然后呢 还没完事儿, 动爪儿 持续改文件,翻开 你的办理目录/includes/languages/更换后的英文文件夹/orders.php
查找
define('EMAIL_SEPARATOR', '------------------------------------------------------');
define('EMAIL_TEXT_SUBJECT', '订单更新');
define('EMAIL_TEXT_ORDER_NUMBER', '订单号码:');
define('EMAIL_TEXT_INVOICE_URL', '详细发票:');
define('EMAIL_TEXT_DATE_ORDERED', '订单日期:');
define('EMAIL_TEXT_COMMENTS_UPDATE', '<em>您订单的备注为: </em>');
define('EMAIL_TEXT_STATUS_UPDATED', '您的订单状态更新为:' . "\n");
define('EMAIL_TEXT_STATUS_LABEL', '<strong>新状态:</strong> %s' . "\n\n");
define('EMAIL_TEXT_STATUS_PLEASE_REPLY', '如果您有任何疑问, 请回复电子邮件.' . "\n");
将这段替换为 原英文对应文件 对应区段的代码 即下面代码:
define('EMAIL_SEPARATOR', '------------------------------------------------------');
define('EMAIL_TEXT_SUBJECT', 'Order Update');
define('EMAIL_TEXT_ORDER_NUMBER', 'Order Number:');
define('EMAIL_TEXT_INVOICE_URL', 'Detailed Invoice:');
define('EMAIL_TEXT_DATE_ORDERED', 'Date Ordered:');
define('EMAIL_TEXT_COMMENTS_UPDATE', '<em>The comments for your order are: </em>');
define('EMAIL_TEXT_STATUS_UPDATED', 'Your order has been updated to the following status:' . "\n");
define('EMAIL_TEXT_STATUS_LABEL', '<strong>New status:</strong> %s' . "\n\n");
define('EMAIL_TEXT_STATUS_PLEASE_REPLY', 'Please reply to this email if you have any questions.' . "\n");
如上操作后 就完成了后台中文化的悉数修正, 并且不会影响到程序运用言语匹配疑问.然后下面开端第二步, 数据库的修正
这一步假如嫌费事 或有技能操作性的妨碍, 能够不作,但正如上面所述, 触及到商铺装备项时, 将无法显现为中文菜单,先说一下正常汉化办法, 后面再介绍一个偷机取巧的办法,
进入当时程序所运用的数据库,这儿以最为常用的 PHPMyadmin来说 先翻开 configuration_group 表 如下图:(点击图像查看大图)
聪明的你 有没有看出门道来, configuration_group 表中 存放着 后台商铺装备 项下的悉数菜单项信息,这儿只需依次修正各项 将其下的 英文翻译成对应的中文即可, 如下图:(点击图像查看大图)
修正完configuration_group 表后 持续如此 再修正 configuration表,修正办法同上 但要留意的是, configuration表中触及的字段比较多,只需求将 configuration_title 和 configuration_description 字段中的内容修正为中文即可, 别的字段勿动,否则出啥乱子了, 别说没有提早通知你. 这儿要修正的项目事实比较多, 悉数人为汉化怕是不太实践,所以有个偷机取巧的办法可用, 将中文版或插件版的程序 这两个表导出来 再导入当时程序数据库下,可是这个办法有必定的局限性, 假如你当时运用的程序是被开发过,并且触及到这两个表的, 哪么就不能这么作了,否则将致使程序呈现各种显性隐性疑问. 一起, 假如导入的为中文插件版对应的表,而实践运用的程序是英文源版和一些非插件版基础修正的程序,后台在 商铺装备下将呈现一些无任何成效的菜单项, 但不会影响程序的正常运营, 仅仅会呈现这些僵尸菜单, 有耐性的话 能够去上面说到的这两个表中 将这些僵尸菜单项删去即可.至此, 一份完好的完美的 Zen Cart后台中文化操作 悉数完毕! (责任编辑:好模板) |