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 相关文章推荐
如何将数据从文本导入到mysql
Oct 09 PHP
php中看实例学正则表达式
Dec 25 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
php feof用来识别文件末尾字符的方法
Aug 01 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
php cli换行示例
Apr 22 PHP
php微信公众平台开发类实例
Apr 01 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
php中文语义分析实现方法示例
Sep 28 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
短波问题解答
2021/02/28 无线电
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
JavaScript中string对象
2015/06/12 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python多重继承实例
2014/10/11 Python
python学习入门细节知识点
2018/03/29 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python检查ping终端的方法
2019/01/26 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
佳能德国网上商店:Canon德国
2017/03/18 全球购物
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
土木工程毕业生自荐信
2013/11/12 职场文书
班风口号
2014/06/18 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
老龙头导游词
2015/02/11 职场文书
期中考试后的感想
2015/08/07 职场文书