РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
195 of 201 menu

Параметры в сообщениях локализации в Laravel

Пусть в нашем представлении выводится некоторое сообщение, содержащее переменную часть. Например, количество сообщений:

<p> messages number is 5 </p>

Давайте вынесем это сообщение в файл локализации. Пока что просто запишем его целиком:

<?php return [ 'messages' => 'messages number is 5', ]; ?>

Однако число в этом сообщении меняется в зависимости от количества сообщений. Это значит, что мы должны написать сообщение таким образом, чтобы число можно было передать как параметр.

Для этого в Laravel в сообщениях локализации можно использовать плейсхолдеры. Плейсхолдер начинается с двоеточия, после которого следует имя параметра. Давайте перепишем наше сообщение, заменив число на плейсхолдер :count:

<?php return [ 'messages' => 'messages number is :count', ]; ?>

Теперь при вызове функции __ вторым параметром мы можем передать массив, ключами которого будут имена плейсхолдеров, а значениями - то, что нужно подставить вместо них. Давайте подставим число 5 вместо плейсхолдера :count:

<p> {{ __('test.messages', ['count' => 5]) }} </p>

В результате выполнения этого кода в браузер выведется строка 'messages number is 5'. Таким образом мы можем передавать любые динамические данные в сообщения локализации.

Вторым параметром функции __ передается ассоциативный массив, где ключи соответствуют именам плейсхолдеров в файле локализации, а значения - это те данные, которые будут подставлены на место плейсхолдеров.

Пусть из контроллера в представление передается переменная. Подставьте значение этой переменной в сообщение.

Пусть у вас есть две переменных: начало и конец диапазона. Сделайте сообщение, в которое будут подставлены эти две переменные.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить