PartyTranslator v1.3 — WoW Retail 12.1

Локальный переводчик английского чата на русский.

КАНАЛЫ
- Party / Party Leader
- Instance Chat / Instance Leader
- Whisper (личные сообщения)
- Battle.net Whisper
- Raid / Raid Leader — по желанию

НАСТРОЙКИ
Esc → Настройки → Модификации → PartyTranslator

Можно включать/выключать каналы, показывать или скрывать английский оригинал и выбирать цвет строки [RU].

КОМАНДЫ
/pt on | off
/pt original on | off
/pt raid on | off
/pt whisper on | off
/pt color 1-10
/pt settings
/pt stats
/pt test

СЛОВАРЬ
Версия 1.3 значительно расширена: обычные разговорные слова, WoW/M+/raid термины, классы, роли, механики, крафт, торговля, групповой и личный чат.
Дополнительно аддон автоматически распознаёт распространённые английские словоформы и чат-сокращения (-s/-es/-ed/-ing/-ly и др.), поэтому фактическое число распознаваемых вариантов превышает число базовых записей.

ВАЖНО
Это локальный словарно-фразовый переводчик, а не Google/нейросеть. Поэтому грамматика длинных свободных предложений иногда будет грубой. WoW-термины и типовые игровые фразы имеют повышенный приоритет.

УСТАНОВКА
Папка PartyTranslator должна лежать в:
World of Warcraft\_retail_\Interface\AddOns\PartyTranslator\

Для обновления просто замените старую папку PartyTranslator новой. SavedVariables сохраняются отдельно.


PartyTranslator 1.4 — исходящий RU -> EN
----------------------------------------
/tr                         открыть окно перевода
/tr подождите танка         перевести и отправить в текущую группу/ключ
/pt write                   открыть окно RU -> EN
/pt send <текст>            перевести и отправить в текущую группу/ключ

В окне:
Enter                       отправить в Party / Instance Chat / Raid автоматически
Ответить в ЛС               отправить перевод последнему написавшему игроку (WoW или Battle.net)

Это локальный словарно-фразовый переводчик. Он особенно хорошо рассчитан на короткие фразы WoW/M+, но не заменяет полноценный Google/DeepL/нейросеть для длинного разговорного текста.


=== НОВОЕ В 1.5 ===
- Отдельное окно PartyTranslator для переводов EN -> RU.
- Оригинальные сообщения больше не изменяются в стандартном чате WoW, если включён режим отдельного окна.
- В окне отображаются канал, имя автора и русский перевод.
- В нижней части окна: поле RU, предпросмотр EN и кнопки отправки в группу/ключ или ответа в ЛС.
- Окно можно перетаскивать и менять его размер; положение и размер сохраняются.
- /pt window — открыть окно переводчика.
- В Настройки -> Модификации -> PartyTranslator добавлены параметры отдельного окна.


=== PartyTranslator 1.0.4 REALCHAT TEST ===
- Полная офлайн-сборка.
- Большой GeneralDictionary.lua подключён.
- RU->EN real-chat patch 1.0.4-realchat.
- /pt rucheck проверяет реальные разговорные фразы.
- PARTIAL-переводы блокируются перед отправкой.

Новые тестовые примеры:
не пульте пока я иду -> don't pull yet, I'm coming
танк можешь забрать босса -> tank, can you take the boss?
танк можешь забрать ада -> tank, can you take the add?
танк можешь забрать адов -> tank, can you take the adds?
дайте бл на следующем пулле -> use lust on next pull


=== PartyTranslator 1.0.5 PARSER4 TEST ===
- Полная офлайн-сборка.
- Большой GeneralDictionary.lua подключён.
- RU->EN parser: 1.0.5-parser4.
- Добавлены падежи целей, контекст времени, последовательности и условия.
- Поддержаны "пожалуйста" и "плиз" в игровых командах.
- PARTIAL-переводы блокируются перед отправкой.
- Проверка версии и тестов: /pt rucheck


=== PartyTranslator 1.0.6 CONVERSATION TEST ===
- Добавлен multi-sentence RU->EN parser.
- Разговорные фразы разбиваются по . ? !
- Добавлены конструкции: народ/ребята, как дела, что нового, давайте...
- Контрольный пример:
  народ как у вас дела? что нового? давайте по быстрому пройдем.
  -> guys, how are you? what's new? let's get through this quickly.
- Проверка: /pt rucheck


=== PartyTranslator 1.0.7 IDIOMS TEST ===
- Добавлены WoW-разговорные идиомы RU->EN.
- "давайте закроем до конца" -> "let's finish it"
- "давайте пройдем до конца" -> "let's finish the run"
- "до конца" больше не переводится как "before end".
- Проверка: /pt rucheck


=== PartyTranslator 1.0.8 SEMANTIC TEST ===
- Новый RU->EN semantic layer.
- Архитектура: форма слова -> concept -> intent -> English generator.
- Общий словарь используется только как fallback.
- Поддержана независимость от порядка слов для части смысловых конструкций.
- Примеры:
  покажите класс -> show your class
  класс покажите -> show your class
  можете показать маршрут -> can you show the route?
  давайте пройдем быстро -> let's get through this quickly
  быстро давайте пройдем -> let's get through this quickly
  давайте ключ быстро закроем -> let's finish the key quickly
- Проверка: /pt rucheck


=== PartyTranslator 1.0.10 REPORT TEST ===
- Добавлена кнопка "!" для жалобы на текущий RU->EN перевод.
- /pt reportlast — пожаловаться на последний входящий EN->RU перевод.
- /pt reports — показать количество жалоб.
- /pt clearreports confirm — очистить журнал.
- Жалобы сохраняются в PartyTranslatorDB.translationReports.
- WoW физически записывает SavedVariables после /reload или выхода из игры.
- RU engine: 1.0.10-report.


=== PartyTranslator 1.0.11 EN SEMANTIC TEST ===
- Добавлен semantic layer для входящего EN->RU.
- Он работает до GeneralDictionary.
- Примеры:
  omw but a summon would be appreciated
  -> уже иду, но суммон был бы кстати

  in fact ignore that i have tp
  -> вообще-то забей, у меня есть тп

- /pt rucheck теперь тестирует и EN->RU semantic parser.


=== PartyTranslator 1.0.13 MESSAGE TEST ===
Полная тестовая сборка.

Включает:
- RU->EN semantic parser.
- EN->RU semantic parser.
- Большой GeneralDictionary.lua.
- Жалобы на перевод через кнопку "!" и SavedVariables.
- /pt reports
- /pt reportlast
- /pt clearreports confirm
- Счётчик непрочитанных и toast в свернутом режиме.
- В настройках раздел "Тест сообщений":
  * Тест сообщения группы
  * Тест личного сообщения
- Тест ЛС работает даже без активной группы.
- RU engine: 1.0.13-message-test.


=== PartyTranslator 1.0.14 REPORT MENU ===
- Жалоба на перевод теперь вызывается ПКМ прямо по переведённому тексту в истории.
- Контекстное меню: "Ошибка перевода".
- Работает для обоих направлений:
  * входящий EN -> RU;
  * исходящий RU -> EN (строка [EN]).
- Нижняя кнопка "!" удалена, чтобы не путать направление жалобы.
- Жалобы сохраняются в PartyTranslatorDB.translationReports.
- /pt reports — количество сохранённых жалоб.
- /pt reportlast оставлен как запасной способ для последнего входящего перевода.
- Engine: 1.0.14-report-menu.


=== PartyTranslator 1.0.15 WINDOW DEFAULT ===
- Новый размер окна по умолчанию: 340 x 180.
- Новые установки открываются с размером 340 x 180.
- При обновлении слишком маленькая сохранённая геометрия
  (ширина < 300 или высота < 170) автоматически восстанавливается до 340 x 180.
- Нормальные пользовательские размеры сохраняются.
- Engine: 1.0.15-window-default.


=== PartyTranslator 1.0.16 REPORT MENU CLOSE ===
- В контекстное меню жалобы добавлена кнопка "Закрыть".
- Меню увеличено по высоте и теперь содержит:
  * Ошибка перевода
  * Закрыть
- Engine: 1.0.16-report-menu-close.


=== PartyTranslator 1.0.17 TRANSLATE BUTTON ===
- Возвращена отдельная кнопка "→ EN" справа от RU-поля.
- Нажатие явно пересчитывает текущий RU->EN перевод.
- Автоматический предпросмотр при вводе сохранён.
- Размер окна по умолчанию остаётся 340 x 180.
- Engine: 1.0.17-translate-button.


=== PartyTranslator 1.0.18 REPORT BUTTON ===
- Удалена ошибочно добавленная кнопка "→ EN".
- Возвращена кнопка "!" справа от строки EN.
- Кнопка "!" сохраняет текущую ошибку RU->EN.
- ПКМ по переводам в истории по-прежнему открывает меню "Ошибка перевода".
- Engine: 1.0.18-report-button.


=== PartyTranslator 1.0.19 PRONOUNS ===
- Добавлена русская морфология для форм:
  все / всем / всех / всеми -> everyone
- "всё" отдельно сохраняет смысл "everything".
- Исправлен кейс: "всех" -> "everyone".
- Engine: 1.0.19-pronouns.


=== PartyTranslator 1.0.20 LANGUAGE DETECTION ===
- Добавлено офлайн-определение языка входящего сообщения:
  EN / RU / FR / DE / ES / IT / PT / PL / UNKNOWN.
- В истории показывается направление, например:
  [EN→RU], [FR→RU], [DE→RU].
- Добавлен частичный перевод других европейских языков.
  Неизвестные части НЕ удаляются и остаются в исходном виде.
- Пример:
  FR: peux-tu m'invoquer ?
  RU: можешь m'invoquer ?
- Русские входящие сообщения не переводятся обратно.
- Короткие неоднозначные сообщения определяются консервативно.
- Новый файл Languages.lua содержит языковые WoW/chat-профили.
- /pt lang <текст> — тест определения языка и перевода.
- /pt rucheck — теперь также тестирует FR/DE/ES/IT/PT/PL.
- Никакой внешний EXE/API пользователю не требуется.
- Engine: 1.0.20-language-detect.


=== PartyTranslator 1.0.21 WINDOW + LANGUAGE LABEL ===
- Новый размер окна по умолчанию: 366 x 196.
- Старый заводской размер 340 x 180 автоматически мигрирует на 366 x 196.
- Слишком маленькая сломанная геометрия также восстанавливается.
- Пользовательские нестандартные размеры сохраняются.
- Метки входящего языка теперь компактные:
  [EN], [FR], [DE], [ES], [IT], [PT], [PL].
- Видимое "→RU" убрано из окна и обычного чата.
- Внутри отчётов полное направление EN_RU / FR_RU / DE_RU сохраняется.
- Engine: 1.0.21-window-language-label.


=== PartyTranslator 1.0.22 FIRST-SHOW GEOMETRY ===
- Исправлена ситуация, когда при первом запуске настройки уже показывают
  366 x 196, но само окно визуально остаётся маленьким/сломавшимся.
- Геометрия теперь применяется:
  1) при создании окна;
  2) непосредственно перед показом;
  3) в OnShow;
  4) ещё раз на следующем кадре после ADDON_LOADED.
- Временный размер первого кадра больше не записывается в SavedVariables.
- Сохранённые пользовательские размеры продолжают использоваться.
- Заводской размер: 366 x 196.
- Компактные языковые метки сохранены: [EN], [FR], [DE] и т.д.
- Engine: 1.0.22-first-show-geometry.


=== PartyTranslator 1.0.23 REPORT SYNC NOTE ===
- После отметки ошибки аддон прямо сообщает: для Companion нужен /reload или выход из WoW.
- Причина: SavedVariables меняются сразу в памяти, но файл на диске WoW обновляет при сохранении интерфейса.
- /pt reports показывает число жалоб в памяти и напоминание о синхронизации.
- /pt reportlast сохраняет реальное направление языка (FR_RU, DE_RU и т.д.).
- Engine: 1.0.23-report-sync-note.


=== PartyTranslator 1.0.24 VERIFIED CORRECTIONS ===
- Добавлен мост Companion -> WoW через VerifiedCorrections.lua.
- После "Загрузить в базу" Companion экспортирует проверенные фразы в этот файл.
- После /reload исправление используется раньше встроенных словарей и semantic rules.
- Поддержаны EN_RU, RU_EN и X_RU для текущих языков.
- /pt verified показывает количество загруженных исправлений.
- Engine: 1.0.24-verified-corrections.


=== PartyTranslator 1.0.25 RELOAD BUTTON ===
- В правом верхнем углу добавлена кнопка "↻" рядом со сворачиванием.
- Нажатие выполняет стандартный ReloadUI(), эквивалент команды /reload.
- Tooltip: "Перезагрузить интерфейс".
- В минимизированном режиме кнопка скрывается.
- Если кнопка сворачивания отключена в настройках, ↻ занимает её место.
- Engine: 1.0.25-reload-button.


=== PartyTranslator 1.2.1 PUBLIC RELEASE ===
- Версия аддона: 1.2.1.
- "Тест сообщения группы" и "Тест личного сообщения" оставлены на прежнем месте.
- /pt rucheck и /pt lang сохранены как скрытые диагностические команды,
  но убраны из обычной справки /pt.
- FULL / PARTIAL / hits остаются только в диагностическом выводе.
- Ошибки перевода, VerifiedCorrections и кнопка reload сохранены.
- Engine: 1.2.1-release.


=== PartyTranslator 1.2.2 FIRST RUN HELP ===
- При первом запуске один раз показывается инструкция по ошибкам перевода.
- Входящий плохой перевод: ПКМ по переводу -> "Ошибка перевода".
- Исходящий плохой RU->EN перевод: кнопка "!" возле EN.
- Полностью непереведённый русский текст: отправка блокируется; его также
  нужно отметить кнопкой "!".
- Через 3-4 дня теста: /reload и передать:
  World of Warcraft\_retail_\WTF\Account\<АККАУНТ>\SavedVariables\PartyTranslator.lua
- В инструкции отдельно указано НЕ присылать:
  Interface\AddOns\PartyTranslator\PartyTranslator.lua
- В настройках добавлена кнопка "Как сообщить об ошибке перевода" -> "Показать".
- Тестовые кнопки группы и лички остаются на прежнем месте.
- Публичное стартовое сообщение с внутренней dev-версией движка убрано.
- Engine: 1.2.2-first-run-help.


=== PartyTranslator 1.2.3 FIRST RUN TEXT ===
- Уточнена инструкция первого запуска.
- Если PartyTranslator не может перевести русский текст,
  сообщение НЕ БУДЕТ ОТПРАВЛЕНО.
- Такой случай нужно отметить кнопкой "!".
- Engine: 1.2.3-first-run-text.


=== PartyTranslator 1.2.4 HELP WINDOW ===
- Старый StaticPopup первого запуска заменён на отдельное окно помощи.
- Размер окна помощи: 590 x 430.
- Инструкция находится внутри ScrollFrame и больше не обрезается.
- Окно можно перемещать мышкой.
- Закрывается кнопкой "Понятно", крестиком или Esc.
- В настройках кнопка повторного показа продолжает работать.
- FIRST_RUN_HELP_VERSION увеличен до 2, поэтому пользователи старой версии
  увидят новую полную инструкцию один раз.
- Значок reload "↻" заменён на букву "R", которую шрифт WoW отображает стабильно.
- Tooltip кнопки R: "Перезагрузить интерфейс".
- Engine: 1.2.4-help-window.
