PHPackages                             vsamovarov/laravel-localizer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. vsamovarov/laravel-localizer

ActiveLibrary[Localization &amp; i18n](/categories/localization)

vsamovarov/laravel-localizer
============================

Very easy localization for Laravel

012PHPCI failing

Since Jan 4Pushed 5y ago1 watchersCompare

[ Source](https://github.com/VSamovarov/laravel-localizer)[ Packagist](https://packagist.org/packages/vsamovarov/laravel-localizer)[ RSS](/packages/vsamovarov-laravel-localizer/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel localizator
===================

[](#laravel-localizator)

[![Latest Version on Packagist](https://camo.githubusercontent.com/7e6c99b099413a04c241384c04b31e3839fcf1a7f93f8e4fa0cf125e9aa1cb7d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7673616d6f7661726f762f6c61726176656c2d6c6f63616c697a65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/vsamovarov/laravel-localizer)[![Build Status](https://camo.githubusercontent.com/b8fea8f68ef2032412a55be3d5c84937e9e08651c163dc9f5f16cb3f6f40015b/68747470733a2f2f7472617669732d63692e6f72672f5653616d6f7661726f762f6c61726176656c2d6c6f63616c697a65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/VSamovarov/laravel-localizer)[![Quality Score](https://camo.githubusercontent.com/ed339ae0b09ea5c016e698c6a057b8a71d204abd7b47f5400a6d08a2d48b3ee9/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7673616d6f7661726f762f6c61726176656c2d6c6f63616c697a65722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/vsamovarov/laravel-localizer)[![Total Downloads](https://camo.githubusercontent.com/d5bdf7e137a8e6046edd1fa37ca1b035c9b99499a3a8f44c26bc2f4892af317f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7673616d6f7661726f762f6c61726176656c2d6c6f63616c697a65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/vsamovarov/laravel-localizer)

Простая локализация Laravel. Значение локали извлекается из URL.

- Переводимые маршруты
- Возможность скрыть локаль по умолчанию в URL
- Поддерживает кеширование
- Поддержка именованных маршрутов

Installation
------------

[](#installation)

Установка с помощью Composer:

```
composer require vsamovarov/laravel-localizer
```

... опции

```
php artisan vendor:publish --provider="VSamovarov\LaravelLocalizer\LocalizerServiceProvider"
```

Usage
-----

[](#usage)

### Группы для маршрутов

[](#группы-для-маршрутов)

**Laravel Localizator** создает группы для маршрутов для каждой локали, с предопределенными параметрами 'prefix' и 'as'.

Используется макрос, который делает синтаксис похожим на объявление группы роутеров.

Например:

*routes/web.php*

```
Route::localizedGroup([],
    function () {
        Route::get('/','Controller@metod')->name('home');
        Route::get('article/about','Controller@metod')->name('about');
    }
);
```

Создаст маршруты для предопределенных языков **en, ru, uk**

MethodURINameGET/HEAD/localiser-en.homeGET/HEADrulocaliser-ru.homeGET/HEADuklocaliser-uk.homeGET/HEADarticle/aboutlocaliser-en.aboutGET/HEADru/article/aboutlocaliser-ru.aboutGET/HEADuk/article/aboutlocaliser-uk.aboutПрефикс языка в url по умолчанию скрывается.

Изменить поведение можно с помощью опции `hideDefaultLocaleInURL` в файле конфигурации.

Тогда создаются такие маршруты

MethodURINameGET/HEADenlocaliser-en.homeGET/HEADrulocaliser-ru.homeGET/HEADuklocaliser-uk.homeGET/HEADen/article/aboutlocaliser-en.aboutGET/HEADru/article/aboutlocaliser-ru.aboutGET/HEADuk/article/aboutlocaliser-uk.aboutGET/HEAD/Дополнительный маршрут на главную станицу, дублирует страницу с локалью по умолчанию

### Переведенные маршруты

[](#переведенные-маршруты)

Вы можете перевести ваши маршруты. Например...

,  (на русском)

...будут перенаправлены на тот же контроллер/представление.

Для надо создать файл переводов для соответствущих локалей, по умолчанию - `routes.php`, в котором задать перевод для каждого **сегмента** URL.

Если совпадение не будет найдено, то сегмент останется прежним.

Например

```
// resources/lang/ru/routes.php
return [
     "article" => "statya",
     "about" => "o-nas" ,
];
```

```
// routes/web.php
Route::localizedGroup([],
    function () {
        Route::get('article/about','Controller@metod')->name('about');
    }
);
```

Создаст маршруты для предопределенных языков **en, ru**

MethodURINameGET/HEADen/article/aboutlocaliser-ru.aboutGET/HEADru/statya/o-naslocaliser-ru.about**Обратите внимание - ни какого дополнительного кода для перевода маршрута не требуется.**

### Именованные маршруты

[](#именованные-маршруты)

Именованные маршруты удобно получать с помощью хелпера:

```
$url = t_route('about');
$url = t_route('article', ['id'=>'24']); //с параметрами
$url = t_route('article', [],'ru'); //с указаной локалью
```

Это сокращает конструкцию, в которой необходимо указывать сложный префикс

```
// $url = t_route('article', ['id'=>'24']);
$url = route(app('localizer')->getNamePrefix() . app()->getLocale() . '.' .'article', ['id'=>'24']);
```

### Настройки

[](#настройки)

Настройки библиотеки находятся в файле конфигурации 'config/laravel-localizer.php'

Локали определяются в секции 'supportedLocales' с помощью массива. Например:

```
    'supportedLocales' => [
        'uk'          => ['name' => 'Ukrainian', 'script' => 'Cyrl', 'native' => 'українська', 'regional' => 'uk_UA'],
        'en'          => ['name' => 'English', 'script' => 'Latn', 'native' => 'English', 'regional' => 'en_GB'],
        'ru'          => ['name' => 'Russian', 'script' => 'Cyrl', 'native' => 'русский', 'regional' => 'ru_RU'],
    ],
```

Язык по умолчанию будет первый в массиве.

### Middleware

[](#middleware)

Локаль приложения определяется с помощью мидлвара 'LocalizerMiddleware', по url.

Сам мидлвар устанавливается автоматически в группу 'web'а

**Ни каких дополнительных манипуляций с кодом не требуется**.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/33086126?v=4)[vsamovarov](/maintainers/vsamovarov)[@VSamovarov](https://github.com/VSamovarov)

---

Top Contributors

[![VSamovarov](https://avatars.githubusercontent.com/u/33086126?v=4)](https://github.com/VSamovarov "VSamovarov (25 commits)")

### Embed Badge

![Health badge](/badges/vsamovarov-laravel-localizer/health.svg)

```
[![Health](https://phpackages.com/badges/vsamovarov-laravel-localizer/health.svg)](https://phpackages.com/packages/vsamovarov-laravel-localizer)
```

###  Alternatives

[symfony/translation

Provides tools to internationalize your application

6.6k836.5M2.1k](/packages/symfony-translation)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[joedixon/laravel-translation

A tool for managing all of your Laravel translations

717911.4k11](/packages/joedixon-laravel-translation)[illuminate/translation

The Illuminate Translation package.

6936.4M495](/packages/illuminate-translation)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[larswiegers/laravel-translations-checker

Make sure your laravel translations are checked and are included in all languages.

256423.2k2](/packages/larswiegers-laravel-translations-checker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
