PDFMathTranslate is a production-grade CLI and GUI application for translating PDF documents while preserving scientific formatting (formulas, charts, tables, and fonts). It uses an ONNX-based layout detection model (DocLayout-YOLO) to understand document structure, supports OCR for scanned PDFs, and integrates with numerous translation services (Google, DeepL, OpenAI, Ollama, etc.). The system operates as a monolithic package with multiple entry points: a command-line tool, a Gradio web interface, a Flask+ Celery HTTP API, and an MCP server for AI assistant integration. Internally, it follows a pipeline architecture: input PDF → optional OCR → layout analysis → text extraction → translation (with caching) → typesetting → bilingual output PDF. Notable engineering patterns include a pluggable translation backend via a kernel registry, a configurable translator base class with retry and caching, and a singleton configuration manager. The code is well-structured with test coverage and CI/CD pipelines, though the dependency on a Git submodule for the 'precise' kernel introduces minor coupling risk.
Read Frog is a browser extension for AI-assisted language learning. It provides in-page translation, video subtitle translation, text-to-speech, and a selection toolbar with custom AI actions. The extension supports over 30 language model and translation providers, configurable via a unified provider interface, with features like automatic page translation, hover translation, and AI-powered note suggestions. The architecture is built on the WXT framework (MV3) for cross-browser compatibility, with a background service worker orchestrating translation queues, caching, and state management. The frontend uses React 19, Jotai for state, TanStack Query for data fetching, and a custom Base UI component library. The codebase is highly modular with extensive test coverage, a versioned configuration migration system (100+ schema versions), and sophisticated DOM manipulation for in-place translation.
This repository contains a PotPlayer subtitle translation plugin written in AngleScript. It provides real-time subtitle translation by sending subtitle text to OpenAI-compatible chat completion APIs. Two variants are included: one with context (sends recent subtitles for better accuracy) and one without (faster, no context). The plugin handles configuration via a dual-layer system: installer-injected defaults that can be overridden by PotPlayer's settings panel. It supports retry logic, request delays, hallucination detection, small model mode, and context caching (including OpenAI prompt caching and Gemini cached content). The installer is a separate component built with Inno Setup that provides a GUI for selecting variant, configuring API settings, and injecting defaults into the script files. The code demonstrates solid engineering with careful error handling, configuration precedence, and extensibility for multi-provider support.