如何使用翻译文件里的二维数组?

andyzu
<?php
    return [
        'hello' => 'Hello 世界!你好!',
        'test' => 'test 世界!你好!',
        'options' => [
            'gender' => [
                0 => '女',
                1 => '男',
            ],
        ],
    ];

上面的内容是我的翻译文件里的内容,默认文件名是 message.php。
下面是我的 SQL :

$data = Db::table('teacherinfo')
            ->select('teacherinfo.id', 'teacherinfo.skiinfo_id', 'skiinfo.name as skiinfo_name',
                            'teacherinfo.name', 'teacherinfo.avatar', 'teacherinfo.type',
                            'teacherinfo.certificate', 'teacherinfo.certificate_info', 'teacherinfo.gender',
                            'teacherinfo.skis', 'teacherinfo.skis_info', 'teacherinfo.images', 'teacherinfo.price',
                            'teacherinfo.ski_age', 'teacherinfo.teach_age', 'teacherinfo.content',
                            'teacherinfo.created_at', 'teacherinfo.updated_at')
            ->leftJoin('skiinfo', 'teacherinfo.skiinfo_id', '=', 'skiinfo.id')
            ->whereNull('teacherinfo.deleted_at')
            ->where("teacherinfo.is_work", '=', 1)
            ->orderByDesc('teacherinfo.created_at')
            ->forPage($param['page'], $param['perPage'])
            ->chunkMap(function ($res) {
                if ($res->gender == 0) $res->gender = trans('options.gender');
                if ($res->gender == 1) $res->gender = '男';
                return $res;
            });

第14行(if ($res->gender == 0) $res->gender = trans('options.gender');),我想翻译成女,如何写?求指教。

856 2 0
2个回答

小W

trans('options.gender')[$res->gender]

再去优化

yzh52521

trans( 'options.gender.'.$res->gender)

  • andyzu 2023-02-01

    感谢!!!!

  • andyzu 2023-02-02

    大神,我想追问:
    如果我的翻译字段里的内容是:
    'skis' => [
    0 => '单板',
    1 => '双板',
    ],

    并且我在接口里查出来的数据,有的数据是上面内容的多选,注意 json 格式里的 skis 字段。
    如:
    {
    "code": 200100,
    "msg": "请求成功",
    "data": [
    {
    "id": 2,
    "skiinfo_id": 3,
    "name": "郭靖",
    "avatar": "images/teacherinfo/93c2be0ac5f73a42dc9b749593b9ffae.png",
    "type": "高级",
    "certificate": "[\"1\", \"4\"]",
    "gender": "男",
    "skis": "[\"0\", \"1\"]",
    "ski_age": "3年",
    "teach_age": "4年"
    }
    ]
    }

    那我该如何使用trans()助手函数 将 skis 里的 0, 1 翻译成对应的中文?

  • andyzu 2023-02-02

    大神们,我想追问:
    如果我的翻译字段里的内容是:
    'skis' => [
    0 => '单板',
    1 => '双板',
    ],

    并且我在接口里查出来的数据,有的数据是上面内容的多选,注意 json 格式里的 skis 字段。
    如:
    {
    "code": 200100,
    "msg": "请求成功",
    "data": [
    {
    "id": 2,
    "skiinfo_id": 3,
    "name": "郭靖",
    "avatar": "images/teacherinfo/93c2be0ac5f73a42dc9b749593b9ffae.png",
    "type": "高级",
    "certificate": "[\"1\", \"4\"]",
    "gender": "男",
    "skis": "[\"0\", \"1\"]",
    "ski_age": "3年",
    "teach_age": "4年"
    }
    ]
    }

    那我该如何使用trans()助手函数 将 skis 里的 0, 1 翻译成对应的中文?

年代过于久远,无法发表回答
×
🔝