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
Oct 09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
php中session使用示例
Mar 29 PHP
php自定文件保存session的方法
Dec 10 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
PHP文件上传类实例详解
Apr 08 PHP
微信支付开发发货通知实例
Jul 12 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 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
php中static静态变量的使用方法详解
2010/06/04 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
python里将list中元素依次向前移动一位
2014/09/12 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
python3 flask实现文件上传功能
2020/03/20 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Django多数据库的实现过程详解
2019/08/01 Python
Django之腾讯云短信的实现
2020/06/12 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
百度软件工程师职位
2013/02/14 面试题
毕业生自荐书
2013/12/18 职场文书
毕业证丢失证明
2014/01/15 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android