当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-02 14:09:52 浏览: 评论:0 

这篇文章主要介绍了php简单实现多语言切换的方法,涉及php字符串、数组结合session操作实现多语言切换的相关技巧,需要的朋友可以参考下。

本文实例讲述了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. <OPTION VALUE="<?php echo $value;?>" <?php echo $selected;?>><?php echo getLanguageName($value);?></OPTION>; 
  25. <? 
  26.   } 
  27. ?> 
  28. </SELECT> 
  29. <?php 
  30.   if($_GET["language"] == $value){ 
  31.       //$selected = "selected = 'selected' "; 
  32.     } 
  33. echo "语言:".$_SESSION["language"]; 
  34. echo "测试:".$name; 
  35. ?> 

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

  1. <?php 
  2. $name = "name"; 
  3. ?> 
  4. Chinese.inc 
  5. <?php 
  6. $name = "名字"; 
  7. ?> 

3. 所包含的function.php

  1. <?php 
  2.  function getVailableLanguage() { 
  3.     $language = array( 
  4.       'af'     => 'Afrikaans', 
  5.       'az'     => 'Azerbaijani', 
  6.       'eu'     => 'Basque', 
  7.       'be'     => 'Belarusian', 
  8.       'be-lat'   => 'Belarusian latin', 
  9.       'bg'     => 'Bulgarian', 
  10.       'bs'     => 'Bosnian', 
  11.       'ca'     => 'Catalan', 
  12.       'zh'     => 'Chinese', 
  13.       //'zh-TW'     => 'Chinese traditional', 
  14.       //'zh-CN'     => 'Chinese simplified', 
  15.       'cs'     => 'Czech', 
  16.       'da'     => 'Danish', 
  17.       'de'     => 'German', 
  18.       'el'     => 'Greek', 
  19.       'en'     => 'English', 
  20.       'es'     => 'Spanish', 
  21.       'et'     => 'Estonian', 
  22.       'fa'     => 'Persian', 
  23.       'fi'     => 'Finnish', 
  24.       'fr'     => 'French', 
  25.       'gl'     => 'Galician', 
  26.       'he'     => 'Hebrew', 
  27.       'hi'     => 'Hindi', 
  28.       'hr'     => 'Croatian', 
  29.       'hu'     => 'Hungarian', 
  30.       'id'     => 'Indonesian', 
  31.       'it'     => 'Italian', 
  32.       'ja'     => 'Japanese', 
  33.       'ko'     => 'Korean', 
  34.       'ka'     => 'Georgian', 
  35.       'lt'     => 'Lithuanian', 
  36.       'lv'     => 'Latvian', 
  37.       'mk'     => 'Macedonian', 
  38.       'mn'     => 'Mongolian', 
  39.       'ms'     => 'Malay', 
  40.       'nl'     => 'Dutch', 
  41.       'no'     => 'Norwegian', 
  42.       'pl'     => 'Polish', 
  43.       'pt-BR'    => 'Brazilian portuguese', 
  44.       'pt'     => 'Portuguese', 
  45.       'ro'     => 'Romanian', 
  46.       'ru'     => 'Russian', 
  47.       'si'     => 'Sinhala', 
  48.       'sk'     => 'Slovak', 
  49.       'sl'     => 'Slovenian', 
  50.       'sq'     => 'Albanian', 
  51.       'sr-lat'   => 'Serbian latin', 
  52.       'sr'     => 'Serbian', 
  53.       'sv'     => 'Swedish', 
  54.       'th'     => 'Thai', 
  55.       'tr'     => 'Turkish', 
  56.       'tt'     => 'Tatarish', 
  57.       'uk'     => 'Ukrainian', 
  58.     ); 
  59.     return $language; 
  60.   } 
  61.  function getLanguageName($language) { 
  62.     $languages = getVailableLanguage(); 
  63.     return $languages[$language]; 
  64.   } 
  65.  function array_language(){ 
  66.   $array_language = array("en","zh"); 
  67.   return $array_language; 
  68.  } 
  69.  function getDefalutlanguage(){ 
  70.     return "zh"; 
  71.  } 
  72. ?> 

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. }

Tags: php多语言切换

分享到: