字段翻译

未匹配的标注

表格字段翻译

数据表格中所有使用到字段的地方都会自动读取语言包中的翻译。

语言包的详细使用方法请参考多语言

语言包名称

语言包名称需要与控制器名相对应,假如控制器名UserProfileController,则对应的语言包为resources/lang/{当前语言}/user-profile.php(需要转化为小写中划线风格)。

如果想要更改语言包的名称,可以通过下面两种方式进行更改

方式1

use Dcat\Admin\Http\Controllers\AdminController;

class UserController extends AdminController
{
    /**
     * 指定翻译文件名称
     * 
     * @var string 
     */
    protected $translation = 'user1';

    ...
}

方式2

use Dcat\Admin\Admin;

Admin::translation('user1');

示例

现在假设语言包resources/lang/zh_CN/user-profile.php内容如下:

return [
    'fields' => [
        'name'  => '名称',
        'age'   => '年龄',
        'class' => '班级',
    ],
];

控制器UserProfileController中设置的Grid字段会自动读取以上翻译:

// 不设置labael会自动读取语言包翻译
$grid->id();
$grid->name;
$grid->age;
$grid->class;

$grid->filter(function ($filter) {
    $filter->gt('age');
});

// 上面代码等同于
$grid->name('名称');
$grid->age('年龄');

// 也可这样使用
$grid->id(admin_trans_field('id'));
$grid->name(admin_trans_field('name'));
$grid->age(admin_trans_field('age'));

公共翻译

admin_trans_field函数找不到当前控制器中对指定字段的翻译时,会去global.php中查找。如果某些字段是很多数据表中都有的,可以把这些翻译写在resources/lang/{当前语言}/global.php文件中。

return [
    // 常用的字段放在 global.php 中可以所有控制器共用。
    'fields' => [
        'id'         => 'ID',
        'created_at' => '创建时间',
        'updated_at' => '更新时间',
    ],
];

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~