Небольшой javascript-пакет для транслитерации по действующим в Российской Федерации ГОСТ. В данный момент пакет поддерживает следующие ГОСТы и правила транслитерации:
- ГОСТ 7.79-2000 (ISO 9-95) (русский, белорусский, украинский, болгарский и македонский алфавит)
Посмотреть на пример работы пакета можно на данной странице.
Устанавливаем с помощью npm:
npm install gost-transliteration --save
Подключаем и используем функцию модуля:
import { translit } from 'gost-transliteration'
translit('Привет мир!') // Вернёт «Privet mir!», для русского (язык по умолчанию)
translit("Прывітанне свет!", 'be') // Вернёт «Pry'vіtanne svet!», для белорусского
translit("Привіт світ!", 'uk') // Вернёт «Pry'vіt svіt!», для украинского
translit("Здравей свят!", 'bg') // Вернёт «Zdravej svyat!», для болгарского
translit("Здраво светот!", 'mk') // Вернёт «Zdravo svetot!», для македонского
Можно подключить с помощью CommonJS модулей (node.js):
const { translit } = require('gost-transliteration')
Обратите внимание, что я решил поддерживать только транслитерацию славянских алфавитов по системе Б (транслитерация с использованием буквосочетаний) ГОСТ ГОСТ 7.79-2000 (ISO 9-95). Игнорируемая система А использует специфические латинские символы, которые, на мой взгляд, к реальной повседневной жизни имеют мало отношения.
Буква | Русский | Белорусский | Украинский | Болгарский | Македонский |
---|---|---|---|---|---|
А | a | a | a | a | a |
Б | b | b | b | b | b |
В | v | v | v | v | v |
Г | g | g | g | g | g |
Ѓ | - | - | - | - | g' |
Д | d | d | d | d | d |
Е | e | e | e | e | e |
Ё | yo | yo | - | - | - |
Є | - | - | ye | - | - |
Ж | zh | zh | zh | zh | zh |
З | z | z | z | z | z |
Ѕ | - | - | - | - | z' |
И | i | - | y' | i | i |
Й | j | j | j | j | j |
Ј | - | - | - | - | j |
I | i, i' | i | i | i, i' | - |
Ї | - | - | yi | - | - |
К | k | k | k | k | k |
Ќ | - | - | - | - | k' |
Л | l | l | l | l | l |
Љ | - | - | - | - | l' |
М | m | m | m | m | m |
Н | n | n | n | n | n |
Њ | - | - | - | - | n' |
О | o | o | o | o | o |
П | p | p | p | p | p |
Р | r | r | r | r | r |
С | s | s | s | s | s |
Т | t | t | t | t | t |
У | u | u | u | u | u |
Ў | - | u' | - | - | - |
Ф | f | f | f | f | f |
Х | x | x | x | x | x |
Ц | cz, c | cz, c | cz, c | cz, c | cz, c |
Ч | ch | ch | ch | ch | ch |
Џ | - | - | - | - | dh |
Ш | sh | sh | sh | sh | sh |
Щ | shh | - | shh | sth | - |
Ъ | '' | - | - | a' | - |
Ы | y' | y' | - | - | - |
Ь | ' | ' | ' | ' | - |
Э | e' | e' | - | - | - |
Ю | yu | yu | yu | yu | - |
Я | ya | ya | ya | ya | - |
' (апостроф) | ' | ' | ' | ' | ' |
Ѣ (ять) | ye | - | - | ye | - |
Ѳ (фита) | fh | - | - | fh | - |
Ѵ (ижица) | yh | - | - | yh | - |
Ѫ (юс) | - | - | - | o' | - |
- При транслитерации заглавных (прописных) букв буквосочетанием в транслитерированном тексте заглавный (прописной) вариант выбирается только для первой буквы сочетания, если в данном слове имеются строчные. Если все буквы исходного слова заглавные (прописные), то в транслитерированном слове заглавными пишут все буквы сочетания.
- Ц передается либо латинской C, либо сочетанием CZ. Рекомендуется употреблять C перед буквами I, E, Y, J, а в остальных случаях - CZ.
- Кирилловская I в украинском и белорусском языках всегда передается через латинскую I. Также она передается в русских и болгарских текстах, написанных по старой орфографии, где она, как правило, употребляется перед гласными буквами. В редких случаях употребления ее перед согласной (например, в слове «МIРѢ»), она передается сочетанием i'.