wecenter国际化操作(根据用户浏览器语言来获取)

三叔
三叔 http://www.sanshu.cn

2 人点赞了该文章 · 1920 浏览

    今天在群里问了官方,说网站语言需要在后台设置。
    但是我希望的是国际化。就是自动根据浏览器的语言来展示不同语言。
    所以我研究了下代码并做了一些修改。测试是可以的。

    但是就是无法升级。升级完之后还需要重新再做一遍。希望官方增加这个功能把。

    修改代码如下:

    修改文件 /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/ 

1fb154921a2bffe580091824c628c4f4.png


如果我们修改浏览器语言 改成英文:

3a3038e9a5766a58db8ec64e547053dc.png


就会变成:

096d2151d25c7386f998f24e0db9e610.png


之前网站都是用的中文,要修改的地方还是很多呀 

发布于 2020-10-11 09:25

免责声明:

本文由 三叔 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论