Skip to content

Releases: SuperCat-0877/esolang-translator-app

Version 2.6

Choose a tag to compare

@SuperCat-0877 SuperCat-0877 released this 16 Oct 14:42

ChangeLog

Все значимые изменения проекта Esolang Translator.
Формат основан на Keep a Changelog,
версии — по Semantic Versioning.


[2.6.0] — 2026

Добавлено

  • 🌐 Многоязычный интерфейс — 6 языков: English, Русский, Deutsch, Español, Français, Italiano
  • 📂 Папка locales/ — файлы переводов UI (ru.json, en.json, de.json, es.json, fr.json, it.json)
  • 📄 locales/about.json — вкладка «О программе» на 6 языках
  • 🎨 Под-вкладка «Интерфейс → Язык» — переключение языка без перезапуска
  • 🔧 Утилиты в tools/:
    • i18n_status.py — проверка полноты переводов
    • fix_app_i18n.py — миграция строк на ключи локали
  • 📦 core/i18n.py — центральный модуль локализации
  • 🏗️ structure.py — просмотр структуры проекта

Изменено

  • 🔖 Версия проекта: 2.5 → 2.6
  • 📝 build.ps1 — VERSION = 2.6, в сборку включена папка locales/,
    добавлен --version-file для свойств .exe
  • 📖 README.md — единый многоязычный файл (6 секций, переключатель сверху)
  • 🌍 Комбобоксы «Режим» и «Тип» теперь читают локализованные метки
    (cat_regular, cat_esoteric, filter_all, tpl_type_*)
  • 🗂️ Вкладки и кнопки переведены через ключи tab_*, btn_* (все локали)

Исправлено

  • 🐛 Шаблоны пропадали при смене языка — фильтр типа сравнивал
    локализованную метку с русскими ключами TYPE_BY_LABEL. Теперь сравнение
    идёт по паре (label, code) из _tpl_type_pairs
  • 🐛 Комбобокс «Режим» показывал cat_regular = cat_regular —
    добавлены ключи cat_regular / cat_esoteric во все 6 локалей
  • 🐛 Синтаксическая ошибка в ui/app.py — разорванный многострочный
    литерал в _on_theme_select (# comment\n)
  • 🐛 _on_btn_select был определён вне класса — вынесен на уровень App
  • 🐛 Вызов несуществующего _build_tab_xxx в _build() — удалён
  • 🐛 _load_tab_widget падал на RivuletCanvasTab / PietCanvasTab —
    теперь корректно различает widget и контроллер

Удалено

  • 🗑️ Функция _no_mark — не использовалась
  • 🗑️ Поля _prev_dst, _last_result — не использовались
  • 🗑️ Вложенный def _style_ttk внутри _apply_selected_theme — мёртвый код
  • 🗑️ Мусорные .txt в корне (🙏 Благодарности.txt,
    Настоящие Piet и Brainfuck.txt) — перенесено в README

[2.5] — 2026

Добавлено

  • 🎨 Вкладка Piet Canvas с тремя режимами отображения
  • 🧩 Вкладка Мозаика (BlockPiet) с конструктором из плиток
  • 🎯 Вкладка Piet-ASM с текстовым ассемблером
  • 🧪 Вкладка Песочница — изолированный запуск кода с таймаутом
  • 📝 Вкладка Примеры (TXT) — все шаблоны всех языков одним текстом
  • 🔌 Поддержка плагинов .py без перезапуска приложения
  • 🎨 38 тем оформления (базовые, классические, пастельные)
  • 🌐 2D-редакторы Rivulet и Piet с сеткой глифов
  • 📋 Переклассификация шаблонов — [1] → [E1], [Test] → [T1]
  • 🔄 Универсальный fallback — 1746 направлений перевода

Изменено

  • Инициализация build.ps1 — автодетект папок проекта

[2.0] — 2025

Первый публичный релиз. Базовая функциональность:

  • 43 языка (обычных + эзотерических)
  • Перевод между парами языков
  • Подсветка синтаксиса для каждого языка
  • Базовые темы оформления

Формат версий

  • MAJOR — несовместимые изменения API или структуры проекта
  • MINOR — новая функциональность с обратной совместимостью
  • PATCH — исправления без новой функциональности

Типы изменений

  • Добавлено — новая функциональность
  • Изменено — изменения существующего поведения
  • Устарело — помечено к удалению в будущих версиях
  • Удалено — удалённая функциональность
  • Исправлено — исправления багов
  • Безопасность — уязвимости и их устранение

Проверка целостности

Windows (PowerShell):

Get-Content .\EsolangTranslator.exe.sha256
(Get-FileHash .\EsolangTranslator.exe -Algorithm SHA256).Hash.ToLower()

Version 2.5

Choose a tag to compare

@SuperCat-0877 SuperCat-0877 released this 15 Oct 12:50

Esolang Translator 2.5.0

Первая публичная версия многоязычной среды разработки
для эзотерических и обычных языков программирования.

✨ Возможности

  • 43 языка — Python, JavaScript, C++, Java, Go, Rust, Ruby, PHP,
    Brainfuck, Piet, Rivulet, Whitespace, Ook, Malbolge, Cow, Chicken,
    Shakespeare, LOLCODE, Befunge, Intercal, Unlambda и другие
  • 1806 направлений перевода между всеми парами языков
  • 4 режима перевода — О=О, О=Э, Э=О, Э=Э
  • 38 тем — тёмные, светлые пастельные, радуга, оттенки
  • 2D-редакторы Rivulet Canvas и Piet Canvas
  • Piet-ASM — текстовый ассемблер Piet с плитками 16×16
  • Мозаика (BlockPiet) — плиточная визуализация кода
  • Песочница — изолированный запуск с таймаутом
  • Плагины .py — загрузка без перезапуска
  • Шаблоны — редактирование в UI, импорт/экспорт .txt

📦 Установка

  1. Скачайте EsolangTranslator.exe ниже
  2. Положите в любую папку (например, D:\Apps\EsolangTranslator\)
  3. Запустите

При первом запуске рядом появятся:

  • config.json — настройки
  • plugins/ — пользовательские плагины
  • langs_disabled/ — отключённые языки

Требования:

  • Windows 10 / 11 (64-bit)
  • Ничего дополнительно ставить не нужно — Python и библиотеки внутри

Windows 7 SP1 / 8: требуется отдельная сборка под Python 3.8.10 —
см. README.

📸 Скриншоты

Полный набор — в README.

📄 Лицензия

MIT.

Использует сторонние компоненты:

  • sv-ttk (MIT)
  • Pillow (HPND)
  • cairosvg (LGPL-3.0, без модификаций)
  • Rivulet (MIT, оригинал — Daniel Temkin)

Полные тексты — в THIRD_PARTY_LICENSES.md.


Первый публичный релиз.