Pull to refresh

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

Reading time 2 min
Views 12K
Или всё-таки под Елочку?

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

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

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
консольный режим, поддержка Drag & Drop — спасибо за идею KorDen32

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

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

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

(upd 31.12.2019 13:36 — всё настроил, apk качается)
Tags:
Hubs:
+37
Comments 80
Comments Comments 80

Articles