ecshop语言包lang的加载原理

首先你们要明白的一点是:ecshop目录下的languages目录,这个就是ecshop语言包所在目录。

ecshop默认的语言包为中文简体即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);php

当ecshop语言包获得初始化以后,咱们就能够在模板中经过{$lang.edit}方式来访问语言包中各个名称了。数组

      ecshop的后台,也有讲究.语言包加载.他的控制文件在admin/includes/init.php里面.ui

      require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');
      require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');code

if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))
{
    include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));
}it

假设后台的某个文件名为 admin/category.php.
那么这个页面所用的语言包文件就是加载的 languages\zh_cn\admin\category.php
这个得尤为注意。
这就是说,若是你要在后台创建一个新页面.那么也要在语言包里面新创建一个对应的语言包文件才能够.io

相关文章
相关标签/搜索