Для одного из проектов пришлось переработать древунюю vb6 библиотеку склонения русских имен и фамилий.
Библиотеку перевел на JavaScript и C#. Разбил на методы и убрал русские названия, для большей читаемости кода. Исправил все английские буквы "асе" на русские.
Провел тестирование на 5000 имен сгенерированных вот этим сервисом: Генератор ников и имён. Сравнил результаты с вот этой библиотекой Склонение русских имён и фамилий на JavaScript, исправил все ошибки и выявил несколько ошибок в данной библиотеке.
Список ошибок и расхождений привожу ниже. Там где моих познаний русского языка не было достаточно для определения правильного варианта, – сравнивал с вот этим сервисом: Программа склонения по падежам
К сожалению сейчас не могу уделить больше времени этой библиотеке, поэтому код оставил в c# формате. Так же в некоторых местах можно сделать более красиво и изящно.
Таблица расхождений с библиотекой Склонение русских имён и фамилий на JavaScript
Спорное значение, правильное значение, неправильное значение
Лассмана Эмилия Андрияновна
|
Лассманы Эмилии Андрияновны
|
Лассмане Эмилии Андрияновне
|
Лассману Эмилию Андрияновну
|
Лассманой Эмилией Андрияновной
|
Лассмане Эмилии Андрияновне
|
Лассманой Эмилии Андрияновны
|
Лассманой Эмилии Андрияновне
|
Лассманой Эмилии Андрияновне
|
|||
Янсона Полина Ивановна
|
Янсоны Полины Ивановны
|
Янсоне Полине Ивановне
|
Янсону Полину Ивановну
|
Янсоной Полиной Ивановной
|
Янсоне Полине Ивановне
|
Янсоной Полины Ивановны
|
Янсоной Полине Ивановне
|
Янсоной Полине Ивановне
|
|||
Канаша Екатерина Казимировна
|
Канаши Екатерины Казимировны
|
Канаше Екатерине Казимировне
|
Канашу Екатерину Казимировну
|
Канашой Екатериной Казимировной
|
Канаше Екатерине Казимировне
|
Канашы Екатерины Казимировны
|
|||||
Унгерн Никита Наумович
|
Унгерна Никиты Наумовича
|
Унгерну Никите Наумовичу
|
Унгерна Никиту Наумовича
|
Унгерном Никитой Наумовичем
|
Унгерне Никите Наумовиче
|
Унгерным Никитой Наумовичем
|
|||||
Гриневец Олег Родионович
|
Гриневца Олега Родионовича
|
Гриневцу Олегу Родионовичу
|
Гриневца Олега Родионовича
|
Гриневцом Олегом Родионовичем
|
Гриневце Олеге Родионовиче
|
Гриневеца Олега Родионовича
|
Гриневецу Олегу Родионовичу
|
Гриневеца Олега Родионовича
|
Гриневецем Олегом Родионовичем
|
Гриневеце Олеге Родионовиче
|
|
Берия Феофан Эрнестович
|
Берии Феофана Эрнестовича
|
Берии Феофану Эрнестовичу
|
Берию Феофана Эрнестовича
|
Берией Феофаном Эрнестовичем
|
Берии Феофане Эрнестовиче
|
Берия Феофана Эрнестовича
|
Берия Феофану Эрнестовичу
|
Берия Феофана Эрнестовича
|
Берия Феофаном Эрнестовичем
|
Берия Феофане Эрнестовиче
|
|
Цой Ника Владиленовна
|
Цой Ники Владиленовны
|
Цой Нике Владиленовне
|
Цой Нику Владиленовну
|
Цой Никой Владиленовной
|
Цой Нике Владиленовне
|
Цоя Ники Владиленовны
|
Цою Нике Владиленовне
|
Цоя Нику Владиленовну
|
Цоем Никой Владиленовной
|
Цое Нике Владиленовне
|
|
Валевач Максимильян Кириллович
|
Валевача Максимильяна Кирилловича
|
Валевачу Максимильяну Кирилловичу
|
Валевача Максимильяна Кирилловича
|
Валевачом Максимильяном Кирилловичем
|
Валеваче Максимильяне Кирилловиче
|
Валевачем Максимильяном Кирилловичем
|
|||||
Казанец Владислав Евграфович
|
Казанца Владислава Евграфовича
|
Казанцу Владиславу Евграфовичу
|
Казанца Владислава Евграфовича
|
Казанцом Владиславом Евграфовичем
|
Казанце Владиславе Евграфовиче
|
Казанеца Владислава Евграфовича
|
Казанецу Владиславу Евграфовичу
|
Казанеца Владислава Евграфовича
|
Казанецем Владиславом Евграфовичем
|
Казанеце Владиславе Евграфовиче
|
|
Яна Ангелина Данииловна
|
Яны Ангелины Данииловны
|
Яне Ангелине Данииловне
|
Яну Ангелину Данииловну
|
Яной Ангелиной Данииловной
|
Яне Ангелине Данииловне
|
Яной Ангелины Данииловны
|
Яной Ангелине Данииловне
|
Яной Ангелине Данииловне
|
|||
Грош Леонид Несторович
|
Гроша Леонида Несторовича
|
Грошу Леониду Несторовичу
|
Гроша Леонида Несторовича
|
Грошом Леонидом Несторовичем
|
Гроше Леониде Несторовиче
|
Грошем Леонидом Несторовичем
|
|||||
Боньча Евгений Ульянович
|
Боньчи Евгения Ульяновича
|
Боньче Евгению Ульяновичу
|
Боньчу Евгения Ульяновича
|
Боньчей Евгением Ульяновичем
|
Боньче Евгении Ульяновиче
|
Боньчой Евгением Ульяновичем
|
Обновление 2018.12.03: Обе версии скрипта (C# .Net и JavaScript), распространяются под GNU (GENERAL PUBLIC LICENSE) лицензией и доступны через GitHub - https://github.com/miyconst/Cyriller.
Спасибо большое за библиотеку.
Единственное, версия на C# не скачивается. (Скорей всего скачать не дает настройки в Web.config)
Артем, приятно, что библиотека пригодилась еще кому-то. Decliner.cs запаковал в zip архив. Спасибо, что заметил.
Большое спасибо за библиотеку, очень пригодилась. Не думали создать OpenSource проект на ее базе? Добавить туда возможность перевода чисел в пропись. Будет своеобразный бесплатный аналог Morpher'а.
Максим, спасибо за отзыв. Про бесплатный вариант морфера думал и даже начал, но нет времени закончить и довести до ума.
Const, так может залить проект студии на оперсорс, я бы присоединился, да и другие люди думаю тоже.
Максим, хорошая мысль. Как разгребу свои текущие проекты, то выложу и маякну на почту.
Бесплатный аналог морфера есть здесь: http://yeaahcode.blogspot.com/2015/01/lingvonet.html LingvoNET - Библиотека для склонения и спряжения слов русского языка
Константин Спасибо за библиотеку, C# версия очень помогла для создания приказов и дополнений в моем приложении для автоматизации отдела кадров.
Dovlet, рад, что пригодилось. Я тоже для подобного приложения ее и создал. Сейчас работаю над этим проектом: cyriller.2try.ws.
Круто. Спасибо. Я не в коммерческих целях если что. Но респект однозначно.
Спасибо за библиотеку, очень нужна была!