digit-soft/transliterate 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 digit-soft/transliterate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 25
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 27
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 24
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-08