文章目录

  • 前言
  • 一.下载thinkphp5.1
    • 1.compoer下载安装
    • 2.修改配置
    • 2.创建语言包目录
    • 3.添加apache配置文件.access
    • 4.语言包案例
    • 5.判断语言包里面是否包含key
    • 6 获取英文提示
    • 7.语言文件定义

前言

记录thinkphp5.1下面lang包的详细用法


一.下载thinkphp5.1

1.compoer下载安装

composer create-project topthink/think=5.1.* test

2.修改配置

【修改config/app.php文件】// 是否开启多语言'lang_switch_on'         => true,// 默认语言'default_lang'           => 'zh-cn',


开启后,系统会自动检测当前语言(主要是指浏览器访问的情况下)会对两种情况进行检测:
是否有GET[′lang′]识别_GET['lang'] 识别G​ET[′lang′]识别_SERVER[‘HTTP_ACCEPT_LANGUAGE’]中的第一个语言
检测到任何一种情况下采用Cookie缓存
如果检测到的语言在允许的语言列表内认为有效,否则使用默认设置的语言
如果不希望浏览器自动侦测语言,请关闭lang_switch_on后设置默认语言。

如果在自动侦测语言的时候,希望设置允许的语言列表,不在列表范围的语言则仍然使用默认语言,可以使用:

// 设置允许的语言
Lang::setAllowLangList(['zh-cn','en-us']);

2.创建语言包目录


对应语言文件名如下,放在lang目录下即可

简体中文(中国)
zh-cn
繁体中文(台湾地区)
zh-tw繁体中文(香港)
zh-hk
英语(香港)
en-hk英语(美国)
en-us
英语(英国)
en-gb英语(全球)
en-ww
英语(加拿大)
en-ca英语(澳大利亚)
en-au
英语(爱尔兰)
en-ie英语(芬兰)
en-fi
芬兰语(芬兰)
fi-fi英语(丹麦)
en-dk
丹麦语(丹麦)
da-dk英语(以色列)
en-il
希伯来语(以色列)
he-il英语(南非)
en-za
英语(印度)
en-in英语(挪威)
en-no
英语(新加坡)
en-sg英语(新西兰)
en-nz
英语(印度尼西亚)
en-id英语(菲律宾)
en-ph
英语(泰国)
en-th英语(马来西亚)
en-my
英语(阿拉伯)
en-xa韩文(韩国)
ko-kr
日语(日本)
ja-jp荷兰语(荷兰)
nl-nl
荷兰语(比利时)
nl-be葡萄牙语(葡萄牙)
pt-pt
葡萄牙语(巴西)
pt-br法语(法国)
fr-fr
法语(卢森堡)
fr-lu法语(瑞士)
fr-ch
法语(比利时)
fr-be法语(加拿大)
fr-ca
西班牙语(拉丁美洲)
es-la西班牙语(西班牙)
es-es
西班牙语(阿根廷)
es-ar西班牙语(美国)
es-us
西班牙语(墨西哥)
es-mx西班牙语(哥伦比亚)
es-co
西班牙语(波多黎各)
es-pr德语(德国)
de-de
德语(奥地利)
de-at德语(瑞士)
de-ch
俄语(俄罗斯)
ru-ru意大利语(意大利)
it-it
希腊语(希腊)
el-gr挪威语(挪威)
no-no
匈牙利语(匈牙利)
hu-hu土耳其语(土耳其)
tr-tr
捷克语(捷克共和国)
cs-cz斯洛文尼亚语
sl-sl
波兰语(波兰)
pl-pl瑞典语(瑞典)
sv-se
西班牙语(智利)
es-cl

3.添加apache配置文件.access

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Rewritebase /index.php
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

4.语言包案例




请求示例:获取中文语言包

获取英文语言包

5.判断语言包里面是否包含key


6 获取英文提示

//获取语言包中的英文

public  function  getEnglist()
{var_dump(Lang::get("Message",[],'en-us'));
}

7.语言文件定义

框架语言包: thinkphp\lang\当前语言.php
应用语言包: application\lang\当前语言.php
模块语言包: application\模块\lang\当前语言.php

如果你还需要加载其他的语言包,可以在设置或者自动检测语言之后,用load方法进行加载

Lang::load( '../application/common/lang/zh-cn.php');

如果要在模板中输出语言变量不需要在控制器中赋值,可以直接使用模板引擎特殊标签来直接输出语言定义的值

{$Think.lang.lang_var}

# 总结 thinkphp5.1 语言包配置的详细用法

tp5.1语言包Lang使用,详解相关推荐

  1. 程序人生 | C语言字节对齐问题详解 - 对齐/字节序/位序/网络序等(上)

    本文首发于 2014-07-21 15:32:28 1. 引言 考虑下面的结构体定义: typedef struct{char c1;short s; char c2; int i; }T_FOO; ...

  2. C语言字节对齐问题详解

    转载原文连接:https://www.cnblogs.com/clover-toeic/p/3853132.html C语言字节对齐问题详解 引言 考虑下面的结构体定义: 1 typedef stru ...

  3. c语言比特和字节,详解 比特(位,bit),字节(Byte),字符的区别 *(转)

    比特(位):英文bit,是计算机晶体管的一种状态(通电与断电).就是0与1,真与假,是计算机最基本的传输单位. 示例: 2bit : 10; 4bit : 1111; 8bit : 1111 1111 ...

  4. TCP丢包检测技术详解

    TCP丢包检测技术详解 http://www.cctime.com/html/2007-12-6/20071261023151210.htm           2007年12月6日 10:23  中 ...

  5. 嵌入式c语言为什么变量定义在前面,嵌入式C语言数据类型和变量详解

    原标题:嵌入式C语言数据类型和变量详解 一般来讲,标准的C语言类型在嵌入式编译器中是合法的.但由于嵌入式控制器的受限环境.嵌入式c语言的变量和数据类型具有新的特征,这些特征体现在如下方面. 嵌入式C语 ...

  6. python3 urllib安装_对python3 urllib包与http包的使用详解

    urllib包和http包都是面向HTTP协议的.其中urllib主要用于处理 URL,使用urllib操作URL可以像使用和打开本地文件一样地操作.而 http包则实现了对 HTTP协议的封装,是u ...

  7. 用数据结构c语言写成绩排序,C语言数据结构 快速排序实例详解

    C语言数据结构 快速排序实例详解 一.快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序. 二.代码实现 # ...

  8. mysql安装包没有安装程序_MySQL5.6的zip包安装教程详解

    之前我们都是后缀为.msi的文件,换言之就是傻瓜式安装,但是有些版本不容易控制安装路径,或者数据库编码格式,还有些会安装很多无用的服务,但是都没有后缀为.zip文件简单直接,说是在哪里,就在哪里. 1 ...

  9. Ubuntu16.04下制作deb包的方法详解

    CSDN GitHub Ubuntu下制作deb包的方法详解 AderXCoding/system/tools/build_deb 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可 ...

  10. C语言解决约瑟夫问题详解的代码

    C语言解决约瑟夫问题详解的代码 参考文章: (1)C语言解决约瑟夫问题详解的代码 (2)https://www.cnblogs.com/odsxe/p/10791049.html (3)https:/ ...

最新文章

  1. Java 数值大小比较
  2. lua脚本在redis集群中执行报错--Lua script attempted to access a non local key in a cluster node...
  3. 首个区块链标准《区块链 参考架构》正式发布
  4. [转]整理一些好的开源项目
  5. java字符流写入式乱码_字节流乱码与字符流乱码
  6. wemall app商城源码Android之支付宝通知处理类
  7. 2、Task 使用 ContinueWith 而不要使用 Wait
  8. python ui自动化测试仪器_python UI自动化测试
  9. 跨域的小小总结:js跨域及跨域的几种解决方法
  10. 4. HTML DOM Event 对象
  11. ajax jq 图片上传请求头_前端常见面试 请求篇
  12. http是不是中间件_等保2.0涉及的Apache Tomcat中间件(上)
  13. python截图识别文字_python截图并转换文字
  14. Ant Design Pro 使用Authorized组件做权限验证
  15. 魅族18Max什么时候发布?
  16. 【C语言你真的学会了吗】C语言深度剖析(1)【关键字深度剖析】
  17. 江浙沪计算机调剂,往年有调剂缺额的江浙沪985/211,竞争较小
  18. 移动互联网的5大思维和10个法则
  19. EM(期望最大化)聚类算法详解
  20. MFC-490CW 清零正解

热门文章

  1. java在线生成word文档_java导出word之FreeMarker生成word文档
  2. EPLAN教程——导出CAD如何快捷配置
  3. vue mqtt测试工具使用(一)
  4. qrc路径_C语言 在Qt中获取qrc文件的路径
  5. matlab求统计量:均值/中位数/极值/方差和标准差
  6. 解决Win10强制更新的工具:show or hide updates
  7. python 购物车总额_python之购物车
  8. 单片机C语言入门自学指南(前期准备)
  9. macOS Mojave patcher 无法制作启动盘
  10. 自由手写体字帖pdf_沐瑶随心手写体:随心是源于自由的快乐 免费商用手写字体...