本文实例讲述了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程序设计有所帮助。