AI Translator
AI Translator is an NVDA add-on that translates selected text or clipboard
text through an OpenAI-compatible Chat Completions API.
Author: denis-skripnik
Features
NVDA+Shift+T: translate selected text.
NVDA+Shift+Y: translate text from the clipboard.
- Speaks the translated text and copies it to the clipboard.
- Lets you choose OpenAI, OpenRouter, Nous, or a custom API URL.
- Lets you choose preset models for each provider or enter a custom model ID.
- Lets you choose target and reverse-translation languages from preset lists or enter custom values.
- Shows a help link at the top of the settings panel.
- If the input text is already in the target language, the add-on translates it into the reverse language.
- Lets you configure API key, model, target language, reverse language, and timeout.
- Supports gesture reassignment through NVDA Input Gestures.
Setup
- Install the add-on in NVDA.
- Open NVDA menu, then Preferences, then Settings, then AI Translator.
- Fill in the Chat Completions API URL, API key, model, target language, reverse translation language, and timeout.
The default API URL is
https://api.openai.com/v1/chat/completions.
Usage
To translate selected text, select text in an accessible control and press NVDA+Shift+T.
To translate clipboard text, copy text to the clipboard and press NVDA+Shift+Y.
After a successful request, the add-on speaks the translation and places it in the clipboard.
Security Notes
- The add-on uses Python's standard library only and bundles no third-party packages.
- The API key is sent only to the configured Chat Completions endpoint.
- The add-on rejects non-HTTPS URLs, except localhost HTTP endpoints for local proxies or gateways.
- The API key is stored in NVDA configuration, so treat the NVDA user profile as sensitive data.
- The selected text or clipboard text is sent to the configured provider, so do not use untrusted providers for secrets.
Limitations
- This package was syntax-checked and built, but not runtime-tested inside NVDA in this environment.
- Reading selected text depends on the focused control exposing a standard text selection through NVDA.