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

Метод choice

Метод choice класса Lang предназначен для локализации фраз с учётом количества предметов. Он позволяет выбрать правильную форму слова или фразы в зависимости от переданного числа. Первый параметр метода - это ключ строки в языковом файле, второй параметр - число, на основе которого выбирается форма, а третий параметр (опциональный) - массив для замены плейсхолдеров в строке.

Синтаксис

<?php Lang::choice($key, $number, $replace = []); ?>

Пример

Давайте получим правильную форму слова для 1 и 2 яблок в английском языке. В файле resources/lang/en/messages.php определим массив с ключом 'apple':

<?php return [ 'apple' => '{0} No apples|{1} One apple|[2,*] Many apples', ]; ?>

Теперь используем метод choice в контроллере:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Lang; class AppleController extends Controller { public function index() { $number = 1; $res = Lang::choice('messages.apple', $number); echo $res; } } ?>

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

"One apple"

Пример

Рассмотрим работу метода choice с числом 5 и заменой плейсхолдера:

<?php return [ 'user' => '{0} No users|{1} One user|[2,*] :count users', ]; ?>
<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Lang; class UserController extends Controller { public function index() { $count = 5; $res = Lang::choice('messages.user', $count, ['count' => $count]); echo $res; } } ?>

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

"5 users"

Пример

Используем метод choice с числом 0 в русской локализации. В файле resources/lang/ru/messages.php:

<?php return [ 'cat' => '{0} Нет кошек|{1} Одна кошка|[2,4] :count кошки|[5,*] :count кошек', ]; ?>
<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Lang; class CatController extends Controller { public function index() { $number = 0; $res = Lang::choice('messages.cat', $number, ['count' => $number]); echo $res; } } ?>

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

"Нет кошек"

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

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