Я хочу использовать множественный перевод с переменной на Laravel 5.3

В Laravel 5.3 я хочу использовать перевод:

'items' => ':number item|:number items'

И используйте trans ():

trans('folder/file.items', ['number' => 0])

Дайте 0 предметов, 1 предмет и 2 предмета.

2 ответа

Прочитайте следующую документацию: https://laravel.com/docs/5.3/localization

В Laravel 5.3:

'items' => '[0,1] :count item |[2,Inf] :count items',

В Laravel 5.4 ( https://laravel.com/docs/5.4/localization):

'items' => '[0,1] :count item |[2,*] :count items',

И ввиду:

{{ trans_choice('app.items', 5) }}

Подсчет заполнителя автоматически установит номер 5

Просто используйте вспомогательную функцию str_plural(), предоставленную Laravel!

{{ $items }} {{ str_plural('item', $items) }}

Переменная $item должна быть числом, а не массивом или коллекцией. Если $items является коллекцией, вы должны использовать count($items) для получения количества элементов в коллекции. Тогда это будет выглядеть так:

{{ $items }} {{ str_plural('item', count($items)) }}

Другие вопросы по тегам