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设计模式 Visitor 访问者模式
Jun 28 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
php session劫持和防范的方法
Nov 12 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
php数组去重复数据示例
Feb 25 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
php图片上传类 附调用方法
May 15 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
python实现手机销售管理系统
2019/03/19 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
幸福家庭标语
2014/06/27 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
老兵退伍标语
2014/10/07 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
银行给客户的感谢信
2015/01/23 职场文书
离婚起诉书范本
2015/05/18 职场文书
安全生产感想
2015/08/07 职场文书
海弦WR-800F
2022/04/05 无线电