多语言
插件多语言仅用于插件内的访问
创建语言包
在你的插件根目录下创建lang
名字的文件夹,该文件夹里面放语言包即可,路径为:addons/demo/lang/。如下图所示
其中里面还创建了zh-cn
文件夹,该文件夹里的语言包不是全局的,作用范围仅限控制器,跟控制器名保持一致,小写命名。如上图index.php
语言包仅作用于Index
控制器
多语言的使用
使用lang
函数即可调用
/** * $name 语言变量名 * array $vars 动态变量值 * $lang 指定语言 */lang(string $name, array $vars = [], string $lang = '')
zh-cn 语言包
<?phpreturn [ 'Demo' => '演示'];
Index控制器使用
<?php namespace addons\demo\controller;use think\addons\Controller;class Index extends Controller{ public function index() { echo lang('Demo'); // 当语言切换到zh-cn时会输出演示,如果没有匹配到就输出Demo }}
动态变量值
当我们需要里面某些值需要动态化时即可使用参数2传入,如下
<?phpreturn [ 'Hello, %s!'=>'您好,%s!' ];
public function index(){ // 中文结果,您好,admin!支持多个%s占位符。 echo lang('Hello, %s!',['admin']);}