gost-transliteration
Version:
Transliteration according to GOST
96 lines (78 loc) • 5.59 kB
Markdown
# Транслитерация по ГОСТ
Небольшой 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'.