当前位置:首页 > 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. $language_name = getLanguageName($_SESSION["language"]); 
  11. include "lang/".$language_name.".inc"
  12. ?> 
  13. <SELECT NAME="language" id="language" onchange="changeLanguage(this)"
  14. <?php 
  15.   $language_array = array_language(); 
  16.   foreach($language_array as $key => $value){ 
  17.     if($_SESSION["language"] == $value){ 
  18.       $selected = "selected = 'selected' "
  19.     }else
  20.       $selected = ""
  21.     } 
  22. ?> 
  23. <OPTION VALUE="<?php echo $value;?>" <?php echo $selected;?>><?php echo getLanguageName($value);?></OPTION>; 
  24. <? 
  25.   } 
  26. ?> 
  27. </SELECT> 
  28. <?php 
  29.   if($_GET["language"] == $value){ 
  30.       //$selected = "selected = 'selected' "; 
  31.     } 
  32. echo "语言:".$_SESSION["language"]; 
  33. echo "测试:".$name
  34. ?> 

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多语言切换

分享到: