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

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

语言包名称

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

示例

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

  1. <?php
  2. return [
  3. 'fields' => [
  4. 'name' => '名称',
  5. 'age' => '年龄',
  6. 'class' => '班级',
  7. ],
  8. ];

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

<?php

// 不设置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文件中。

<?php

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