PHPackages                             livevasiliy/transliterate - 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. livevasiliy/transliterate

ActiveLibrary

livevasiliy/transliterate
=========================

Transliteration package for laravel

1.0.0(1y ago)018MITPHPPHP ^8.1

Since Jun 14Pushed 1y agoCompare

[ Source](https://github.com/livevasiliy/Transliterate)[ Packagist](https://packagist.org/packages/livevasiliy/transliterate)[ RSS](/packages/livevasiliy-transliterate/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Transliterate
-------------

[](#transliterate)

[![GitHub](https://camo.githubusercontent.com/850eae1099d2b05f53383473d7cd51f9bc1ab09b7d0d9e5122f1dd930efdcc6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6173686170652f6170697374617475732e737667)](https://camo.githubusercontent.com/850eae1099d2b05f53383473d7cd51f9bc1ab09b7d0d9e5122f1dd930efdcc6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6173686170652f6170697374617475732e737667)[![GitHub release](https://camo.githubusercontent.com/b2725062c9e28548d86eb1bdb9a479a3f9ae45a5f3aa97b21309b16288d6405c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f656c666f7261737465726f2f7472616e736c697465726174652e737667)](https://camo.githubusercontent.com/b2725062c9e28548d86eb1bdb9a479a3f9ae45a5f3aa97b21309b16288d6405c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f656c666f7261737465726f2f7472616e736c697465726174652e737667)[![Packagist](https://camo.githubusercontent.com/8228a55f1fa1d6359d0882b684f9626855ae15531e984f184ff92314bf99757d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656c666f7261737465726f2f7472616e736c697465726174652e737667)](https://camo.githubusercontent.com/8228a55f1fa1d6359d0882b684f9626855ae15531e984f184ff92314bf99757d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656c666f7261737465726f2f7472616e736c697465726174652e737667)

Небольшой пакет для транслитерации кириллицы с возможностью создания своих собственных карт транслитерации.

[![Code example](example.png)](example.png)

- [Предустановленные карты](#%D0%9F%D1%80%D0%B5%D0%B4%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D1%8B)
- [Системные требования](#%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Установка](#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Конфигурация](#%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F)
- [Использование](#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
- [Создание карт транслитерации](#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%B0%D1%80%D1%82-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8)
- [Создание трансформеров](#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D1%80%D0%BE%D0%B2)

Предустановленные карты
-----------------------

[](#предустановленные-карты)

- Русский
    - Дефолтная
    - ГОСТ 7.79 2000
- Украинский
    - Национальная

Это форк версия с добавленной поддержкой Laravel 11. Оригинальные тесты успешно были пройдены.
----------------------------------------------------------------------------------------------

[](#это-форк-версия-с-добавленной-поддержкой-laravel-11-оригинальные-тесты-успешно-были-пройдены)

Системные требования
--------------------

[](#системные-требования)

- laravel &gt;= 5.6
- ext-intl

Установка оригинала
-------------------

[](#установка-оригинала)

```
> composer require elforastero/transliterate

```

Установка для Laravel 11 и выше
-------------------------------

[](#установка-для-laravel-11-и-выше)

```
> composer require livevasiliy/transliterate

```

> ⚠️ Для Laravel v5 используйте ветку v2: `composer require elforastero/transliterate "^2.0"`

Laravel начиная с версии *5.5* не нуждается в дополнительной конфигурации благодаря механизму Package Discovery.

Если вы не используте Package Discovery, необходимо зарегистрировать `Service Provider`, добавив его в массив `providers`, конфигурационного файла `app.php`.

```
ElForastero\Transliterate\ServiceProvider::class,
```

Если вы хотите использовать алиас, добавьте его в массив `facades` в `app.php`.

Рекомендую в качестве алиаса использовать `Transliterate`, чтобы избежать конфликтов с Transliterator классом из расширения Intl.

```
'Transliterate' => ElForastero\Transliterate\Facade::class,
```

Конфигурация
------------

[](#конфигурация)

Для копирования конфига `transliterate.php` в директорию `configs` выполните

```
> php artisan vendor:publish --provider="ElForastero\Transliterate\ServiceProvider"

```

Использование
-------------

[](#использование)

Вы можете использовать фасад для транслитерации строк.

```
use Transliterate;

Transliterate::make('Двадцать тысяч льё под водой');
// "Dvadcat tisyach lyo pod vodoy"
```

Альтернативная карта транслитерации может быть передана вторым параметром.

```
use ElForastero\Transliterate\Transliterator;

$transliterator = new Transliterator(Map::LANG_RU, Map::GOST_7_79_2000);
$transliterator->make('Двадцать тысяч льё под водой');
// "Dvadcat` ty'syach l`yo pod vodoj"
```

Генерация URL
-------------

[](#генерация-url)

Метод `slugify` генерирует URL, убирая из строки все знаки препинания и заменяя пробелы на "-".

```
Transliterate::slugify('Съешь еще этих мягких французских булок, да выпей чаю!');
// sesh-eshhe-etih-myagkih-francuzskih-bulok-da-vipey-chayu
```

Создание карт транслитерации
----------------------------

[](#создание-карт-транслитерации)

Каждая карта представляет собой ассоциативный массив с символами подлежащими замене в качестве ключей, и значениями на которые они будут заменены.

Карта создается в виде отдельного файла с возвращаемым массивом:

```
// /resources/maps/ua/ukraine.php

return [
    'ї' => 'i',
    'і' => 'i',
    'є' => 'ie',
];
```

Добавьте путь к созданной карте в массив `maps`, конфига `transliterate.php`:

```
'ua' => [
    'ukraine' => dirname(__DIR__) . '/resources/maps/ua/ukraine.php',
]
```

После этого карту можно использовать.

```
$transliterator = new Transliterator('ua', 'ukraine');
$transliterator->make('Ваша транслітерація');
```

Создание трансформеров
----------------------

[](#создание-трансформеров)

Трансформеры - функции которые будут автоматически применены к результату транслитерации. Полезно если вам необходимо каждый раз производить одни и те же действия с транслитерируемой строкой. Регистрируется трансформер в массиве `transformers`.

Например, можно автоматечески убирать конечные пробелы.

```
ElForastero\Transliterate\Transformer::register(\Closure::fromCallable('trim')),
```

Или дополнительно приводить строки к нижнему регистру.

```
ElForastero\Transliterate\Transformer::register(\Closure::fromCallable('trim')),
ElForastero\Transliterate\Transformer::register(\Closure::fromCallable('strtolower')),
```

> Будьте внимательны, поскольку трансформеры применяются при каждом вызове `Transliterator::make`.

### Разработка

[](#разработка)

Для прогона PHPUnit тестов можно воспользоваться лежащим в корне Dockerfile:

```
docker-compose up --build

...
php_1  | Runtime:       PHP 8.0.22
php_1  | Configuration: /srv/app/phpunit.xml
php_1  |
php_1  | .....                                                               5 / 5 (100%)
php_1  |
php_1  | Time: 00:00.959, Memory: 14.00 MB
php_1  |
php_1  | OK (5 tests, 6 assertions)
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 89.7% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

695d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4615b3cfbfed91428f7bf21104e4d491ca03986d721126e09fef520b71b3e527?d=identicon)[livevasiliy](/maintainers/livevasiliy)

---

Top Contributors

[![ElForastero](https://avatars.githubusercontent.com/u/5102818?v=4)](https://github.com/ElForastero "ElForastero (61 commits)")[![dotzero](https://avatars.githubusercontent.com/u/265633?v=4)](https://github.com/dotzero "dotzero (3 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![digitv](https://avatars.githubusercontent.com/u/11768817?v=4)](https://github.com/digitv "digitv (2 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/livevasiliy-transliterate/health.svg)

```
[![Health](https://phpackages.com/badges/livevasiliy-transliterate/health.svg)](https://phpackages.com/packages/livevasiliy-transliterate)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[slowlyo/owl-admin

基于 laravel、amis 开发的后台框架~

61214.2k26](/packages/slowlyo-owl-admin)

PHPackages © 2026

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