当前位置: 首页 > article >正文

Thinkphp 6.0多语言

本节课我们来学习一下如何配置的多语言功能,并实现调用方法。

一.多语言

1. 如果要开启多语言切换功能,中间件定义文件 middleware.php 开启;
// 多语言加载
\think\middleware\LoadLangPack::class,

2. 配置文件在 config/lang.php 文件,默认设置的是 zh-cn 中文语言;
'zh-hans-cn' => 'zh-cn',
'detect_var'
=> 'lang',
//自动监测的变量为 lang

3. 默认应用目录会调用 app\lang 目录下的语言包,我们创建三个;
//错误信息,zh-cn.php
return [
'require_name' => '用户名不得为空!',
'email_error'
=> '邮箱地址不正确!',
];
//error message,en-us.php
return [
'require_name' => 'The user name cannot be empty!',
'email_error'
=> 'Incorrect email address!',
];
//エラーメッセージ, ja-jp.php
return [
'require_name' => 'ユーザ名は空ではいけません!',
'email_error'
=> 'メールアドレスが間違っています!',
];

4. 系统默认会指定: zh-cn 这个语言包,我们通过 ::get() 来输出错误信息;
Lang::get('require_name');
lang('require_name');
//助手函数

5. 通过 URL 方式来切换语言, ?lang=en-us 即可, cookie 自动生成;
6. 而下一次就算不带 ?lang=en-us ,默认就会执行 cookie 的语言包;
7. 也可以在配置文件中,设置允许的语言包,默认为空,具体如下:
// 允许的语言列表
'allow_lang_list' => ['zh-cn','en-us','ja-jp'],

8. 在模版中调用语言信息,可以用 {$Think.lang.xxx}
{$Think.lang.require_name}
{:lang('email_error')}

9. 可以在配置文件中开启多语言分组,运行使用二维数组来实现语言包定义;
// 是否支持语言分组
'allow_group'
=> true,
'user' => [
'welcome'
=> '欢迎光临!',
'login'
=> '登入成功!',
'logout'
=> '退出成功!',
]
Lang::get('user.login');


http://www.kler.cn/a/9228.html

相关文章:

  • 双十一云服务器抢购后,用SD-WAN连通多云网络
  • 【C++】详细介绍模版进阶,细节满满
  • Ubuntu 的 ROS2 操作系统turtlebot3环境搭建
  • 分段式爬虫和数据采集有什么关系
  • 用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(三)
  • Spring Boot 的核心原理和工作机制
  • SpringSession深入浅出(一)
  • Chapter2 : SpringBoot配置
  • Sharepoint Online手工迁移方案 | 分享二
  • 问题 A: C语言11.1
  • 【Lin-CMS内容管理系统框架 v0.3.6】内置用户管理/权限管理/日志系统等常见功能
  • 【JS】1651- 10 个 JS 中 try...catch 使用技巧
  • RGBD图像转灰度图
  • Leetcode.100 相同的树
  • 【神经网路】tensorflow实验6--TensorFlow基础
  • 让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)
  • 简单的做一个学校毕业啊项目
  • 【刷题之路】LeetCode 2389. 和有限的最长子序列
  • kafka-3 集群介绍
  • C19210-H10 K80-TM02铜合金板带耐蚀性好
  • 【JavaWeb】9—监听器
  • 版本控制:git的基本使用
  • 页面布局基础知识
  • 梳理ERP与CRM、MRP、PLM、APS、MES、WMS、SRM的关系
  • 【论文笔记】CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception
  • CSS 单位