后台appadmin 1.6版本后支持多语言,由于appadmin是基于dwz的,因此多语言方面有一点麻烦
1.@appadmin/config/fecshop_local_services/Fecshoplang.php
在里面添加语言
'allLangCode' => [
// 'en_US' 是标准语言简码 code对应的值en取 “标准语言简码”的前两位字符,
// 该值设置后,进行了产品分类数据的添加后,不能修改,否则会出现部分翻译语言丢失。
'en_US' => [
'code' => 'en',
'name' => 'English',
],
'zh_CN' => [
'code' => 'zh',
'name' => '中文',
],
],
'defaultLangCode' => 'en',
这里设置默认语言
2.@appadmin/languages/ 相应的语言包里面,添加语言,参看
@appadmin/languages/zh_CN/appadmin.php
, 可以将这个中文包的内容复制到相应的语言包,然后在里面做翻译。
3.重写后台 theme 的 layouts/dashboard.php
,
修改下面的
if ($currentLangCode == 'zh') {
AppZhAsset::register($this);
$publishedPath = $this->assetManager->publish('@fecadmin/myassets/dwz_jui-master/dwz.frag.zh.xml');
} else {
AppAsset::register($this);
$publishedPath = $this->assetManager->publish('@fecadmin/myassets/dwz_jui-master/dwz.frag.xml');
}
根据语言添加相应的jui的xml
文件,以及AppAsset
,可以看到中文部分的register是 AppZhAsset
4.一步一步往里面顺,新建相应语言的文件,最后就是js文件了,新建一个相应语言的js文件,然后将js文件里面的内容进行翻译,即可
由于后台基于dwz,而dwz不支持多语言,所以只能这样搞了,看起来有点繁琐。