🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 多语言 插件多语言仅用于插件内的访问 ## 创建语言包 在你的插件根目录下创建`lang`名字的文件夹,该文件夹里面放语言包即可,路径为:addons/demo/lang/。如下图所示 ![](https://img.kancloud.cn/38/b2/38b2eef5d37ffd46b0d23755a35ad9e6_332x262.png) 其中里面还创建了`zh-cn`文件夹,该文件夹里的语言包不是全局的,作用范围仅限控制器,跟控制器名保持一致,小写命名。如上图`index.php`语言包仅作用于`Index`控制器 ## 多语言的使用 使用`lang`函数即可调用 ~~~ /** * $name 语言变量名 * array $vars 动态变量值 * $lang 指定语言 */ lang(string $name, array $vars = [], string $lang = '') ~~~ zh-cn 语言包 ~~~ <?php return [ '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传入,如下 ~~~ <?php return [ 'Hello, %s!'=>'您好,%s!' ]; ~~~ ~~~ public function index() { // 中文结果,您好,admin!支持多个%s占位符。 echo lang('Hello, %s!',['admin']); } ~~~