Universal Screen Translator Application

Explore your games and videos with live translation

USTA continuously watches the region you choose with “sniping”, extracts text with OCR, and instantly shows the translation as an overlay on games, videos, manga, or your desktop.

View Source Code ▶ Watch Demo
Games in-game translation Videos subtitle translation Manga screen OCR Desktop instant overlay
USTA application icon

Open-source screen translation

Built for real-time screen translation

🐧 Linux ⚙️ KDE Plasma 🦶 GNOME 🖥️ Other Desktops OCR Powered Live Overlay 📡 Socket API 🌍 Cross-platform
Platform goal Linux desktops and other operating systems
USTA translation settings screenshot
USTA real-time screen translation promotional visual
🚀 Key Features

A modular, lightweight architecture for live screen translation

USTA is an open-source tool designed to make games, videos, and on-screen content instantly understandable across Linux desktops first, with broader operating-system support as a goal.

Real-Time HUD Translation

Shows live translations over video players and game windows, ideal for untranslated games and foreign media.

🖥️

Desktop & OS Support

Developed with GNOME, KDE Plasma, and other Linux desktops in focus, while aiming to support other operating systems.

🎯

Sniper Mode Overlay

A modular region-selection system for targeting specific areas such as subtitles or speech bubbles.

🔤

Modular OCR Engine

An extensible OCR layer for accurate text extraction with back ends such as Tesseract and EasyOCR.

🌐

Dual-Engine Translation

Context-aware translation flow with Google Translate and DeepL architecture. DeepL is currently untested.

Auto English Turkish German French Japanese Korean Chinese Russian Arabic Hebrew Vietnamese Thai Spanish
🔌

Unix Socket IPC

Publishes each translation as a JSON line to a local Unix socket, providing real-time data for external tools.

⌨️

Global Shortcuts & IPC Integration

A lightweight single-instance architecture enables fast control through background processes and CLI-based shortcuts.

📡 External Integration

Do more than show translations on screen: stream, save, and customize them

USTA broadcasts every translation in real time through its built-in Unix Domain Socket server. This stream connects easily to OBS, TTS, transcript, and custom overlay scenarios.

Socket Path /tmp/usta.sock
Live StreamingSend text sources to OBS or broadcasting software.
AccessibilityCreate real-time spoken translations with TTS engines.
Data LoggingGenerate session history, logs, or searchable transcripts.
Custom OverlayBuild your own interface that reacts to USTA data.
Listen command
nc -U /tmp/usta.sock
JSON output
{
  "original": "Hello world",
  "translated": "Bonjour le monde",
  "source": "en",
  "target": "fr",
  "engine": "Google",
  "timestamp": 1717181234.56
}
🛠️ System Requirements

A flexible runtime environment for GNOME, KDE Plasma, and other desktops

The required packages vary by operating system for OCR, screen capture, and desktop integration.

USTA icon

Platform Approach

Aims to support GNOME, KDE Plasma, and other desktops on Linux, while expanding to different operating systems.

CachyOS / Arch

python-gobject, gst-plugin-pipewire, GStreamer base/good, PipeWire, xdg-desktop-portal, Tesseract, and language data packages.

Fedora

python3-gobject, gstreamer1-plugin-pipewire, GStreamer base/good, PipeWire, xdg-desktop-portal, and Tesseract language packs.

🗺️ Roadmap

From Linux desktops to other operating systems

Support goals for GNOME, KDE Plasma, other Linux desktops, and different operating systems.

01

Linux Packaging

Easy distribution with .deb, AUR, AppImage, and Flatpak.

02

Linux Desktop Environments

Broader support across GNOME, KDE Plasma, and other Linux desktops.

03

Windows Support

Windows-native capture and OCR API integration.

04

macOS Support

macOS-native APIs and screen capture systems.

USTA application icon

Try USTA and connect screen translation to your own workflow

Open-source code, installation notes, releases, and development details are available in the GitHub repository.

Open on GitHub