Official Ukrainian transliteration and slug generation for TypeScript, built according to the current rules of the Cabinet of Ministers of Ukraine Resolution No. 55. Designed for headless CMS workflows, with context-aware transliteration, clean slug output, strong test coverage, and no runtime dependencies.
The implementation follows the current text of the Resolution of the Cabinet of Ministers of Ukraine dated January 27, 2010, No. 55, current revision effective from January 12, 2016: https://zakon.rada.gov.ua/go/55-2010-%D0%BF
bun add uk-translitimport { slugify, transliterate } from 'uk-translit';
transliterate('Київ'); // Kyiv
transliterate('Згурівка'); // Zghurivka
slugify('Паляниця для всіх!'); // palianytsia-dlia-vsikhTransliterates Ukrainian text to Latin script according to KMU Resolution No. 55, including:
- word-start rules for
Є,Ї,Й,Ю,Я zghhandling forзг- omission of soft sign and apostrophes
Builds an ASCII slug from transliterated text.
Options:
separator?: stringdefault-lowercase?: booleandefaulttrue
Please see CONTRIBUTING.md for contribution guidelines.
MIT