explaingit

ahatem/qtranslate

Analysis updated 2026-05-18

68KotlinAudience · generalComplexity · 2/5Setup · easy

TLDR

A desktop app that lets you select any text, press Ctrl+Q, and instantly see a translation popup, with OCR, text to speech, and swappable plugin translation engines.

Mindmap

mindmap
  root((QTranslate))
    What it does
      Popup translation
      Screenshot OCR
      Text to speech
      Spell check
    Tech stack
      Kotlin
      Java 11+
    Use cases
      Translate while browsing
      Read foreign PDFs
      Grab text from images
    Audience
      Anyone needing quick translation
      Multilingual readers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Translate any selected text instantly with a keyboard shortcut

USE CASE 2

Run OCR on a screenshot to pull and translate text from images

USE CASE 3

Listen to text to speech pronunciation of translations

USE CASE 4

Browse a history of past translations

What is it built with?

KotlinJava

How does it compare?

ahatem/qtranslateahxn00/owntvamrdoh/clockmaster
Stars6839102
LanguageKotlinKotlinKotlin
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencegeneralgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Java 11 or later, runs portably from any folder.

In plain English

QTranslate is a desktop application for translating text without opening a browser. The core experience is simple: select any text on your screen, press Ctrl+Q, and a translation popup appears instantly. You can also open the main window to type or paste longer passages, switch between translation engines with one click, run optical character recognition (OCR) on a screenshot to grab and translate text from images, listen to text-to-speech pronunciation, check spelling, and browse a history of past translations, all from the keyboard. The project is a full rewrite of a discontinued Windows tool with the same name, rebuilt in Kotlin on the Java platform. The defining design choice is that everything, translation engines, OCR, text-to-speech, spell checkers, dictionaries, is a plugin, a separate file you drop in at runtime without restarting the app. This means when a service changes its API or shuts down, you replace just that plugin rather than waiting for the whole application to be updated. Google, Bing, and AI-powered services via OpenRouter are included out of the box. You would use QTranslate if you regularly need to translate text while working in other apps, reading a foreign-language document, browsing websites, or working with PDFs, and want a keyboard-driven tool that stays out of the way. It supports right-to-left languages like Arabic, Hebrew, and Farsi, offers over thirty visual themes, and runs portably from any folder. It requires Java 11 or later and works on any platform that runs Java.

Copy-paste prompts

Prompt 1
Explain how QTranslate's plugin system lets me swap translation engines without restarting the app.
Prompt 2
Help me build a new translation engine plugin for QTranslate using its plugin architecture.
Prompt 3
Walk me through installing and running QTranslate from source on Java 11.
Prompt 4
Show me how to add a custom OCR plugin to QTranslate for translating screenshots.

Frequently asked questions

What is qtranslate?

A desktop app that lets you select any text, press Ctrl+Q, and instantly see a translation popup, with OCR, text to speech, and swappable plugin translation engines.

What language is qtranslate written in?

Mainly Kotlin. The stack also includes Kotlin, Java.

How hard is qtranslate to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is qtranslate for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.