How chenycl/chrome-extension-udemy-translate works
Universal Subtitle Translator is a Chrome extension that watches configured website subtitle elements, requests translations through a background message handler, and displays bilingual floating subtitles. Options configure domains, providers, prompts, and styling; the popup offers quick controls. The sampled source supports the content/background/API request flow and local settings access. README capabilities such as subtitle download and preset configurations are represented only where the tree provides a corresponding UI or module; implementation details for unsampled pages are uncertain.
Main entry points: content/index.ts Subtitle observer · Options.tsx Options settings · background/index.ts Message handler · request.ts Translation request
Components 13
Configuration UI
- Options settings
src/pages/options/Options.tsx - Quick controls
src/pages/popup/Popup.tsx
Subtitle Runtime
- Subtitle observer
src/pages/content/index.ts - Message handler
src/pages/background/index.ts - Floating subtitles
src/pages/content/index.ts - Message types
src/types/DOMMessages.ts
Translation Providers
- Translation request
src/utils/request.ts
Subtitle Inspection
- VTT inspection
src/pages/devtools/index.ts - Devtools panel
src/pages/panel/Panel.tsx
Other components
- Website viewer
- Extension settings
- OpenAI-compatible API
- Ollama API
Connections 16
- Website viewer → Subtitle observer: provides DOM
- Options settings → Extension settings: writes settings
- Options settings → Extension settings: reads settings
- Quick controls → Extension settings: reads and writes
- Subtitle observer → Extension settings: reads settings
- Subtitle observer → Message handler: requests translation
- Message handler → Extension settings: reads settings
- Message handler → Translation request: calls translation
- Translation request → Extension settings: reads provider config
- Translation request → OpenAI-compatible API: sends completion request
- Translation request → Ollama API: sends completion request
- Options settings → OpenAI-compatible API: tests provider
- Options settings → Ollama API: tests provider
- Subtitle observer → Floating subtitles: renders translation
- Message handler → Subtitle observer: broadcasts status
- VTT inspection → Devtools panel: registers panel