# 🌐 Ollama Translator GUI Современное графическое приложение для перевода текстов на русский язык с использованием uncensored модели Qwen3-14B. ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg) ![CustomTkinter](https://img.shields.io/badge/CustomTkinter-5.2+-green.svg) ![License](https://img.shields.io/badge/License-MIT-yellow.svg) ## 📸 Скриншот ``` ┌─────────────────────────────────────────────────────────────┐ │ 🌐 Ollama Translator 🌙 Темная тема│ ├─────────────────────────────────────────────────────────────┤ │ │ │ 📝 Исходный текст │ 🇷🇺 Перевод на русский │ │ ┌─────────────────────────┐│┌─────────────────────────────┐│ │ │ │││ ││ │ │ Введите текст здесь... │││ Перевод появится здесь... ││ │ │ │││ ││ │ └─────────────────────────┘│└─────────────────────────────┘│ │ Символов: 0 | Слов: 0 │ Символов: 0 | Слов: 0 │ │ │ │ 📁 Открыть 📋 Вставить 🗑️ Очистить │ │ 🔄 Перевести │ │ 📄 Копировать 💾 Сохранить │ │ │ │ ✅ Готов к работе [████░░░░] │ └─────────────────────────────────────────────────────────────┘ ``` ## ✨ Основные возможности ### 🎯 Базовый функционал - ✅ **Перевод текста** - автоматическое определение языка и перевод на русский - ✅ **Drag & Drop** - перетаскивание файлов прямо в окно приложения - ✅ **Копирование/Вставка** - быстрая работа с буфером обмена - ✅ **Открытие файлов** - поддержка .txt, .md и других текстовых форматов - ✅ **Сохранение результатов** - экспорт перевода в файл с выбором имени и пути ### 🎨 Интерфейс - 🌓 **Темная/Светлая тема** - переключение одним кликом - 📊 **Счетчики символов и слов** - для исходного текста и перевода - ⏳ **Индикатор прогресса** - визуальная обратная связь при переводе - 📍 **Статус-бар** - информация о текущих операциях - 🎯 **Современный дизайн** - чистый и интуитивный интерфейс ### ⌨️ Горячие клавиши - `Ctrl + O` - Открыть файл - `Ctrl + V` - Вставить текст - `Ctrl + S` - Сохранить перевод - `Ctrl + Enter` или `F5` - Перевести текст ### 🔧 Технические особенности - 🧵 **Многопоточность** - перевод не блокирует интерфейс - 🔤 **Автоопределение кодировки** - поддержка UTF-8, CP1251, Latin-1 - 🚫 **Фильтрация тегов мышления** - чистый вывод без `` тегов - ⏱️ **Таймаут защита** - автоматическая отмена зависших переводов ## 📦 Установка ### Требования - Python 3.8 или выше - Ollama с установленной моделью `translator` - CustomTkinter ### Шаги установки 1. **Клонируйте репозиторий или скачайте файлы** ```bash cd C:\Users\dimir\proects\ollama-translate-model ``` 2. **Установите зависимости** ```bash pip install -r requirements.txt ``` 3. **Убедитесь, что модель translator установлена** ```bash ollama list | grep translator ``` Если модели нет, создайте её: ```bash ollama create translator -f Modelfile ``` ## 🚀 Запуск ```bash python translator_gui.py ``` ## 📖 Использование ### Способ 1: Ввод текста вручную 1. Введите или вставьте текст в левое поле 2. Нажмите кнопку **"🔄 Перевести"** или `F5` 3. Дождитесь завершения перевода 4. Скопируйте или сохраните результат ### Способ 2: Открытие файла 1. Нажмите **"📁 Открыть файл"** или `Ctrl+O` 2. Выберите текстовый файл 3. Нажмите **"🔄 Перевести"** 4. Сохраните результат кнопкой **"💾 Сохранить"** ### Способ 3: Drag & Drop 1. Перетащите текстовый файл в окно приложения 2. Файл автоматически загрузится 3. Нажмите **"🔄 Перевести"** 4. Сохраните результат ### Способ 4: Буфер обмена 1. Скопируйте текст в буфер обмена 2. Нажмите **"📋 Вставить"** или `Ctrl+V` 3. Нажмите **"🔄 Перевести"** 4. Нажмите **"📄 Копировать"** для копирования результата ## 🎯 Примеры использования ### Перевод короткого текста ``` Исходный текст: "Hello, how are you today?" Результат: "Привет, как у тебя дела сегодня?" ``` ### Перевод с китайского ``` Исходный текст: "你好世界" Результат: "Привет мир" ``` ### Перевод технического текста ``` Исходный текст: "The API endpoint returns a JSON response" Результат: "Конечная точка API возвращает ответ в формате JSON" ``` ## 🔮 Идеи для улучшения ### Планируемые функции - [ ] **История переводов** - сохранение и просмотр предыдущих переводов - [ ] **Batch обработка** - перевод нескольких файлов одновременно - [ ] **Экспорт в разные форматы** - PDF, DOCX, HTML - [ ] **Настройки модели** - выбор температуры, top_p и других параметров - [ ] **Сравнение переводов** - параллельный просмотр нескольких вариантов - [ ] **Автосохранение** - периодическое сохранение работы - [ ] **Поиск и замена** - редактирование текста перед переводом - [ ] **Статистика** - количество переведенных символов, времени и т.д. - [ ] **Плагины** - поддержка дополнительных моделей и функций - [ ] **Облачная синхронизация** - сохранение истории в облаке ### Возможные улучшения интерфейса - [ ] **Разделитель с изменяемым размером** - регулировка размера панелей - [ ] **Вкладки** - работа с несколькими переводами одновременно - [ ] **Предпросмотр файлов** - просмотр содержимого перед загрузкой - [ ] **Подсветка синтаксиса** - для кода и markdown - [ ] **Zoom** - изменение размера шрифта - [ ] **Полноэкранный режим** - для фокусировки на работе ### Дополнительные функции - [ ] **Обратный перевод** - проверка качества перевода - [ ] **Голосовой ввод** - перевод речи в текст и перевод - [ ] **OCR** - распознавание текста с изображений - [ ] **Интеграция с браузером** - расширение для перевода веб-страниц - [ ] **API сервер** - использование приложения как сервиса ## 🛠️ Технические детали ### Архитектура ``` translator_gui.py ├── TranslatorApp (главный класс) │ ├── create_widgets() - создание UI элементов │ ├── setup_drag_drop() - настройка drag & drop │ ├── translate_text() - запуск перевода │ ├── _translate_worker() - фоновый поток перевода │ └── _update_translation() - обновление UI ``` ### Используемые библиотеки - **CustomTkinter** - современный GUI фреймворк - **tkinter** - базовый GUI (встроенный в Python) - **subprocess** - запуск ollama команд - **threading** - многопоточность для неблокирующего UI - **re** - регулярные выражения для фильтрации вывода ### Производительность - Перевод выполняется в отдельном потоке - UI остается отзывчивым во время перевода - Таймаут 120 секунд для длинных текстов - Автоматическая очистка ресурсов ## 🐛 Решение проблем ### Приложение не запускается ```bash # Проверьте версию Python python --version # Должна быть 3.8+ # Переустановите зависимости pip install --upgrade customtkinter ``` ### Ошибка "ollama not found" ```bash # Убедитесь, что ollama установлен и в PATH ollama --version # Проверьте модель ollama list ``` ### Перевод не работает ```bash # Проверьте, что модель translator существует ollama list | grep translator # Пересоздайте модель ollama create translator -f Modelfile ``` ### Проблемы с кодировкой - Приложение автоматически пробует UTF-8, CP1251, Latin-1 - Если файл не открывается, конвертируйте его в UTF-8 ## 📝 Лицензия MIT License - свободное использование и модификация ## 👨‍💻 Автор Создано с помощью Claude Code (Opus 4.8) ## 🤝 Вклад Предложения и улучшения приветствуются! Создавайте issues и pull requests. ## 📞 Поддержка Если у вас возникли проблемы: 1. Проверьте раздел "Решение проблем" 2. Убедитесь, что все зависимости установлены 3. Проверьте, что модель translator работает через CLI --- **Приятного использования! 🚀**