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

Функция trans_choice

Функция trans_choice применяется для выбора правильной формы перевода строки на основе числа. Первым параметром передаётся ключ языковой строки из файлов локализации, вторым - число, влияющее на выбор формы, третьим - массив подстановок (опционально). Функция автоматически определяет нужную форму множественного числа согласно правилам текущей локали.

Синтаксис

<?php trans_choice($key, $number, $replace = []); ?>

Пример

Допустим, у нас есть языковой файл resources/lang/ru/messages.php с правилами множественного числа для русской локали:

<?php return [ 'apples' => '{0} Нет яблок|[1,4] :count яблока|[5,*] :count яблок', ]; ?>

Используем функцию trans_choice в контроллере для вывода правильной формы:

<?php namespace AppHttpControllers; use Illuminate\Http\Request; class AppleController extends Controller { public function index() { $count = 5; $res = trans_choice('messages.apples', $count, ['count' => $count]); echo $res; } } ?>

Результат выполнения кода при $count = 5:

"5 яблок"

Пример

Используем функцию trans_choice с разными числами в Blade-шаблоне для вывода сообщений в зависимости от количества:

@php $counts = [0, 1, 3, 10]; @endphp @foreach ($counts as $count) <p>{{ trans_choice('messages.apples', $count, ['count' => $count]) }}</p> @endforeach

Результат выполнения кода:

"Нет яблок" "1 яблоко" "3 яблока" "10 яблок"

Смотрите также

  • функция trans,
    которая выполняет простой перевод строки без учёта числа
  • функция __,
    которая служит сокращённым вариантом для trans
  • класс Lang,
    который предоставляет низкоуровневый доступ к локализации
  • метод choice,
    который является альтернативой trans_choice с другим синтаксисом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить