php 多語言網站製作

天,來介紹一下如何製作一個多語言的網站。前臺顯示關於多言的問題。

1.主程序代碼:
  1. <?php
  2. include "lib/function.php";
  3. ?>
  4. <script src="js/language.js"></script>
  5. <?php
  6. if(isset($_GET["language"])){
  7.     $_SESSION["language"] = $_GET["language"];
  8. }else{
  9.     $_SESSION["language"] = getDefalutlanguage();
  10. }
  11. $language_name = getLanguageName($_SESSION["language"]);
  12. include "lang/".$language_name.".inc";
  13. ?>
  14. <SELECT NAME="language" id="language" onchange="changeLanguage(this)">
  15. <?php
  16.     $language_array = array_language();
  17.     foreach($language_array as $key => $value){
  18.         if($_SESSION["language"] == $value){
  19.             $selected = "selected = 'selected' ";
  20.         }else{
  21.             $selected = "";
  22.         }
  23.         
  24. ?>
  25. <OPTION VALUE="<?php echo $value;?>" <?php echo $selected;?>><?php echo getLanguageName($value);?></OPTION>;
  26. <?
  27.     }
  28. ?>
  29.     
  30. </SELECT>
  31. <?php 
  32.     if($_GET["language"] == $value){
  33.             //$selected = "selected = 'selected' ";
  34.         }
  35. echo "語言:".$_SESSION["language"];
  36. echo "測試:".$name;
  37. ?>
       
2. 所包含的語言包:English.inc
  1. <?php
  2. $name = "name";
  3. ?>
Chinese.inc
  1. <?php
  2. $name = "名字";
  3. ?>
3. 所包含的function.php
  1. <?php
  2.   function getVailableLanguage() {
  3.         
  4.         $language = array(
  5.             'af'          => 'Afrikaans',
  6.             'az'          => 'Azerbaijani',
  7.             'eu'          => 'Basque',
  8.             'be'          => 'Belarusian',
  9.             'be-lat'      => 'Belarusian latin',
  10.             'bg'          => 'Bulgarian',
  11.             'bs'          => 'Bosnian',
  12.             'ca'          => 'Catalan',
  13.             'zh'          => 'Chinese',
  14.             //'zh-TW'         => 'Chinese traditional',
  15.             //'zh-CN'         => 'Chinese simplified',
  16.             'cs'          => 'Czech',
  17.             'da'          => 'Danish',
  18.             'de'          => 'German',
  19.             'el'          => 'Greek',
  20.             'en'          => 'English',
  21.             'es'          => 'Spanish',
  22.             'et'          => 'Estonian',
  23.             'fa'          => 'Persian',
  24.             'fi'          => 'Finnish',
  25.             'fr'          => 'French',
  26.             'gl'          => 'Galician',
  27.             'he'          => 'Hebrew',
  28.             'hi'          => 'Hindi',
  29.             'hr'          => 'Croatian',
  30.             'hu'          => 'Hungarian',
  31.             'id'          => 'Indonesian',
  32.             'it'          => 'Italian',
  33.             'ja'          => 'Japanese',
  34.             'ko'          => 'Korean',
  35.             'ka'          => 'Georgian',
  36.             'lt'          => 'Lithuanian',
  37.             'lv'          => 'Latvian',
  38.             'mk'          => 'Macedonian',
  39.             'mn'          => 'Mongolian',
  40.             'ms'          => 'Malay',
  41.             'nl'          => 'Dutch',
  42.             'no'          => 'Norwegian',
  43.             'pl'          => 'Polish',
  44.             'pt-BR'       => 'Brazilian portuguese',
  45.             'pt'          => 'Portuguese',
  46.             'ro'          => 'Romanian',
  47.             'ru'          => 'Russian',
  48.             'si'          => 'Sinhala',
  49.             'sk'          => 'Slovak',
  50.             'sl'          => 'Slovenian',
  51.             'sq'          => 'Albanian',
  52.             'sr-lat'      => 'Serbian latin',
  53.             'sr'          => 'Serbian',
  54.             'sv'          => 'Swedish',
  55.             'th'          => 'Thai',
  56.             'tr'          => 'Turkish',
  57.             'tt'          => 'Tatarish',
  58.             'uk'          => 'Ukrainian',
  59.         );
  60.         return $language;
  61.     }
  62.   function getLanguageName($language) {
  63.         $languages = getVailableLanguage();
  64.         return $languages[$language];
  65.     }
  66.   function array_language(){
  67.     $array_language = array("en","zh");
  68.     return $array_language;
  69.   }
  70.   function getDefalutlanguage(){
  71.         return "zh";
  72.   } 
  73.     
  74. ?>
4.所包含的language.js
  1. function changeLanguage(obj) {
  2.     var url = document.URL;
  3.     var re = re = /[?&]language=[^&]*/;
  4.     url = url.replace(re, "");
  5.     if (url.indexOf("?") > -1) {
  6.         url += "&language=" + obj.value;
  7.     } else {
  8.         url += "?language=" + obj.value;
  9.     }
  10.     location.href = url;
  11. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章