• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > ThinkPHP 6.0 多语言优化扩展包的安装与使用

ThinkPHP 6.0 多语言优化扩展包的安装与使用

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了ThinkPHP6.0,多语言优化,ThinkPHP扩展包,安装与使用等相关知识,希望对您有所帮助

下面由thinkphp框架教程栏目给大家介绍ThinkPHP 6.0 多语言优化扩展包,希望对需要的朋友有所帮助!


ThinkPHP 6.0 多语言优化扩展包的安装与使用


think-lang

ThinkPHP 6.0 多语言优化扩展包

https://github.com/TLingC/think-lang
特色
  1. 支持通过如 mywebsite.com/zh-hans/ 的二级目录访问对应语言页面。

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

安装

composer require tlingc/think-lang

使用

基础配置

请参照 官方文档 进行相关配置。同时注意如下与官方文档的不同点。

开启和加载语言包

中间件名称为:

'tlingc\lang\middleware\LoadLangPack',

由于多语言通过二级目录访问,使用Cookie保存语言 功能无效。

语言文件定义

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

// 单应用模式app\lang\当前语言.phpapp\lang\当前语言\*.phpapp\lang\当前语言\*\*.php// 多应用模式app\应用\lang\当前语言.phpapp\应用\lang\当前语言\*.phpapp\应用\lang\当前语言\*\*.php

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

路由设置

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

use think\facade\Config;Route::view('/', 'index/index');$langs = Config::get('lang.allow_lang_list');foreach($langs as $lang){    Route::rule($lang . '/', 'index/index');    Route::rule($lang . '/welcome', 'index/welcome');}

重写 url 助手函数

在应用公共文件 common.php 中加入。

use think\facade\Request;use think\facade\Lang;use think\facade\Route;use think\route\Url as UrlBuild;function url(string $url = '', array $vars = [], $suffix = true, $domain = false, $lang = true, $replace = false): UrlBuild{    if (!$lang) {        if($replace) {            $explode = explode('/', Request::url(), 3);            $url = $url . $explode[2];        }        return Route::buildUrl($url, $vars)->suffix($suffix)->domain($domain);    }    $lang = Lang::getLangSet();    return Route::buildUrl('/' . $lang . $url, $vars)->suffix($suffix)->domain($domain);}

对比官方提供的助手函数,增加了 $lang 及 $replace 参数。

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

url('/welcome')

如需仅替换url中的语言名称(如在语言选择器中使用),把 $replace 参数置为 true 即可。

TODO

整合路由定义方法。

整合重写url参数。


以上就是ThinkPHP 6.0 多语言优化扩展包的安装与使用的详细内容


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPHP6.0 重写URL去掉Index.php的解决方法
  • ThinkPHP 6.0 多语言优化扩展包的安装与使用
  • 详解thinkphp6.0.7中怎么使用JWT

相关文章

  • 2022-04-29JavaScript中如何替换字符串?3种方法介绍
  • 2022-04-29总结分享一些基于jQuery的前端面试(含移动端常见问题)
  • 2022-04-29一起来聊聊JavaScript函数柯里化
  • 2022-04-29Photoshop设计复古风格的行星海报教程
  • 2022-04-29织梦dedecms广告管理增加广告图片上传功能
  • 2022-04-29PhotoShop打造五彩抽象透明的圆球形图标制作教程
  • 2022-04-29如何利用CSS制作一个聚光灯效果(附代码)
  • 2022-04-29分享一个Laravel建议写法指南
  • 2022-04-29Photoshop制作3D小人推动切割的艺术字教程
  • 2022-04-29小程序request请求怎么解决session失败问题

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • PS制作超酷黑白像素文字效果
    • PhotoShop绘制水晶质感3D立体按钮制作教程
    • Wordpress关闭所有评论的方法
    • 关于24小时快速排名SEO优化关键词排名前三的猫腻
    • nginx报错502怎么办?解决方案分享
    • 你知道Laravel Collection的实际使用场景什么吗?
    • 四个vue后台常用模板,你知道几个?
    • WordPress文章页如何自动推送提交MIP/AMP页面
    • 如何解决Nginx部署thinkphp时报错500问题
    • 浅析uni-app中怎么提交form表单?(代码解析)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有