Как проверить DOCX/XLSX за несколько минут
Кто активно использует классический Word (или же Excel) и встроенные средства проверки правописания — я пришёл дать вам волю.
ПРОБЛЕМА
Office для Windows до сих пор не умеет в автоматическое и корректное распознавание «непопулярных» языков, что в том же Word делает невозможным обнаружение и отображение ошибок без лишних движений.
И чем объёмнее документ (или чем больше языков в нём задействовано), тем хуже ситуация. Диссонанс вызывает и загадочная штатная опция «Определять язык автоматически» — из 8 видимых на скриншоте ею поддерживается лишь половина (английский, испанский, немецкий, русский — перечисленными она не ограничивается, но турецкий игнорирует, хотя «непопулярным» назвать его очень сложно):
Впрочем, опция, похоже, изначально задумывалась для вызова диссонанса:
Справедливости ради, судя по дошедшим до наших дней свидетельствам пострадавших, проблема с распознаванием языков в Word на самом деле древняя и глубокая — сейчас в это трудно поверить, но когда-то он и в сортах родного английского не разбирался:
Советы фиксить проблему стилями иногда звучат нелепо, ибо стили подходят далеко не всем и не всегда, о чём советующие, конечно, предпочитают кокетливо умалчивать (прислали DOCX с десятками страниц на разных языках или получили «грязный» DOCX из OCR/PDF — кто в здравом уме захочет тратить свои часы на стилизацию чужого документа?), поэтому в марте, когда в Office пообещали завезти ИИ, на мгновение показалось, что уж он-то точно языки разрулит по красоте…
Я весной: 🥲
Я летом: 😐
Я осенью: 😕
Прошло полгода, чуда не случилось. Очевидно, ИИ понадобился офисному пакету для хайпа и, собственно, для красоты:
Итого имеем сюр:
Создать такую суету можно обычной вставкой строки на казахском (которую Word уверенно посчитает строкой на чистом русском):
Ну, допустим, корпорация Microsoft ввиду недавнего массового сокращения не осилит в ближайшей перспективе полноценную идентификацию языка и остановит развитие одного из своих флагманских продуктов в этом направлении.
Ок.
Что делать людям, не желающим тратить драгоценное время на банальную вычитку, не отказываясь при этом от Office?
РЕШЕНИЕ
Когда я сам столкнулся с таким же вопросом несколько лет назад, готового решения не нашлось даже в официальном магазине готовых решений (его там и сегодня нет). За неимением иных идей, я рискнул собрать его лично, делегировав определение языка серверу. Однако, разочаровавшись задумчивой работой backend, отложил проект в долгий ящик, пока недавно не попалась весьма любопытная реализация, побудившая пересмотреть подход.
В результате получился «Typos», который определяет языки с помощью Python и ищет ошибки с помощью средств проверки правописания Word. И тут я сразу внесу ясность, чтобы не давать ложных надежд на панацею и идеал:
❗Точность определения языков и нахождения ошибок напрямую зависит от качества исходного документа, от версий Word и Lingua.
❗Скорость тоже подчиняется большому количеству факторов, но в качестве ориентира: i5-2500 обрабатывает ~40K знаков в минуту.
Ключевые возможности:
ᅠ✅ Распознавание 75 языков
ᅠ✅ Поиск, отображение, классификация, фильтрация и подсчёт ошибок на 70 языках
ᅠ✅ Вывод детализации и статистики документа
ᅠ✅ Проверка в порядке очерёдности любого количества файлов
ᅠ✅ Открытие и выделение в 1 клик любой ошибки исходного документа
ᅠ✅ Взаимодействие с настраиваемым словарём Microsoft Office
ᅠ✅ Экспорт редактируемых отчётов
ᅠ✅ Уведомление о публикации обновлений
Системные требования:
ᅠ📌 Windows 8.1/10/11 + Internet Explorer 11
ᅠ📌 Office 2013/2016/2019/2021 + соответствующие (2013, 2016, 2019, 2021) средства проверки правописания
ᅠ📌 Интернет (для установки библиотек и проверки обновлений)
ДЕМОНСТРАЦИЯ
Для начала убедитесь в наличии активации, последних обновлений Office и средств проверки правописания для используемых языков:
Убедившись, что система полностью отвечает перечисленным выше требованиям, скачайте и распакуйте zip-архив, и запустите приложение:
Чтобы получить список использованных в документе языков — отключите все языковые переключатели и перетащите DOCX и/или XLSX на приложение:
Чтобы проверить документ на орфографические (·) и грамматические (⋯) ошибки на определённых языках — включите соответствующие языковые переключатели и перетащите DOCX и/или XLSX на приложение:
Чтобы открыть исходный документ и выделить в нём ошибку — нажмите на её ссылку:
Чтобы фильтровать позиции — нажмите на их условные обозначения в диаграмме:
Чтобы добавить конкретное слово в исключения — нажмите на привязанную ссылку добавления (исключайте аккуратно, чтобы случайно не спрятать реальную ошибку), и при следующих проверках Word будет его игнорировать:
Чтобы экспортировать отчёт в Word — нажмите на стрелку «⮳» в правом нижнем углу страницы со статистикой:
Чтобы изменить масштаб отображения — зажмите Ctrl и, не отпуская, прокрутите Scroll на мышке вверх/вниз («+» или «-» на клавиатуре), как в типичном веб-браузере:
ПОСЛЕСЛОВИЕ
Пара рекомендаций:
💡 Не открывайте (и тем более не редактируйте) документ во время его загрузки и обработки в Typos.
💡 Вносите изменения в проверенный документ с конца и проходите его снизу вверх, а не наоборот.
По всем возникшим вопросам/жалобам/предложениям не стесняйтесь обращаться в чат (появляюсь эпизодически, но обязательно на всё отвечаю). Если же приложение вдруг не справилось с обработкой какого-то хитрого DOCX/XLSX — не забудьте перед отправкой копии файла удалить все персональные данные и всю информацию конфиденциального характера.
Надеюсь, Typos поможет сэкономить время на рутине! 🤞