# 🌐 Ollama Translator - Русский переводчик Uncensored модель-переводчик на русский язык на базе Qwen3-14B-abliterated с современным графическим интерфейсом. ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg) ![Ollama](https://img.shields.io/badge/Ollama-Latest-green.svg) ![License](https://img.shields.io/badge/License-MIT-yellow.svg) ## 📋 Содержание - [Возможности](#-возможности) - [Установка](#-установка) - [Использование](#-использование) - [GUI Приложение](#-gui-приложение) - [CLI Использование](#-cli-использование) - [Файлы проекта](#-файлы-проекта) - [Технические детали](#-технические-детали) ## ✨ Возможности ### 🎯 Основные функции - ✅ **Uncensored перевод** - без цензуры контента - ✅ **Автоопределение языка** - работает с любым языком - ✅ **Только русский вывод** - специализированная модель - ✅ **Высокая точность** - на базе Qwen3-14B (Q6_K квантизация) - ✅ **Графический интерфейс** - современное GUI приложение - ✅ **CLI инструменты** - для автоматизации и скриптов ### 🖥️ GUI Приложение - 🎨 **Современный интерфейс** - CustomTkinter с темной/светлой темой - 📁 **Открытие файлов** - через диалог (Ctrl+O) - ⌨️ **Горячие клавиши** - быстрая работа - 📊 **Счетчики** - символы и слова - ⏳ **Индикатор прогресса** - визуальная обратная связь - 💾 **Работа с файлами** - открытие и сохранение - 📋 **Копирование/Вставка** - работа с буфером обмена ## 📦 Установка ### Требования - Python 3.8 или выше - Ollama - CustomTkinter (для GUI) ### Шаг 1: Установка Ollama Скачайте и установите Ollama с [официального сайта](https://ollama.ai) ### Шаг 2: Установка модели ```bash cd C:\Users\dimir\proects\ollama-translate-model ollama create translator -f Modelfile ``` ### Шаг 3: Установка зависимостей Python ```bash pip install -r requirements.txt ``` ### Проверка установки ```bash ollama list | grep translator python --version ``` ## 🚀 Использование ### GUI Приложение (рекомендуется) **Windows:** ```bash run_gui.bat ``` **Linux/Mac:** ```bash python translator_gui.py ``` **Основные действия:** 1. Введите текст или перетащите файл 2. Нажмите `F5` или кнопку "Перевести" 3. Скопируйте или сохраните результат **Горячие клавиши:** - `Ctrl+O` - Открыть файл - `Ctrl+V` - Вставить текст - `Ctrl+S` - Сохранить перевод - `F5` или `Ctrl+Enter` - Перевести ### CLI Использование **Python скрипт:** ```bash python translate.py "Hello world" # Вывод: Привет, мир! python translate.py "Good morning" # Вывод: Доброе утро ``` **Прямой вызов Ollama:** ```bash ollama run translator "Hello world" # Вывод будет содержать теги ``` **Batch файл (Windows):** ```bash translate.bat "Hello world" ``` ## 🖥️ GUI Приложение ### Скриншот интерфейса ``` ┌─────────────────────────────────────────────────────────────┐ │ 🌐 Ollama Translator 🌙 Темная тема│ ├─────────────────────────────────────────────────────────────┤ │ 📝 Исходный текст │ 🇷🇺 Перевод на русский │ │ ┌─────────────────────────┐│┌─────────────────────────────┐│ │ │ Hello world │││ Привет, мир! ││ │ └─────────────────────────┘│└─────────────────────────────┘│ │ Символов: 11 | Слов: 2 │ Символов: 12 | Слов: 2 │ │ │ │ 📁 Открыть 📋 Вставить 🗑️ Очистить │ │ 🔄 Перевести │ │ 📄 Копировать 💾 Сохранить │ │ ✅ Готов к работе [████████] │ └─────────────────────────────────────────────────────────────┘ ``` ### Функции GUI - **Drag & Drop** - перетаскивание файлов в окно - **Копирование/Вставка** - работа с буфером обмена - **Открытие файлов** - поддержка .txt, .md и других форматов - **Сохранение** - экспорт с выбором имени и пути - **Темы** - переключение между темной и светлой - **Счетчики** - отображение символов и слов - **Прогресс** - индикатор выполнения перевода - **Статус-бар** - информация о текущих операциях Подробнее см. [GUI_README.md](GUI_README.md) ## 📁 Файлы проекта ``` ollama-translate-model/ ├── translator_gui.py # GUI приложение (главное) ├── translator_utils.py # Утилиты (история, batch, настройки) ├── translate.py # CLI скрипт для перевода ├── translate.sh # Bash скрипт (Linux/Mac) ├── translate.bat # Batch файл (Windows) ├── run_gui.bat # Запуск GUI для Windows ├── Modelfile # Конфигурация модели Ollama ├── requirements.txt # Зависимости Python ├── README.md # Этот файл ├── GUI_README.md # Подробная документация GUI └── QUICKSTART.md # Быстрый старт ``` ## 🔧 Технические детали ### Модель - **Базовая модель:** `hf.co/bartowski/huihui-ai_Qwen3-14B-abliterated-GGUF:Q6_K` - **Имя в Ollama:** `translator` - **Размер:** ~12 GB - **Квантизация:** Q6_K (баланс качества и размера) - **Особенность:** Abliterated (uncensored) ### Параметры модели ``` Temperature: 0.1 # Низкая для точности Top P: 0.9 Top K: 40 Repeat Penalty: 1.1 Context Window: 8192 токенов ``` ### Системный промпт ``` You are a direct translator. Translate input to Russian immediately without any thinking process or tags. Just output the Russian translation. ``` ### Фильтрация вывода Модель показывает процесс мышления в тегах `...`. Python скрипты автоматически фильтруют эти теги с помощью регулярных выражений. ### Архитектура GUI - **Фреймворк:** CustomTkinter (современный tkinter) - **Многопоточность:** Перевод в отдельном потоке - **Кодировки:** Автоопределение UTF-8, CP1251, Latin-1 - **Таймаут:** 120 секунд для длинных текстов ## 💡 Примеры использования ### Перевод с английского ```python python translate.py "Hello, how are you today?" # Привет, как у тебя дела сегодня? ``` ### Перевод с китайского ```python python translate.py "你好世界" # Привет мир ``` ### Перевод технического текста ```python python translate.py "The API endpoint returns a JSON response" # Конечная точка API возвращает ответ в формате JSON ``` ### Перевод файла ```python # Через GUI: Ctrl+O -> выбрать файл -> F5 -> Ctrl+S # Через CLI: python translate.py "$(cat input.txt)" > output.txt ``` ## 🔮 Планы развития ### В разработке - [ ] История переводов с поиском - [ ] Batch обработка нескольких файлов - [ ] Экспорт в PDF, DOCX, HTML - [ ] Настройки модели (температура, top_p) - [ ] Сравнение переводов - [ ] Автосохранение - [ ] Статистика использования - [ ] Плагины и расширения ### Идеи для улучшения - [ ] Обратный перевод для проверки качества - [ ] Голосовой ввод и вывод - [ ] OCR для изображений - [ ] Интеграция с браузером - [ ] API сервер - [ ] Мобильное приложение ## 🐛 Решение проблем ### Модель не найдена ```bash ollama list ollama create translator -f Modelfile ``` ### GUI не запускается ```bash pip install --upgrade customtkinter python --version # Должна быть 3.8+ ``` ### Проблемы с кодировкой Приложение автоматически пробует несколько кодировок. Если не помогает, конвертируйте файл в UTF-8. ### Ollama не найден Убедитесь, что Ollama установлен и добавлен в PATH: ```bash ollama --version ``` ## 📝 Лицензия MIT License - свободное использование и модификация ## 👨‍💻 Автор Создано с помощью Claude Code (Opus 4.8) ## 🤝 Вклад Предложения и улучшения приветствуются! ## 📚 Дополнительная документация - [GUI_README.md](GUI_README.md) - Подробная документация GUI - [QUICKSTART.md](QUICKSTART.md) - Быстрый старт - [translator_utils.py](translator_utils.py) - Утилиты и API --- **Приятного использования! 🚀**