Локализация и плюрализация в Laravel 5

Категория: Laravel

Мультиязычность (переводы) и формы множественного числа (окончания существительных при числительных).

Мультиязычность

Языковые файлы (переводы) хранятся в каталогах app/lang/{lang}/ в формате масива с ключами:

return array(
  'select_language' => 'Выберите язык',
  'hi_user' => 'Привет, :name'
);

Установить язык локали:

App::setLocale('es'); // es, ru

Получить локализованную строку (trans - это ф-ция хелпер):

echo Lang::get('messages.select_language');
echo trans('messages.select_language');
echo Lang::get('messages.hi_user', ['name' => 'Валентин']);

Плюрализация

Формы множественного числа.

Синтаксис метода получения множественного числа:

Lang::choice($key, $number, $replace = array(), $locale = null);

Пример:

Lang::choice('отзыв|отзыва|отзывов', $comments_count, [], 'ru');

Правила установки окончания взяты из компонента Symfony Translation (Laravel использует этот же компонент. Читать подробнее):

'apples' => '{0} There are none|[1,19] There are some|[20,Inf] There are many',

#laravel localization, #plural laravel

категория: Laravel