UNPKG

gost-transliteration

Version:
96 lines (78 loc) 5.59 kB
# Транслитерация по ГОСТ Небольшой javascript-пакет для транслитерации по действующим в Российской Федерации ГОСТ. В данный момент пакет поддерживает следующие ГОСТы и правила транслитерации: * ГОСТ 7.79-2000 (ISO 9-95) (русский, белорусский, украинский, болгарский и македонский алфавит) Посмотреть на пример работы пакета можно на [данной странице](https://safonovpro.github.io/gost-transliteration/). ## Установка и использование пакета Устанавливаем с помощью npm: npm install gost-transliteration --save Подключаем и используем функцию модуля: ```js 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): ```js const { translit } = require('gost-transliteration') ``` ## Транслитерация по ГОСТ 7.79-2000 (ISO 9-95) Обратите внимание, что я решил поддерживать только транслитерацию славянских алфавитов по системе Б (транслитерация с использованием буквосочетаний) ГОСТ ГОСТ 7.79-2000 (ISO 9-95). Игнорируемая система А использует [специфические латинские символы](./img/iso-9-95-system-a.png), которые, на мой взгляд, к реальной повседневной жизни имеют мало отношения. ### Поддерживаемая транслитерация Буква | Русский | Белорусский | Украинский | Болгарский | Македонский --- | --- | --- | --- | --- | --- **А** | 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' | - #### Важные оговорки при транслитерации 1. При транслитерации заглавных (прописных) букв буквосочетанием в транслитерированном тексте заглавный (прописной) вариант выбирается только для первой буквы сочетания, если в данном слове имеются строчные. Если все буквы исходного слова заглавные (прописные), то в транслитерированном слове заглавными пишут все буквы сочетания. 2. Ц передается либо латинской C, либо сочетанием CZ. Рекомендуется употреблять C перед буквами I, E, Y, J, а в остальных случаях - CZ. 3. Кирилловская I в украинском и белорусском языках всегда передается через латинскую I. Также она передается в русских и болгарских текстах, написанных по старой орфографии, где она, как правило, употребляется перед гласными буквами. В редких случаях употребления ее перед согласной (например, в слове «МIРѢ»), она передается сочетанием i'.