最近想做个PHP网页可多语言切换的,请求指教,有简单代码例子最好,谢谢。

解决方案 »

  1.   

    数组语言包。lang/cn.lang.php
    ///////////////////////
    $lang = array(
        'title' => '标题',
        'body' => '内容',
        ...
    );lang/en.lang.php
    ///////////////////////
    $lang = array(
        'title' => 'title',
        'body' => 'body',
        ...
    );
    index.php
    ///////////////////////
    $lang = 'en.lang.php';
    require_once('lang/'.$lang);echo 'title:',$lang['title'];
    echo 'body:',$lang['body'];那么当$lang = 'en.lang.php'时它就变成了英文。
    当$lang = 'cn.lang.php'时它就变成了中文。
    当然这样的结构是不好的,$lang这个变量应该存储到数据库或是存储到用户的cookie里面。你可以让用户可以自己更改它使用的语言包或在你的程序后台设置。程序加载时把它读出来,然后就可以方便的切换语言了。以后再增加新的语言只要按照这个标准添加语言包就可以了。
      

  2.   

    可以参考一下 dedeims系统, 不过呢, 其实用数据库和用数组没什么区别, 为了性能起见, 数据库的语言包最终也应该生成缓存的, 至放放到cookie里我觉得不适合, 关于用户选择语言问题, 可以对项目所在东西加一个lang参数, 如果没这参数用默认的(或分析浏览器), 另外, 如果用户自己注册时指定了语言, 用用户自己指定的.即是:用户指定 -> 带 lang参数 -> 系统默认这样不同的优先级去处理
      

  3.   

    不外乎两种方式,1是每种语言做一套模板2是用标签替换
    而标签替换分为服务器端的PHP替换标签跟客户端的Js替换标签
    具体用哪种就看你的实际情况