fix(reader): preserve full context sentence with abbreviations (Mr., Mrs., etc.) and log bug fix

This commit is contained in:
2026-10-06 17:03:38 +03:00
parent 6a6b165c7a
commit 0ff4465d34
3 changed files with 40 additions and 4 deletions
+8
View File
@@ -369,6 +369,14 @@
---
### 🐛 Устранённые дефекты и хотфиксы (Bug Tracker & Hotfixes)
- [x] **Баг читалки: Преждевременный обрыв контекстного предложения на точках сокращений (`Mr.`, `Mrs.`, `Dr.`, `Prof.`, `St.`, `etc.`, `e.g.`, `i.e.`, `1.5`)**:
- **Симптом**: При клике на слово в предложении с обращением или сокращением (например, *«Mr. and Mrs. Dursley were proud...»*) кнопка перевода предложения («🌐 Перевести предложение») отправляла на перевод лишь обрезок до или после точки (*«Mr.»*, *«and Mrs.»* или *«Dursley were proud...»*). Если перед словом была точка в обращении, текст дальше не переводился.
- **Причина**: В функции `extractContextSentence(fullText, word)` в [`app/static/js/modules/reader.js`](file:///home/ai-projects/services/study.qpid.pro/app/static/js/modules/reader.js) использовалось наивное регулярное выражение `[^.!?\n]*`, считавшее абсолютно любую точку концом предложения.
- **Решение**: Реализована безопасная защита списка английских титулов и сокращений (`READER_HONORIFICS`) и дробных чисел перед сегментацией. Предложения корректно делятся по терминальным знакам препинания с закрывающими кавычками/скобками (`[.!?]['"”’»)]*`), гарантируя передачу полного, связного контекста в переводчик и словарь.
---
### 17. 🍔 Разгрузка хеддера и единая навигация через боковое меню / Drawer (Unified Navigation & Header Redesign)
- [ ] **Проблема перегруженного хеддера**:
- В шапке скопилось 8+ кнопок (`📚 Читалка`, `🎯 Тесты CEFR`, `📖 Грамматика`, `🎓 Тренажёр`, `📊 Статистика`, `📤 Экспорт`, тема, шестеренка, профиль), на экранах планшетов и ноутбуков возникает переполнение и визуальный шум.