npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

numeralize-rus-ukr

v1.0.7

Published

Converts a number to words for Russian/Ukrainian languages. Написание числительных на русском и украинском языке с учётом пола и падежа.

Downloads

918

Readme

numeralize-rus-ukr

version travis

Написание числительных на русском и украинском языке с учётом пола и падежа.

Установка

npm install --save numeralize-rus-ukr

API

numeralize(number, lang = 'ru', gender = numeralize.GENDER_MASCULINE, kase = numeralize.CASE_NOMINATIVE, animate = false)

Возвращает числительное, соответствующее числу

  • number — число, для которого надо записать числительное;
  • lang — язык:
    • ru — русский (по умолчанию);
    • uk — украинский;
  • gender — пол:
    • numeralize.GENDER_MASCULINE — мужской (по умолчанию);
    • numeralize.GENDER_FEMININE — женский;
    • numeralize.GENDER_NEUTER — средний;
  • kase — падеж (case является ключевым словом, поэтому не может быть использован в качестве имени переменной):
    • numeralize.CASE_NOMINATIVE — именительный (по умолчанию);
    • numeralize.CASE_GENITIVE — родительный;
    • numeralize.CASE_DATIVE — дательный;
    • numeralize.CASE_ACCUSATIVE — винительный;
    • numeralize.CASE_INSTRUMENTAL — творительный;
    • numeralize.CASE_PREPOSITIONAL — предложный;
  • animate — являются ли перечисляемые предметы одушевлёнными (влияет на форму винительного падежа некоторых числительных)
const numeralize = require('numeralize');

numeralize(5122981121);
// мужской род, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одна тысяча сто двадцать один'

numeralize(5122981121, 'ru', numeralize.GENDER_FEMININE);
// женский род, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одна тысяча сто двадцать одна'

numeralize(5122981121, 'ru', numeralize.GENDER_NEUTER);
// средний род, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одна тысяча сто двадцать одно'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_NOMINATIVE);
// мужской род, именительный падеж, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одна тысяча сто двадцать один'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_GENITIVE);
// мужской род, родительный падеж, 'пяти миллиардов ста двадцати двух миллионов девятисот восьмидесяти одной тысячи ста двадцати одного'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_DATIVE);
// мужской род, дательный падеж, 'пяти миллиардам ста двадцати двум миллионам девятистам восьмидесяти одной тысяче ста двадцати одному'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_ACCUSATIVE);
// мужской род, винительный падеж, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одну тысячу сто двадцать один'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_ACCUSATIVE, true);
// мужской род, винительный падеж, одушевлённые предметы, 'пять миллиардов сто двадцать два миллиона девятьсот восемьдесят одну тысячу сто двадцать одного'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_INSTRUMENTAL);
// мужской род, творительный падеж, 'пятью миллиардами ста двадцатью двумя миллионами девятьюстами восемьюдесятью одной тысячей ста двадцатью одним'

numeralize(5122981121, 'ru', numeralize.GENDER_MASCULINE, numeralize.CASE_PREPOSITIONAL);
// мужской род, творительный падеж, 'пяти миллиардах ста двадцати двух миллионах девятистах восьмидесяти одной тысяче ста двадцати одном'

numeralize.pluralize(count, forms)

Выбирает нужную форму существительного в зависимости от количества.

  • count — количество
  • forms — 3 формы существительного для одного/двух/пяти предмета, например, [рубль, рубля, рублей];
const pluralize = require('numeralize').pluralize;

pluralize(0, ['рубль', 'рубля', 'рублей']);
// 'рублей'

pluralize(1, ['рубль', 'рубля', 'рублей']);
// 'рубль'

pluralize(2, ['рубль', 'рубля', 'рублей']);
// 'рубля'

pluralize(5, ['рубль', 'рубля', 'рублей']);
// 'рублей'

pluralize(11, ['рубль', 'рубля', 'рублей']);
// 'рублей'

pluralize(21, ['рубль', 'рубля', 'рублей']);
// 'рубль'

numeralize.inclineUnit(count, forms, lang = 'ru', kase = numeralize.CASE_NOMINATIVE)

Склоняет существительное (ед.изм., например, деньги) в зависимости от количества.

  • count — количество
  • forms — двуменрный массив 2x6 из 6 форм существительного для ед.ч. и мн.ч. -или- одна из известных единиц измерения, см. ниже UNITS;
  • kase — падеж

UNITS

  • ru
    • рубль
    • гривна
    • копейка
    • доллар
    • цент
  • uk
    • рубль
    • гривня
    • копійка
    • долар
    • цент
const inclineUnit = require('numeralize').inclineUnit;

inclineUnit(2, 'рубль', 'ru');
// 'рубля'

inclineUnit(2, 'рубль', 'ru', numeralize.CASE_GENITIVE);
// 'рублей'

Roadmap

  • Порядковые числительные (ordinal numerals): первый, вторым, третьими и т.д.
  • Собирательные числительные (collective numerals): трое, четверых, пятерыми и т.д.
  • Особые формы единственного и множественного числа: одни сутки, два дня, пять суток и т.д.

См.также

  • Подробно о склонении числительных в русском языке с примерами: http://numeralonline.ru/