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 相关文章推荐
我的论坛源代码(四)
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
33道php常见面试题及答案
Jul 06 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
Feb 05 PHP
php微信公众号开发之快递查询
Oct 20 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
mysql limit查询优化分析
2008/11/12 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
php实现Mysql简易操作类
2015/10/11 PHP
jQuery.each()用法分享
2012/07/31 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
jquery操作select大全
2014/04/25 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
python迭代器的使用方法实例
2013/11/21 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python中黄金分割法实现方法
2015/05/06 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python如何统计代码运行的时长
2019/07/24 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
python小白学习包管理器pip安装
2020/06/09 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
艺人经纪人岗位职责
2014/04/15 职场文书
2014年三万活动总结
2014/04/26 职场文书
人民调解协议书范本
2014/10/11 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript
python基础之模块的导入
2021/10/24 Python