ecshop语言包lang的调用加载原理

首先大家要明白的一点是:ecshop目录下的languages文件夹,这个就是ecshop语言包所在文件夹。
ecshop默认的语言包为中文简体即languages文件夹里的zh_cn目录。语言包的载入过程都是通过ecshop的init.php中的如下处理和控制代码来加载的。
require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php')
这个 $_CFG['lang'] 的值是存储在数据表shop_config的。搜索 code=lang 的记录,对应的值就是该语言包名称。默认是zh_cn。
所有语言包中的数组名称是$_LANG,我们可以看到在init.php中,通过smarty来初始化 $smarty->assign('lang', $_LANG);
当ecshop语言包得到初始化之后,我们就可以在模板中通过{$lang.edit}方式来访问语言包中各个名称了。
ecshop的后台也有讲究,语言包加载他的控制文件在admin/includes/init.php里面。
require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');
require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');
if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))
{
    include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));
}
假设后台的某个文件名为admin/category.php文件,那么这个页面所用的语言包文件就是加载的languages\zh_cn\admin\category.php文件,这个得尤其注意。
这就是说,如果你要在后台建立一个新页面,那么也要在语言包里面新建立一个对应的语言包文件才可以。

本文原创地址:https://www.ecshopok.com/article-633.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

文章评论

暂无评论,来发表一个吧

发表 取消
充值有惊喜 ECSHOP插件网微信客服edait_cn