← Все новости
EN·RU·HE·DE

0.7.3 — слово, которое уходило за вами в другое окно

2026-08-26

Слово, которое уходило за вами в другое окно

Вы набирали слово, уходили в другое окно, не нажав пробел, — и следующее слово приклеивалось к предыдущему. «перевод» и «В» приходили в приложение одним словом «переводВ», и оно послушно исправляло эту пару.

Почему это так долго оставалось незамеченным: приложение следило за тем, какая программа активна, и спрашивало об этом систему два раза в секунду. Два окна одной программы были для него неразличимы, быстрый Alt+Tab он не успевал заметить, а щелчок в соседнее поле того же окна не оставлял в потоке клавиш вообще никакого следа.

Теперь оно смотрит на три вещи и делает это на каждом нажатии клавиши, а не по таймеру: какое окно впереди, был ли щелчок мыши, была ли долгая пауза. Одно сделано намеренно: если переключиться в другое окно, ничего там не набрать и вернуться — недописанное слово останется на месте. Контекст обрывает набор в другом месте, а не сам факт ухода.

Пунктуация, которая пропадала

"одно превращалось в одно — открывающая кавычка исчезала. Проверка орфографии умела отрезать знаки в конце слова и не умела в начале, поэтому кавычка попадала в проверку как часть слова, возвращалась оттуда «опечаткой», и замена печатала на один символ короче. Теперь всё, что стоит перед словом — кавычки, скобки, тире, — остаётся на месте.

Словарь, который переводил

Кто-то увидел, как «нейросеть» посреди русской фразы превращается в «neural-network», и спросил, как выключить словарь совсем. Вопрос справедливый.

Таблица существует ради одного: английское слово, написанное русскими или ивритскими буквами — хелло, плиз, сенкс, — возвращается по-английски. Шестнадцать записей делали не это. Они соединяли русское слово с его переводом: кнопка → button, таблица → table, шаблон → template. Три были откровенно ложными друзьями: «дата» становилась data, хотя дата — это date; «митинг» становился meeting, хотя митинг — это rally. Все шестнадцать убраны.

И вторая половина, которая полезнее первой. Галочка, управляющая всем этим, называлась «Включить словарные коррекции транслитерации» — по такому названию догадаться было невозможно. Теперь она называется «Заменять английские слова, написанные русскими или ивритскими буквами (хелло → hello)» и живёт в Консоли, в разделе «Поведение». Снимите её — встроенная таблица замолчит целиком, а ваш собственный словарь продолжит работать.

Языки, которых вы не устанавливали

Некоторым предлагались иврит и немецкий на машинах, где есть только русский и английский. Происходит вот что: приложение спрашивает Windows, какие раскладки установлены, и не получает ответа — ни от системного вызова, ни из реестра. Пустой ответ мы читаем как «не смогли узнать», а не «раскладок нет», и включаем все языки, потому что приложение, которое не может предложить ничего, бесполезно.

Этот запасной путь остаётся. Меняется то, что он перестал происходить молча: теперь приложение говорит об этом уведомлением и открывает раздел «Языки», а в журнал пишет, какой именно из двух источников не ответил. Отметьте языки руками — и вопрос закрыт навсегда: явный список сильнее неудавшейся догадки.

Стоит добавить последствие, потому что заметили именно его: лишний язык — это лишний кандидат. Слово «утеук» — «enter», набранное в русской раскладке, — получало 0.97 уверенности за иврит и оставалось неисправленным.

Встречи: расшифровка, которая возвращалась пустой

Запись на 42 минуты возвращалась ничем. Не хуже обычного — совсем пустой, уже после того, как работа была сделана. Расшифровка отправляет пачки параллельно; лишние получали отказ, и один такой отказ обрывал весь прогон и уносил с собой одиннадцать уже готовых пачек.

Теперь три вещи. Сбойная пачка становится помеченным пропуском внутри расшифровки, а не концом прогона, — и её видно в файле, а не «здесь просто никто не говорил». Второй проход досылает ровно отказанные пачки, по одной: единственное, что с ними было не так, — они шли одновременно. И сдаёмся мы теперь только после шести неудач подряд без единого успеха между ними — это то, что отличает аварию у провайдера от занятой минуты.

И ещё, коротко

Готовая запись хранится в 16 кГц — ровно втрое меньше: встреча на 95 минут занимает 349 МБ вместо 1046 МБ. Тем, кто пишет со звуковой карты музыку, оставлена настройка.

Расшифровка идёт несколькими пачками сразу: десять минут звука — 160 секунд вместо 287.

И пересчёт частоты, который кормит распознавание, наконец получил фильтр — под голосами сидел слой песка, теперь он на 34–42 дБ тише.