wecenter国际化操作(根据用户浏览器语言来获取)
今天在群里问了官方,说网站语言需要在后台设置。
但是我希望的是国际化。就是自动根据浏览器的语言来展示不同语言。
所以我研究了下代码并做了一些修改。测试是可以的。
但是就是无法升级。升级完之后还需要重新再做一遍。希望官方增加这个功能把。
修改代码如下:
修改文件 /system/core/lang.php
在 代码
$language_file = ROOT_PATH . 'language/' . SYSTEM_LANG . '.php';
前面增加:
$accept_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
if (preg_match("/zh-c/i", $accept_lang)) $accept_lang = '';
else if (preg_match("/zh/i", $accept_lang)) $accept_lang = '';
else if (preg_match("/en/i", $accept_lang)) $accept_lang = 'en_US';
else if (preg_match("/ko/i", $accept_lang)) $accept_lang = 'ko_KOREA';
define('SYSTEM_LANG', $accept_lang);
即可。我这只是针对官方的 英语和汉语做了兼容。
如果你需要自己定义内容,则可以在这两个语言里做修改。
比如:
在/lang/en_US.php里增加:
$language['MD5加密'] = 'MD5 Message-Digest Algorithm';
然后再main.php里通过:
TPL::assign('description', AWS_APP::lang()->_t('MD5加密'));
效果如:
http://www.devtools.cn/enc/md5/
如果我们修改浏览器语言 改成英文:
就会变成:
之前网站都是用的中文,要修改的地方还是很多呀
暂无评论