Я хочу использовать множественный перевод с переменной на 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)) }}