ThinkPHP 6.0多语言优化扩展包的安装方法

  介绍

这篇文章将为大家详细讲解有关ThinkPHP 6.0多语言优化扩展包的安装方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

think-lang

6.0 ThinkPHP多语言优化扩展包

https://github.com/TLingC/think-lang

特色

<李>

支持通过如<代码>mywebsite.com/zh-hans/> <李>

支持每种语言的语言包单独成目录,目录下可设有二级目录。

安装

composer  require  tlingc/think-lang

使用

基础配置

请参照官方文档(https://www.kancloud.cn/manual/thinkphp6_0/1037637)进行相关配置。<强>同时注意如下与官方文档的不同点。

开启和加载语言包

中间件名称为:

& # 39;朗tlingc \ \中间件\ LoadLangPack& # 39;,

由于多语言通过二级目录访问,<代码>使用饼干保存语言功能无效。

语言文件定义

自动加载的应用语言文件:

//,单应用模式应用朗\ \当前语言。php   应用朗\ \当前语言\ * . php   应用朗\ \当前语言\ * \ *。php//,多应用模式应用程序\应用朗\ \当前语言。php   app \应用朗\ \当前语言\ * . php   app \应用朗\ \当前语言\ * \ *。php

请注意此扩展包没有对语言包解析行为进行修改,语言文件的文件名不会影响语言分组,在多个文件中存在相同定义时会导致被覆盖。

路由设置

使用二级目录访问对应语言页面,必须使用路由定义,同时建议开启<代码>强制路由模式。

use 认为\外观\ Config,路线:视图(& # 39;/& # 39;,,& # 39;索引/指数# 39;);langs 美元;=,配置:获得(& # 39;lang.allow_lang_list& # 39;); foreach (langs 美元;as 朗美元){   路线:规则(lang 美元;只& # 39;/& # 39;,,& # 39;索引/指数# 39;);   路线:规则(lang 美元;只& # 39;/欢迎# 39;,,& # 39;索引/欢迎# 39;);}

重写<代码> url>

在应用公共文件<代码>常见。php代码中加入。

use 认为\外观\请求;use 认为\外观\朗;use 认为\外观\路线;use 认为\路线\ Url  as  UrlBuild; function  url (string  Url 美元;=,& # 39;& # 39;,,array  vars 美元;=,[],,suffix 美元;=,真的,,domain 美元;=,假,,lang 美元;=,真的,,replace 美元;=,false):, UrlBuild {   ,,,if (! $朗),{   如果(取代美元),{   $ explode =,爆炸(& # 39;/& # 39;,,要求::url (), 3);   $ url =, url 美元;只美元爆炸[2];   }   ,,,,,,,return 路线:buildUrl ($ url,, $ var)→后缀(后缀美元)→域(域);   }   $ lang =,朗:getLangSet ();   return 路线::buildUrl(& # 39;/& # 39;,只lang 美元;只$ url, $ var)→后缀(后缀美元)→域(域)美元;}

对比官方提供的助手函数,增加了朗美元<代码> 及<代码>美元取代>

普通跳转,生成url时会自动带上前方的语言名称。

url(& # 39;/欢迎# 39;)

如需仅替换url中的语言名称(如在语言选择器中使用),把<代码>美元取代> 即可。

TODO

<李>

整合路由定义方法。

<李>

整合重写<代码> url>

关于“ThinkPHP 6.0多语言优化扩展包的安装方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

ThinkPHP 6.0多语言优化扩展包的安装方法