Подарок всем под Ёлочку

в 21:30, , рубрики: .net, C#, core 3.1, shared library, xamarin, Алгоритмы, ёфикатор

Или всё-таки под Елочку?

Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию!

И не просто теория или скрипты из командной строки, а настоящая рабочая программа, которую можно использовать как на компе так и на телефоне.

image
ссылка на сайт — пользуйтесь!

Как работает программа?

Она загружает файл с ёфицированными словами, потом деёфицирует их все.
(база взята вот отсюда) — http://python.anabar.ru/yo.htm
потом ищет каждое из этих слов в исходном тексте и если они там есть, запоминает где это слово.

Это происходит довольно быстро.

Дальше то что происходит медленно…

Программа ищет, что бы заменить — заменяет все Е где нужно на Ё (большие на большие, маленькие на маленькие).

Всё это происходит через Parallel.For в столько потоков сколько у вас есть.

Дальше программа предлагает сохранить файл куда вы хотите (на компе), или в папку Documents/Yo на телефоне. Оттуда его можно переместить куда угодго и открывать в любой читалке.

Поддерживаемые форматы:
txt, fb2, fb2.zip

Сохраняет в таком же формате, в каком и открывает. Если надо запаковать в zip то запаковывает. fb2 разбирает на элементы и не пытается просматривать binary для ускорения работы

Самое интересное то, что программа работает одинаково на всех платформах, алгоритм полностью портируемый! За это слава Microsoft, петя Core 3.1 и вася .net standard 2.1
Теперь у меня будет единая кодовая база и для мобильников, и для сервера и для десктопа. Чему я несказанно рад! Надо ещё научиться шарить картинки и ресурсы между проектами, чтобы не копировать вручную логотип и словарь.

Почему я так рад? Потому что теперь не буду читать искалеченные книги, которые скачиваю из интернета. Никаких больше ежиков, ее, еще и е-мое. Только Ё, только хардкор!

Торопился сделать всем подарок на новый год, поэтому пока есть некоторые ограничения:

  • пока нет поддержки epub
  • иногда не показывает куда сохранила (на телефоне)
  • пока работает только с кодировкой UTF-8
  • если txt то не показывает progress bar, но работает
  • пока ёфицирует только однозначно определяемые слова (все от всё не отличает, но я буду работать над этим)

Планы:

  • кроме улучшения интерфейсов и декоративных вещей, планирую сделать поддержку docx, epub, progressbar для текста, сервис по ёфикации на сайте, API для подключения сторонних сервисов, выложить в открытый доступ исходники, редактор ё-словаря (сейчас там не все ругательства, их надо обязательно добавить!), редактор исходных и ёфицированных текстов, автоматическое обучение сложным случаям, анализ контекста, вылаживание apk в PlayMarket

А теперь — Ёфицируй это!

Всех с новый годом!

P.S.… И в лесу родилась, наконец-то, Ёлочка!

(пока не качается apk, жду ответа от службы поддержки. Кому для мобильных, пока качайте архив)

Автор: 3263927

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js