Как я могу использовать теги HTML в файле локализации Laravel?
Я пытаюсь использовать функцию локализации Laravel, но мне нужно уметь выделить или выделить часть фразы. Вставка тега HTML в языковой файл приводит к его экранированию при выводе на блейд.
Например, вот моя запись в языковом файле:
return [
'nav' => [
'find' => '<strong>Find</strong> Your Home',
]
];
Когда я называю это изнутри лезвием: (Я также пытался использовать тройные скобки.)
{{ trans('base.nav.find') }}
Это выводит:
<strong>Find</strong> Your Home
Я мог бы потенциально разделить фразу так:
return [
'nav' => [
'fyh' => [
'find' => 'Find',
'yh' => 'Your Home',
]
]
]
И затем вывод:
<strong>{{ trans('base.nav.fyh.find') }}</strong>{{ trans('base.nav.fyh.yh') }}
Но это кажется излишним. Есть ли лучшие решения?
2 ответа
Решение
Использование {!! !!}
вместо {{ }}
чтобы избежать побега:
{!! trans('nav.find') !!}
2019-03-04 10:31
Используя Laravel 5.6 и выше, можете использовать __
помощник вместе с синтаксисом лезвия:
{!! __('pagination.next') !!}
Пришлось сделать это для шаблонов лезвия нумерации страниц.