digit-soft/transliterate
Composer 安装命令:
composer require digit-soft/transliterate
包简介
Transliteration package for Laravel
README 文档
README
Невеликий пакет для транслітерації кирилиці з можливістю створення власних карт транслітерації.
- Попередньо встановлені карти
- Системні вимоги
- Встановлення
- Конфігурація
- Використання
- Створення карт транслітерації
- Створення трансформерів
Попередньо встановлені карти
- Українська
- Національна
- Російська
- Дефолтна
- ГОСТ 7.79 2000
Системні вимоги
- laravel >= 9.0
- ext-intl
Встановлення
> composer require digit-soft/transliterate
Якщо ви хочете використовувати аліас, додайте його в масив facades в app.php.
Рекомендую як аліас використовувати Transliterate, щоб уникнути конфліктів з класом Transliterator з розширення Intl.
'Transliterate' => DigitSoft\Transliterate\Facade::class,
Конфігурація
Для копіювання конфігу transliterate.php в директорію configs виконайте:
> php artisan vendor:publish --provider="DigitSoft\Transliterate\ServiceProvider"
Використання
Ви можете використовувати фасад для транслітерації рядків.
use Transliterate; Transliterate::make('Двадцять тисяч льє під водою'); // "Dvadtsyat tysyach lie pid vodoiu"
Альтернативна карта транслітерації може бути передана другим параметром.
use DigitSoft\Transliterate\Transliterator; $transliterator = new Transliterator(Map::LANG_UK, Map::DEFAULT); $transliterator->make('Двадцять тисяч льє під водою'); // "Dvadtsyat tysyach lie pid vodoiu"
Генерація URL
Метод slugify генерує URL, видаляючи з рядка всі розділові знаки та замінюючи пробіли на "-".
Transliterate::slugify('Жебракують філософи при ґанку церкви в Гадячі, ще й шатро розклали!'); // zhebrakuiut-filosofy-pry-ganku-tserkvy-v-hadyachi-shche-i-shatro-rozklaly
Створення карт транслітерації
Кожна карта являє собою асоціативний масив із символами, що підлягають заміні, у якості ключів, та значеннями, на які вони будуть замінені.
Карта створюється у вигляді окремого файлу з масивом, що повертається:
// /resources/maps/uk/ukrainian-v2.php return [ 'ї' => 'i', 'і' => 'i', 'є' => 'ie', ];
Додайте шлях до створеної карти в масив maps конфігу transliterate.php:
'ua' => [ 'ukraine' => dirname(__DIR__) . '/resources/maps/uk/ukrainian-v2.php', ]
Після цього карту можна використовувати.
$transliterator = new Transliterator('ua', 'ukrainian-v2'); $transliterator->make('Ваша транслітерація');
Створення трансформерів
Трансформери - функції, які будуть автоматично застосовані до результату транслітерації. Корисно, якщо вам необхідно щоразу виконувати одні й ті самі дії з рядком, що транслітерується. Реєструється трансформер у масиві transformers.
Наприклад, можна автоматично прибирати кінцеві пробіли.
DigitSoft\Transliterate\Transformer::register(\Closure::fromCallable('trim')),
Або додатково приводити рядки до нижнього регістру.
DigitSoft\Transliterate\Transformer::register(\Closure::fromCallable('trim')), DigitSoft\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)
digit-soft/transliterate 适用场景与选型建议
digit-soft/transliterate 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 digit-soft/transliterate 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 digit-soft/transliterate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 27
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-08