首先大家要明白的一点是:ecshop目录下的languages目录,这个就是ecshop语言包所在目录。
4 i0 g0 e- N& x2 x2 G/ `; Z$ D4 D% G6 a( M& ~' l+ U
ecshop默认的语言包为中文简体即zh_cn目录.4 _3 |& r7 O; r0 {
语言包的载入过程都是通过ecshop的init.php中的require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php')处理和控制代码来加载的.这个$_CFG['lang'] 的值是存储在数据表shop_config的。搜索 code=lang 的记录,对应的值就是该语言包名称。默认是zh_cn。! u# f$ g5 Q3 n
所有语言包中的数组名称是$_LANG.
& P0 m% r+ |0 q+ y9 ^) s我们可以看到在init.php中,通过smarty来初始化 $smarty->assign('lang', $_LANG); 当ecshop语言包得到初始化之后,我们就可以在模板中通过{$lang.edit}方式来访问语言包中各个名称了。 ecshop的后台,也有讲究.语言包加载.他的控制文件在admin/includes/init.php里面. require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');
2 ] q7 N' z! M8 u require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php'); if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))
- I0 K- D4 ]% Q! V# F8 ^& k{" `: ^1 E; O" {1 C
include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));( {8 I% F+ x) R( ~
} 假设后台的某个文件名为 admin/category.php.
* ?9 v7 I' j1 b. {/ v那么这个页面所用的语言包文件就是加载的 languages\zh_cn\admin\category.php
1 _" Y) N8 V/ m6 B7 g- P2 L这个得尤其注意。+ |3 K f$ f$ d* Z2 L
这就是说,如果你要在后台建立一个新页面.那么也要在语言包里面新建立一个对应的语言包文件才可以.
( i4 z8 R! X0 g; ?: _. b9 e& i |