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


Posted in PHP onMay 09, 2016

本文实例讲述了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 相关文章推荐
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
PHP 加密与解密的斗争
Apr 17 PHP
php购物网站支付paypal使用方法
Nov 28 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
Yii使用技巧大汇总
Dec 29 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
tp5.1框架数据库子查询操作实例分析
May 26 PHP
深入浅析PHP无限极分类的案例教程
May 09 #PHP
实例讲解php数据访问
May 09 #PHP
php查询操作实现投票功能
May 09 #PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 #PHP
php面向对象编程self和static的区别
May 08 #PHP
Laravel与CI框架中截取字符串函数
May 08 #PHP
PHP框架性能测试报告
May 08 #PHP
You might like
根德YB400的电路分析
2021/03/02 无线电
解析PHP高效率写法(详解原因)
2013/06/20 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
Python中List.index()方法的使用教程
2015/05/20 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
python爬取微信公众号文章的方法
2019/02/26 Python
详解python中list的使用
2019/03/15 Python
python中的逆序遍历实例
2019/12/25 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
python eventlet绿化和patch原理
2020/11/21 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
最新教师自我评价分享
2013/11/12 职场文书
《去年的树》教学反思
2014/04/11 职场文书
法律进社区活动总结
2015/05/07 职场文书
辩护词格式
2015/05/22 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书