🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 多语言实现 * 界面多语言实现由PHP 与JS实现,JS上实现多语言的原因是在.js文件中存在中文。 * JS翻译使用 __("key")形式翻译。 * PHP使用 __("key") 统一是两个下划线,JS 与PHP的翻译函数是相同的。 * 语言包存在 messages/en_US目录中,以en_US英文为例。该目录下包含app.js app.php * 分别对应JS的翻译,PHP的翻译。PHP直接以KEY=>VALUE数组形式返回 *JS的代码如下格式。 ~~~ var source = { 'en_US.app': { '手机验证码错误': 'Phone number is error', //……更多key:value的形式翻译 } }; ~~~ 如何设置当前的语言。 1.messages/I18N.php中 $language_id = "en_US"; 设置对应的语言包。 2.设置好后,将会生成对应的COOKIE,COOKIE名为lang_selected 3.在JS系统会自动判断当前的语言是什么。 页面中代码加载,实现JS翻译 <?php include __DIR__.'/../translatejs.php';?> 需要在加载JQ之后,header之间。 文件参考ucenter的实现 `ucenter/ucenter/views/default/LoginCtl/regist.php` JS需要的文件在 ucenter/ucenter/static/default/js/lang.min.js ucenter/ucenter/static/default/js/jquery.cookie.js ucenter/ucenter/static/default/js/message.js 注意: * shop paycenter ucenter 前后台,语言是哪一种是由shop决定的, * 因此shop的messages目录的I18N.php代码是不能直接复制到其他目录下的, * 剩下的是可以通用的,相互之间的代码是一样的。