php简单实现多语言切换的方法

5年以前  |  阅读数:254 次  |  编程语言:PHP 

本文实例讲述了php简单实现多语言切换的方法。分享给大家供大家参考,具体如下:

1.主程序代码:


    <?php
    include "lib/function.php";
    ?>
    <script src="js/language.js"></script>
    <?php
    if(isset($_GET["language"])){
      $_SESSION["language"] = $_GET["language"];
    }else{
      $_SESSION["language"] = getDefalutlanguage();
    }
    $language_name = getLanguageName($_SESSION["language"]);
    include "lang/".$language_name.".inc";
    ?>
    <SELECT NAME="language" id="language" onchange="changeLanguage(this)">
    <?php
      $language_array = array_language();
      foreach($language_array as $key => $value){
        if($_SESSION["language"] == $value){
          $selected = "selected = 'selected' ";
        }else{
          $selected = "";
        }
    ?>
    <OPTION VALUE="<?php echo $value;?>" <?php echo $selected;?>><?php echo getLanguageName($value);?></OPTION>;
    <?
      }
    ?>
    </SELECT>
    <?php
      if($_GET["language"] == $value){
          //$selected = "selected = 'selected' ";
        }
    echo "语言:".$_SESSION["language"];
    echo "测试:".$name;
    ?>

2. 所包含的语言包:English.inc


    <?php
    $name = "name";
    ?>
    Chinese.inc
    <?php
    $name = "名字";
    ?>

3. 所包含的function.php


    <?php
     function getVailableLanguage() {
        $language = array(
          'af'     => 'Afrikaans',
          'az'     => 'Azerbaijani',
          'eu'     => 'Basque',
          'be'     => 'Belarusian',
          'be-lat'   => 'Belarusian latin',
          'bg'     => 'Bulgarian',
          'bs'     => 'Bosnian',
          'ca'     => 'Catalan',
          'zh'     => 'Chinese',
          //'zh-TW'     => 'Chinese traditional',
          //'zh-CN'     => 'Chinese simplified',
          'cs'     => 'Czech',
          'da'     => 'Danish',
          'de'     => 'German',
          'el'     => 'Greek',
          'en'     => 'English',
          'es'     => 'Spanish',
          'et'     => 'Estonian',
          'fa'     => 'Persian',
          'fi'     => 'Finnish',
          'fr'     => 'French',
          'gl'     => 'Galician',
          'he'     => 'Hebrew',
          'hi'     => 'Hindi',
          'hr'     => 'Croatian',
          'hu'     => 'Hungarian',
          'id'     => 'Indonesian',
          'it'     => 'Italian',
          'ja'     => 'Japanese',
          'ko'     => 'Korean',
          'ka'     => 'Georgian',
          'lt'     => 'Lithuanian',
          'lv'     => 'Latvian',
          'mk'     => 'Macedonian',
          'mn'     => 'Mongolian',
          'ms'     => 'Malay',
          'nl'     => 'Dutch',
          'no'     => 'Norwegian',
          'pl'     => 'Polish',
          'pt-BR'    => 'Brazilian portuguese',
          'pt'     => 'Portuguese',
          'ro'     => 'Romanian',
          'ru'     => 'Russian',
          'si'     => 'Sinhala',
          'sk'     => 'Slovak',
          'sl'     => 'Slovenian',
          'sq'     => 'Albanian',
          'sr-lat'   => 'Serbian latin',
          'sr'     => 'Serbian',
          'sv'     => 'Swedish',
          'th'     => 'Thai',
          'tr'     => 'Turkish',
          'tt'     => 'Tatarish',
          'uk'     => 'Ukrainian',
        );
        return $language;
      }
     function getLanguageName($language) {
        $languages = getVailableLanguage();
        return $languages[$language];
      }
     function array_language(){
      $array_language = array("en","zh");
      return $array_language;
     }
     function getDefalutlanguage(){
        return "zh";
     }
    ?>

4.所包含的language.js


    function changeLanguage(obj) {
      var url = document.URL;
      var re = re = /[?&]language=[^&]*/;
      url = url.replace(re, "");
      if (url.indexOf("?") > -1) {
        url += "&language;=" + obj.value;
      } else {
        url += "?language=" + obj.value;
      }
      location.href = url;
    }

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《PHP数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例