All Projects → danakt → sklonenie

danakt / sklonenie

Licence: MIT license
Light-weight and fast library to decline Russian names

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to sklonenie

RussianNounsJS
Склонение существительных по падежам. Обычно требуются только форма в именительном падеже, одушевлённость и род.
Stars: ✭ 29 (+26.09%)
Mutual labels:  russian, inflection, declension
rsmorphy
Morphological analyzer / inflection engine for Russian and Ukrainian languages rewritten in Rust
Stars: ✭ 27 (+17.39%)
Mutual labels:  russian, inflection
clean-names
Deduplicate and parse list of `dirty names'
Stars: ✭ 17 (-26.09%)
Mutual labels:  firstname, lastname
Random-Name-Picker
Simple, beautiful Android app to help you choose from a list of names at random. Downloaded 560,000+ times on Google Play with a 4.5+ rating after 3,500+ reviews.
Stars: ✭ 37 (+60.87%)
Mutual labels:  name
learnrxjs
Русскоязычная документация RxJS
Stars: ✭ 20 (-13.04%)
Mutual labels:  russian
naeval
Comparing quality and performance of NLP systems for Russian language
Stars: ✭ 38 (+65.22%)
Mutual labels:  russian
ChineseNames
🀄 Chinese Name Database (1930-2008)
Stars: ✭ 99 (+330.43%)
Mutual labels:  names
Chinese Names Corpus
中文人名语料库。人名生成器。中文姓名,姓氏,名字,称呼,日本人名,翻译人名,英文人名。可用于中文分词、人名实体识别。
Stars: ✭ 3,053 (+13173.91%)
Mutual labels:  names
ReName
Come up with a name using poem in ancient China.
Stars: ✭ 29 (+26.09%)
Mutual labels:  name
vim-plugin-ruscmd
Vim plugin: support command mode in Russian keyboard layout
Stars: ✭ 60 (+160.87%)
Mutual labels:  russian
iuliia-go
Transliterate Cyrillic → Latin in every possible way
Stars: ✭ 36 (+56.52%)
Mutual labels:  russian
fias
Ruby wrapper for the Russian FIAS database (Федеральная Информационная Адресная Система)
Stars: ✭ 82 (+256.52%)
Mutual labels:  russian
aot
Russian morphology for Java
Stars: ✭ 41 (+78.26%)
Mutual labels:  russian
Strata
Раскладка клавиатуры для тех, кто любит Markdown и пишет по-русски
Stars: ✭ 70 (+204.35%)
Mutual labels:  russian
petrovich elixir
Elixir library to inflect Russian first, last, and middle names.
Stars: ✭ 37 (+60.87%)
Mutual labels:  inflection
FAQ
Unofficial Fedora FAQ in russian
Stars: ✭ 86 (+273.91%)
Mutual labels:  russian
neuro-comma
🇷🇺 Punctuation restoration production-ready model for Russian language 🇷🇺
Stars: ✭ 46 (+100%)
Mutual labels:  russian
get chinese name
Chinese naming tool, supports ancient poetry naming. Built-in Shijin, Analects, Tang poetry, Song poetry, Chuci, Zhouyi. Support getting name from customize article.
Stars: ✭ 31 (+34.78%)
Mutual labels:  name
KoParadigm
KoParadigm: Korean Inflectional Paradigm Generator
Stars: ✭ 48 (+108.7%)
Mutual labels:  inflection
available
Scan npm for available package names
Stars: ✭ 98 (+326.09%)
Mutual labels:  name

Sklonenie

Лёгкая и быстрая библиотека для склонения по падежам русских имён, отчеств и фамилий

npm Travis CI

Использование

Установите npm пакет:

$ npm install sklonenie

И используйте следующим образом:

const sklonenie = require('sklonenie')
// ...
const bulgakov = sklonenie('Михаил', 'Афанасьевич', 'Булгаков')

console.log(`На страницах рукописи ${bulgakov['винительный'].join(' ')} «Мастер и Маргарита» ученые обнаружили следы морфия`)
// На страницах рукописи Михаила Афанасьевича Булгакова «Мастер и Маргарита» ученые обнаружили следы морфия

Методы

sklonenie()

Получение массива со склонениями имени, отчества и фамилии.

Синтаксис:

sklonenie(имя, отчество, фамилия[, пол])
sklonenie(имя, отчество, фамилия[, пол])[склонение]

Последный аргумент — пол — может принимать значение «1» — мужское имя, или «2» — женское. Не обязателен, но может помочь склонять некоторые имена и фамилии.

Пример:

const adel_1 = sklonenie('Адель', 'Захарович', 'Дельвиг', 1)
const adel_2 = sklonenie('Адель', 'Захаровна', 'Дельвиг', 2)

console.log(adel_1['родительный'])
// ['Аделя', 'Захаровича', 'Дельвига']
console.log(adel_2['родительный'])
// ['Адели', 'Захаровны', 'Дельвиг']

Склонение можно получить по ключу в виде названия или индекса падежа (от 0 до 5).

Пример:

const tolstoy = sklonenie('Лев', 'Николаевич', 'Толстой')

console.log(
    tolstoy['дательный'], // получение по названию
    tolstoy[2]            // получение по индексу (0–5)
)

Также возможно получение части имени из результата

Пример:

const saltikovSchedrin = sklonenie('Михаил', 'Евграфович', 'Салтыков-Щедрин', 1)

console.log(saltikovSchedrin.lastname['винительный'])
// Салтыкова-Щедрина

sklonenie.firstname()

Получение массива со склонениями имени

Синтаксис:

sklonenie.firstname(имя[, пол])

Пример:

const pavel = sklonenie.firstname('Павел')

console.log(pavel['именительный'])
// Павел

sklonenie.middlename()

Получение массива со склонениями отчества

Синтаксис:

sklonenie.middlename(отчество[, пол])

Пример:

const mihaylovich = sklonenie.middlename('Михайлович')
const mihalych    = sklonenie.middlename('Михалыч')

console.log(mihaylovich['родительный'])
// Михайловича
console.log(mihalych['родительный'])
// Михалыча

sklonenie.lastname()

Получение массива со склонениями фамилии

Синтаксис:

sklonenie.lastname(фамилия[, пол])

Пример:

const lermontov = sklonenie.lastname('Лермонтов')
const gyote     = sklonenie.lastname('Гёте')

console.log(lermontov['дательный'])
// Лермонтову
console.log(gyote['предложный'])
// Гёте
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].