Стеммеры и списки стоп-слов для Lunr.js добавляют полнотекстовый поиск на десятках языков в браузере и Node.js.
mcamara/laravel-localization
Пакет Laravel для локализации URL: маршруты с префиксом локали, определение языка браузера, переводимые сегменты маршрутов и вспомогательные функции для переключателя языков.
- Звёзды
- 3,558
- Форки
- 505
- Открытые issues
- 11
- Последний коммит
- 3 месяца назад
Что это?
Laravel Localization добавляет приложениям Laravel поддержку многоязычных URL. Маршруты достаточно один раз определить в группе с префиксом локали: пакет устанавливает локаль приложения по сегменту URL, поэтому /en/about и /es/acerca обрабатываются одним и тем же контроллером, а App::getLocale() возвращает активный язык.
Пакет умеет определять язык посетителя по заголовку браузера Accept-Language, сохранять выбранную локаль в сессии или cookie и перенаправлять запросы на локализованный URL. Также можно скрыть локаль по умолчанию в URL, переводить сегменты маршрутов с помощью файлов lang и использовать такие помощники, как localizeUrl, getSupportedLocales и getCurrentLocaleDirection, чтобы создавать переключатели языков и ссылки с учётом локали.
Маршруты генерируются при каждом запросе, поэтому php artisan route:cache по умолчанию не поддерживается. Для кеширования предусмотрены трейт LoadsTranslatedCachedRoutes и команда route:trans:cache. В README для новых проектов, которым нужна встроенная поддержка кеширования маршрутов, также рекомендуется пакет-преемник niels-numbers/laravel-localizer.
Ключевые возможности
- 01Группы маршрутов с префиксом локали: маршруты для всех языков достаточно определить один раз.
- 02Определение языка браузера по заголовку Accept-Language.
- 03Middleware для перенаправления с учётом локали и хранения её в сессии или cookie.
- 04Переводимые сегменты маршрутов, заданные в файлах lang/**/routes.php.
- 05Помощники для локализованных URL, названий локалей, их самоназваний, направления письма и письменности.
- 06Возможность скрыть локаль по умолчанию в URL и настроить сопоставление локалей с URL.
Сценарии использования
- Создание сайта на Laravel с контентом на нескольких языках и отдельными префиксами в URL для каждого языка.
- Добавление переключателя языков, который ведёт с каждой страницы на её эквивалент в других локалях.
- Использование переводимых слагов, например /en/article/... и /es/articulo/..., на многоязычных сайтах с URL, оптимизированными для SEO.
Быстрый старт
- 1
Установите пакет с помощью Composer
composer require mcamara/laravel-localization - 2
Опубликуйте файл конфигурации
php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" - 3
Оберните локализованные маршруты в группу маршрутов LaravelLocalization::setLocale() в routes/web.php
Что важно знать
- Маршруты создаются для каждого запроса, поэтому php artisan route:cache не поддерживается из коробки.
- Поддержка версий Laravel и PHP зависит от конкретных версий пакета, указанных в таблице совместимости.
Темы
Частые вопросы
- Что такое laravel-localization?
- Пакет Laravel для локализации URL: маршруты с префиксом локали, определение языка браузера, переводимые сегменты маршрутов и вспомогательные функции для переключателя языков. Laravel Localization добавляет приложениям Laravel поддержку многоязычных URL. Маршруты достаточно один раз определить в группе с префиксом локали: пакет устанавливает локаль приложения по сегменту URL, поэтому /en/about и /es/acerca обрабатываются одним и тем же контроллером, а App::getLocale() возвращает активный язык.
- laravel-localization можно использовать бесплатно? Какая у него лицензия?
- laravel-localization распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- laravel-localization всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в laravel-localization — 24 авг. 2026 г..
- Для чего можно использовать laravel-localization?
- Создание сайта на Laravel с контентом на нескольких языках и отдельными префиксами в URL для каждого языка. Добавление переключателя языков, который ведёт с каждой страницы на её эквивалент в других локалях. Использование переводимых слагов, например /en/article/... и /es/articulo/..., на многоязычных сайтах с URL, оптимизированными для SEO.
- Как установить laravel-localization?
- Установите пакет с помощью Composer: composer require mcamara/laravel-localization Опубликуйте файл конфигурации: php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" Оберните локализованные маршруты в группу маршрутов LaravelLocalization::setLocale() в routes/web.php
- Где скачать laravel-localization?
- Исходный код и инструкции по установке — на GitHub: https://github.com/mcamara/laravel-localization
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Поддерживаемый сообществом плагин для WordPress, который добавляет многоязычный контент в записи и страницы, храня версии языков вместе в одной записи.
Обёртка для Laravel над PhpSpreadsheet: экспорт коллекций, запросов и Blade-представлений в Excel или CSV и импорт таблиц в модели Eloquent.
PHP SDK для создания Telegram-ботов на основе Telegram Bot API со встроенной поддержкой Laravel.
Пакет чата для Laravel с личными и групповыми сообщениями, вложениями и готовым интерфейсом мессенджера.
Драйвер Laravel Scout для полнотекстового поиска по Eloquent-моделям с помощью PHP-движка TNTSearch без отдельного поискового сервера.