如何在 Laravel 本地化文件中使用 HTML 标签?

How can I use HTML tags in a Laravel localization file?

我正在尝试使用 Laravel 的本地化功能,但我需要能够强调或加粗短语的一部分。在语言文件中插入 HTML 标签会导致它在输出到 blade.

时被转义

例如,这是我的语言文件条目:

return [
    'nav' => [
        'find' => '<strong>Find</strong> Your Home',
    ]
];

当我从 blade 中调用它时:(我也尝试过使用三重括号。)

{{ trans('base.nav.find') }}

它输出:

&lt;strong&gt;Find&lt;/strong&gt; Your Home

我可能会将措辞拆分为:

return [
    'nav' => [
        'fyh' => [
            'find' => 'Find',
            'yh'   => 'Your Home',
        ]
    ]
]

然后输出:

<strong>{{ trans('base.nav.fyh.find') }}</strong>{{ trans('base.nav.fyh.yh') }}

但这似乎有点矫枉过正。有更好的解决方案吗?

使用{!! !!}而不是{{ }}来防止转义:

{!! trans('nav.find') !!}

使用 Laravel 5.6 及更高版本,可以使用 __ 帮助程序以及 blade 语法:

{!! __('pagination.next') !!}

必须为分页 blade 模板执行这些操作。

使用 @lang 指令:

@lang('nav.find')

来源:Retrieving Translation Strings