m_Orchestrate learning system---网站的语言选择功能(中文英文)
m_Orchestrate learning system---网站的语言选择功能(中文英文)
一、总结
一句话总结:有两种方法,一是session+js端代码,而是session+php端代码。
推荐使用session+php端代码
用函数最方便,最简便,就是不要忘记引入函数
二、网站的语言选择功能
功能描述截图如下:

方法一:session+js端代码实现
1、选择语言,设置session
//选择语言总界面
public function index()
{
$fry_language_type=input('fry_language_type');
if($fry_language_type){
session('fry_language_type',$fry_language_type);
$this->success('Success(成功)!!','index/index');
}
return view();
}
2、js端利用session选择语言
<!--语言选择的js-->
<script>
function chooseLanguage(){
$('.fry_language_item').hide();
$('.fry_language_hk').show();
var fry_language_type="{$Think.session.fry_language_type}";
//console.log(fry_language_type);
if(fry_language_type=="fry_language_hk"){
$('.fry_language_item').hide();
$('.fry_language_hk').show();
}else if(fry_language_type=="fry_language_cn"){
$('.fry_language_item').hide();
$('.fry_language_cn').show();
}else if(fry_language_type=="fry_language_en"){
$('.fry_language_item').hide();
$('.fry_language_en').show();
}
}
chooseLanguage();
</script>
<!--END 语言选择的js-->
3、具体页面位置的语言设置
<span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span>
比如导航部分
<!-- 首頁的中間導航部分 -->
<!-- 中部導航部分 -->
<div class="pet_circle_nav">
<ul class="pet_circle_nav_list">
<li><a href="{:url('personal/index')}"
class="iconfont pet_nav_xinxianshi "></a><span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span></li>
<li><a href="{:url('engage/index')}"
class="iconfont pet_nav_zhangzhishi "></a><span class="fry_language_item fry_language_hk">活動啟發</span><span class="fry_language_item fry_language_en">WeEngage</span></li>
<li><a href="{:url('explore/index')}" class="iconfont pet_nav_kantuya "></a><span class="fry_language_item fry_language_hk">活動探索</span><span class="fry_language_item fry_language_en">WeExplore</span></li>
<li><a href="{:url('analyze/index')}" class="iconfont pet_nav_mengzhuanti "></a><span class="fry_language_item fry_language_hk">活動分析</span><span class="fry_language_item fry_language_en">WeAnalyze</span></li>
<li><a href="{:url('weexplain/index')}" class="iconfont pet_nav_meirong "></a><span class="fry_language_item fry_language_hk">活動演示</span><span class="fry_language_item fry_language_en">WeExplain</span></li>
<li><a href="{:url('reflect/index')}" class="iconfont pet_nav_yiyuan "></a><span class="fry_language_item fry_language_hk">活動反思</span><span class="fry_language_item fry_language_en">WeReflect</span></li>
<li><a href="{:url('forum.forum/index')}" class="iconfont pet_nav_dianpu "></a><span class="fry_language_item fry_language_hk">全站討論</span><span class="fry_language_item fry_language_en">Forum</span></li>
<li><a href="javascript:;" class="iconfont pet_nav_gengduo "></a><span class="fry_language_item fry_language_hk">更多</span><span class="fry_language_item fry_language_en">More</span></li>
</ul>
</div>
<!-- 中部導航部分 -->
<!-- 首頁的中間導航部分 -->
4、这种方法优缺点
优点:
a、简便,要设置语言的时候直接在写语言的位置直接复制下面这段代码设置即可
<span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span>
<div class="am-u-sm-6">
<div class="am-form-group">
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
<span class="fry_language_item fry_language_hk">文章類</span><span class="fry_language_item fry_language_en">Article</span>
</option>
<option value="2" note_type="student_note_type_picture">
<span class="fry_language_item fry_language_hk">圖片類(畫畫)</span><span class="fry_language_item fry_language_en">Image</span>
</option>
<option value="3" note_type="student_note_type_audio">
<span class="fry_language_item fry_language_hk">音訊類</span><span class="fry_language_item fry_language_en">Audio</span>
</option>
<option value="4" note_type="student_note_type_video">
<span class="fry_language_item fry_language_hk">視頻類</span><span class="fry_language_item fry_language_en">Video</span>
</option>
</select>
</div>
</div>
方法二:session+php端代码实现
第一步和上面是一样的,只是语言选择从js操作变成了php操作
1、选择语言,设置session
//选择语言总界面
public function index()
{
$fry_language_type=input('fry_language_type');
if($fry_language_type){
session('fry_language_type',$fry_language_type);
$this->success('Success(成功)!!','index/index');
}
return view();
}
2、php(thinkphp5)利用session选择语言
switch语句实现
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
<?php $fry_language_type=session('fry_language_type');?>
{switch name="$fry_language_type"}
{case value="fry_language_hk"} 文章類 {/case}
{case value="fry_language_en"} Article {/case}
{default /}
{/switch}
</option>
</select>
if语句实现
{if condition="session('fry_language_type')=='fry_language_hk'"}圖片類(畫畫){elseif condition="session('fry_language_type')=='fry_language_en'"/}Image{/if}
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="2" note_type="student_note_type_picture">
{if condition="session('fry_language_type')=='fry_language_hk'"}圖片類(畫畫){elseif condition="session('fry_language_type')=='fry_language_en'"/}Image{/if}
</option>
</select>
函数实现
这长段php代码完全可以写个函数代替:
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
{:chooseLanguage("文章類","Article");}
</option>
<option value="2" note_type="student_note_type_picture">
{:chooseLanguage("圖片類(畫畫)","Image");}
</option>
<option value="3" note_type="student_note_type_audio">
{:chooseLanguage("音訊類","Audio");}
</option>
<option value="4" note_type="student_note_type_video">
{:chooseLanguage("視頻類","Video");}
</option>
</select>
对应函数:
//語言選擇函數
function chooseLanguage($fry_language_hk,$fry_language_en){
$fry_language_type=session('fry_language_type');
if($fry_language_type=="fry_language_hk") echo $fry_language_hk;
if($fry_language_type=="fry_language_en") echo $fry_language_en;
}
3、优缺点
因为是在php端操作,所以上述js方法出现的问题这里都不会出现,但是感觉修改一处代码太长不简洁,可能用if标签会好点
其实也差不多,if标签和switch标签的长度
用函数最方便,最简便,就是不要忘记引入函数
m_Orchestrate learning system---网站的语言选择功能(中文英文)的更多相关文章
- CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
http://www-01.ibm.com/support/docview.wss?uid=swg21573032 Technote (FAQ) Question How to change the ...
- m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么
m_Orchestrate learning system---十三.thinkphp的验证器支持多语言么 一.总结 一句话总结:支持,不仅验证器支持,其它的插件应该都支持 不仅thinkphp支持多 ...
- m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)
m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...
- m_Orchestrate learning system---二十七、修改时如何快速找到作用位置
m_Orchestrate learning system---二十七.修改时如何快速找到作用位置 一.总结 一句话总结:找人,找起作用的位置真的重要,找到就事半功倍了 加载页面的时候观察在f12的e ...
- m_Orchestrate learning system---十、解决bug最根本的操作是什么
m_Orchestrate learning system---十.解决bug最根本的操作是什么 一.总结 一句话总结:多学多练,遇到bug超级轻松 1.如何查看js代码的异常? 开发者选项里面可以查 ...
- Learning Spark: Lightning-Fast Big Data Analysis 中文翻译
Learning Spark: Lightning-Fast Big Data Analysis 中文翻译行为纯属个人对于Spark的兴趣,仅供学习. 如果我的翻译行为侵犯您的版权,请您告知,我将停止 ...
- Machine Learning - 第6周(Advice for Applying Machine Learning、Machine Learning System Design)
In Week 6, you will be learning about systematically improving your learning algorithm. The videos f ...
- m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置
m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...
- m_Orchestrate learning system---二十八、字體圖標iconfont到底是什麼
m_Orchestrate learning system---二十八.字體圖標iconfont到底是什麼 一.总结 一句话总结: 阿里巴巴 图标库 iconfont-阿里巴巴矢量图标库 1.表格的t ...
随机推荐
- 强连通分量+缩点(poj2553)
http://poj.org/problem?id=2553 The Bottom of a Graph Time Limit: 3000MS Memory Limit: 65536K Total ...
- Mybatis 搭配 阿里druid连接池 连接 oracle 或 mysql
DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针 ...
- 基于JDK1.8的LinkedList源码学习笔记
LinkedList作为一种常用的List,是除了ArrayList之外最有用的List.其同样实现了List接口,但是除此之外它同样实现了Deque接口,而Deque是一个双端队列接口,其继承自Qu ...
- Git源码安装
系统自带yum安装的git版本较老,需要安装最新版本可以使用源码安装 下载最新安装包,下载地址https://github.com/git/git/releases 安装依赖包 yum install ...
- Oracle性能优化之Oracle里的执行计划
一.执行计划 执行计划是目标SQL在oracle数据库中具体的执行步骤,oracle用来执行目标SQL语句的具体执行步骤的组合被称为执行计划. 二.如何查看oracle数据库的执行计划 oracle数 ...
- Java字符编码问题
今天研究了一下,记录下来 中间用的是redis,可以使用任意其他的io替代,一样的 Test1 String s1 = "我要测试"; String s2 = "I wa ...
- JS实现数字千位符格式化方法
/** * [number_format 参数说明:] * @param {[type]} number [number:要格式化的数字] * @param {[type]} decimals [de ...
- pathmunge
pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数 判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后 pat ...
- java-信息安全(十八)java加密解密,签名等总结
一.基本概念 加密: 密码常用术语: 明文,密文,加密,加密算法,加密秘钥,解密,解密算法,解密秘钥, 密码分析:分析密文从而推断出明文或秘钥的过程 主动攻击:入侵密码系统,采用伪造,修改,删除等手段 ...
- (6)Cocos2d-x 3.0坐标系详解
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系. 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系. 屏幕坐标系和 ...