tp5.1语言包Lang使用,详解


前言

记录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',

在这里插入图片描述
开启后,系统会自动检测当前语言(主要是指浏览器访问的情况下)会对两种情况进行检测:
是否有 G E T [ ′ l a n g ′ ] 识 别 _GET['lang'] 识别 GET[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 语言包配置的详细用法
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值