# Транслитерация по ГОСТ

Небольшой 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'.
