Ecshop他们主动双语版切换来推断个人的计划

Ecshop他们主动双语版切换来推断个人的计划

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

个人思路是基于浏览器的语言来推断自己主动,假设中国的浏览器,对使用中国模板。将英语模板。于、英国的模板差值称为不同的产品类别、文章分类,的模板可设置为相同的固定的文本language,所以你不会有打造两个网站

1、PHP推断浏览器语言
2、将推断写入Cookie
3、同一时候改变_CFG['lang']的值
4、_CFG['template']=_CFG['lang']。便于模板自己主动切换
5、当用户人工选择?

lang=cn/en时,进行切换

1、新建两个模板 zh_cn 和 en_us

2、includes\lib_common.php -> load_config()最后增加

$lang = array(
        'cn'=>'zh_cn',
        'en'=>'en_us'
    );
    if(isset($_REQUEST['lang']) && isset($lang[$_REQUEST['lang']])){
        $arr['lang'] = $lang[$_REQUEST['lang']];
        setcookie('ACCEPT_LANGUAGE', $arr['lang']);
    }elseif(isset($_COOKIE['ACCEPT_LANGUAGE']) && in_array($_COOKIE['ACCEPT_LANGUAGE'], array('zh_cn', 'en_us'))){
        $arr['lang'] = $_COOKIE['ACCEPT_LANGUAGE'];
    }else{
        $accept_language = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
        if(strpos($accept_language, 'zh-c')!==false){
            $arr['lang'] = 'zh_cn';
        }else{
            $arr['lang'] = 'en_us';
        }
        setcookie('ACCEPT_LANGUAGE', $arr['lang']);
    }
    $arr['template'] = $arr['lang'];

    return $arr;

3、includes\cls_template.php -> fetch()

//$cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id;改动为
$cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id.'_'.$GLOBALS['_CFG']['template'<span style="font-family: Arial, Helvetica, sans-serif;">];</span>

4、includes\cls_template.php -> make_compiled()

//$name = $this->compile_dir . '/' . basename($filename) .'.php';改动为
$name = $this->compile_dir . '/' . basename($filename) .$GLOBALS['_CFG']['template'].'.php';

5、includes\cls_template.php -> is_cached()

//$cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id;改动为
$cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id.'_'.$GLOBALS['_CFG']['template'];

改动模板解析类是为了保证不同的中、英模板之间的模板变异问没有冲突

6、在模板的任何位置加上

<a href="?

lang=cn">Chinese</a><a href="?

lang=en">English</a>

最后改动的是languages\zh_cn\common.php和languages\en_us\common.php,用{$lang.xx}

这种方法也适用于多语言设置

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116965.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java工程师_Java工程师是青春饭吗?[通俗易懂]

    java工程师_Java工程师是青春饭吗?[通俗易懂]近两年,经常有一些互联网公司裁员的报道,大部分被裁员的都是中老年的开发人员,这就使得很多还没入行的人很疑惑,难道Java工程师是门青春饭吗?那我现在还要学Java吗?今天小编来给大家分析下Java工程师是不是吃青春饭的,现在还要不要学Java?首先来说说,为什么会有些开发人员会被裁掉呢?因为Java行业是竞争力比较大的行业,由于现在社会上的各种对Java行业的宣传,现在越来也多的年轻人学习Java…

  • eplan用一段时间就要激活码【中文破解版】2022.01.20

    (eplan用一段时间就要激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0H…

  • linux 下vim的使用(学习必看!!重要)

    linux 下vim的使用(学习必看!!重要)vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。vim具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;因为程序简单

  • SIP入门(二):建立SIPserver

    SIP入门(二):建立SIPserver

    2021年11月15日
  • 浏览器出现stack overflow at line:0,解决方法

    浏览器出现stack overflow at line:0,解决方法浏览器如果出现"stackoverflowatline:0"并且有些图片无法显示的问题,是由于注册表被串改了这是由于pngfilt.dll问题,解决方法如下把以下内容保存到记事本,随便起个名字,并且把后缀改名为.reg,双击打开这个reg文件点“是”,添加入注册表中再重启浏览器,问题就解决了WindowsRegistryEditorVersion5.00;…

  • 转载:Java使用dom4j解析XML

    转载:Java使用dom4j解析XML原文地址:http://blog.csdn.net/yyywyr/article/details/38359049解析XML的方式有很多,本文介绍使用dom4j解析xml。1、环境准备(1)下载dom4j-1.6.1.jar(2)下载junit-4.10.jar2、温馨提示解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Documen

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号