0

我在 laravel 中使用语言参数时遇到了一个奇怪的问题。它不会被变量替换,而是输出整个密钥。

管理员.php

return [
    ...
    'delete_title' => 'Delete :item',
    ...

    // user section
    'user'          => [
        'user'            => 'User',
        ...
    ],
];

view.blade.php

// this won't work
{__('admin.delete_title', ['item', 'User'])}}

// this won't work
{__('admin.delete_title', [':item', 'User'])}}

// this won't work
{__('admin.delete_title', ['item', __('admin.user.user')])}}

// this won't work
{__('admin.delete_title', ['item', __('admin.user.user')])}}
4

2 回答 2

1

我认为你应该传递正确的参数来翻译函数尝试:

{__('admin.delete_title', ['item'=>'User'])}}
于 2020-06-07T08:24:51.067 回答
1
  1. 您需要将参数作为数组传递,因此:

    {{ __('admin.delete_title', ['item' => __('admin.user.user')]) }}
    
  2. 你有错字

    'delete_title => 'Delete :item', // missing '
    

    固定的:

    'delete_title' => 'Delete :item',
    
于 2020-06-07T08:31:20.610 回答