Nola-Translator README

The project's README from github.com/CerealAxis/Nola-Translator. As one markdown file: README.md.

Nola Translator Logo

Nola Translator

A real-time captioning and translation app.

English · 简体中文 · 繁體中文(台灣) · 繁體中文(香港) · 日本語 · 한국어

GPL v3 license Build workflow status Download from GitHub Actions Latest GitHub release Download the latest release QQ Group: 701699932 Electron React 19 Vite 7

Nola Translator interface preview

Overview

Nola Translator turns speech into real-time captions and translations. Run speech recognition and translation locally, use cloud services, or combine the two.

Features

Interface Preview

Home Floating Captions Video Captions
Home Floating captions Video captions
Local Model Installation Inference Environment Settings Dark Mode Support
Local model installation Inference environment settings Dark mode support

Installation

Windows x64 is supported. You can choose the EXE or MSI installer. Support for other platforms is planned once development has stabilized.

Language Support

[!TIP] The languages available for recognition and translation depend on the selected model's capabilities. The tables below show the capabilities of the recommended models included in the app. If you have a model to recommend, submit it as an issue; we will evaluate it for possible inclusion. For first-time users, we recommend SenseVoiceSmall for recognition and HY-MT2 1.8B for translation.

Recognition Models

Model Number of Languages Details
Qwen3-ASR 1.7B 30 Supports automatic detection; Chinese, English, Cantonese, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Swedish, Danish, Finnish, Polish, Czech, Filipino, Persian, Greek, Hungarian, Macedonian, and Romanian
Qwen3-ASR 0.6B 30 Supports automatic detection; Chinese, English, Cantonese, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Swedish, Danish, Finnish, Polish, Czech, Filipino, Persian, Greek, Hungarian, Macedonian, and Romanian
SenseVoiceSmall 5 Chinese, English, Cantonese, Japanese, and Korean

Translation Models

Model Number of Languages Details
HY-MT2 1.8B 37 Simplified Chinese, Traditional Chinese, English, French, Portuguese, Spanish, Japanese, Turkish, Russian, Arabic, Korean, Thai, Italian, German, Vietnamese, Malay, Indonesian, Filipino, Hindi, Polish, Czech, Dutch, Khmer, Burmese, Persian, Gujarati, Urdu, Telugu, Marathi, Hebrew, Bengali, Tamil, Ukrainian, Tibetan, Kazakh, Mongolian, and Uyghur
M2M100 418M 100 Afrikaans, Amharic, Arabic, Asturian, Azerbaijani, Bashkir, Belarusian, Bulgarian, Bengali, Breton, Bosnian, Catalan, Cebuano, Czech, Welsh, Danish, German, Greek, English, Spanish, Estonian, Persian, Fula, Finnish, French, Western Frisian, Irish, Scottish Gaelic, Galician, Gujarati, Hausa, Hebrew, Hindi, Croatian, Haitian Creole, Hungarian, Armenian, Indonesian, Igbo, Ilocano, Icelandic, Italian, Japanese, Javanese, Georgian, Kazakh, Khmer, Kannada, Korean, Luxembourgish, Ganda (Luganda), Lingala, Lao, Lithuanian, Latvian, Malagasy, Macedonian, Malayalam, Mongolian, Marathi, Malay, Burmese, Nepali, Dutch, Norwegian, Northern Sotho, Occitan, Odia, Punjabi, Polish, Pashto, Portuguese, Romanian, Russian, Sindhi, Sinhala, Slovak, Slovenian, Somali, Albanian, Serbian, Swati, Sundanese, Swedish, Swahili, Tamil, Thai, Filipino, Tswana, Turkish, Ukrainian, Urdu, Uzbek, Vietnamese, Wolof, Xhosa, Yiddish, Yoruba, Chinese, and Zulu

Cloud Models

Provider Model Supported languages Details
Aliyun Qwen3.5 / Qwen3.8 LiveTranslate 60 Chinese, English, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Urdu, Norwegian Bokmål, Swedish, Danish, Hebrew, Finnish, Polish, Icelandic, Czech, Filipino, Persian, Cantonese, Greek, Afrikaans, Asturian, Belarusian, Bulgarian, Bengali, Bosnian, Catalan, Cebuano, Estonian, Galician, Gujarati, Croatian, Hungarian, Javanese, Kazakh, Kannada, Kyrgyz, Latvian, Macedonian, Malayalam, Marathi, Punjabi, Romanian, Slovak, Slovenian, Swahili, Tajik, Azerbaijani, and Ukrainian. Version 3.8 detects the source language automatically; version 3.5 allows you to specify the source language.
MiniMax Speech-to-Text asr-1.0 20 Arabic, Cantonese, Chinese, English, Filipino, French, German, Indonesian, Italian, Japanese, Korean, Malay, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, and Vietnamese.

LLM API Configuration

[!TIP] The LLM protocols here are used for translation. Aliyun and MiniMax ASR models use separate connection settings and credentials under Audio and Recognition. Local models require no API configuration.

Supported Protocols

The app supports the following API protocols:

Protocol
OpenAI Chat Completions
OpenAI Responses
Anthropic Messages
Ollama Chat

Configuration Examples

Provider API Format Example API URL Example Model ID
DeepSeek OpenAI Chat Completions https://api.deepseek.com deepseek-flash
MiniMax OpenAI Chat Completions https://api.minimax.io/v1 MiniMax-M3
MiMo OpenAI Chat Completions https://api.xiaomimimo.com/v1 mimo-v2.6-pro

Configuration Steps

LLM configuration screen

  1. Select Cloud Translation in the translation settings.
  2. Choose the API format supported by your provider.
  3. Enter the API URL, API key, and model ID.
  4. Adjust the context window and maximum output tokens as needed.

Project Structure

assets/brand/                  Logo and brand assets
docs/                          VitePress product website and multilingual documentation
engine/nola_translator_engine/  Python audio, recognition, and translation engine
engine/tests/                   Python tests
scripts/                        Setup and build scripts
src/main/                       Electron main process
src/preload/                    IPC bridge
src/renderer/                   React interface
src/shared/                     Shared contracts and settings
tests/                          Application tests

Development and Build

npm run typecheck
npm test
.\.venv\Scripts\python.exe -m pytest engine\tests
npm run build

Build the Windows x64 installer:

npm run dist:win

Contributing

Fork the repository, create a branch, make your changes, and open a pull request. Briefly describe your changes and the checks you ran. For design and code conventions, see DESIGN.md and AGENTS.md.

License

Nola Translator's original code is licensed under GNU GPL v3.0 only. Third-party components and models are subject to their respective licenses; see Third-Party Notices.

Star History Chart

Nola-Translator (CerealAxis/Nola-Translator)

Searching Database…

What is this?Nola Translator is an open-source Windows app that turns speech into real-time captions and translations, using local or cloud speech recognition and translation models.
Is this a desktop app, or just a browser extension?It's primarily a Windows desktop app, with an optional companion browser extension for Chrome and Edge that overlays bilingual captions on video pages.
Do I need to set up API keys or download models before I can use it?No account is needed for local models — the app can search and install models like Qwen3-ASR, SenseVoiceSmall, and HY-MT2 directly from Hugging Face. For cloud recognition or translation (Aliyun, MiniMax, or OpenAI-compatible/Anthropic/Ollama APIs) you'll need to enter your own API URL, key, and model ID.
Does it run on macOS or Linux too?Not yet — only Windows x64 builds (EXE/MSI) are available right now; support for other platforms is planned for a later release.
Are my API keys and audio kept private?API credentials you enter are stored securely by the app itself, and using local models keeps all recognition and translation on your own machine instead of going through a cloud provider.
What formats can I export captions to?Caption history can be exported as TXT, SRT, or WebVTT, and you can optionally enable audio recording alongside the captions.
How many languages does it support?It depends on the model: recommended local models cover up to 37 (HY-MT2) or 100 (M2M100) languages, while cloud options like Aliyun's LiveTranslate support up to 60 languages.
Which models should a first-time user pick?The README recommends SenseVoiceSmall for speech recognition and HY-MT2 1.8B for translation as the easiest starting combination.
Can it use my GPU for faster processing?Yes, it detects available compute devices and lets you assign separate devices (GPU or CPU) for recognition and translation independently.
Creator
CerealAxis
Size
57 MB
Stars
189
Age
21d
Commits · 90 Days