ARDLin is a Chrome Extension that adds AI-powered dual subtitles to videos on the ARD Mediathek. It displays the original German subtitles alongside a real-time translation in your preferred language.
- Dual Subtitles: Shows German and Translated subtitles simultaneously.
- Multi-Provider Support: Choose your preferred AI backend:
- OpenAI (GPT-4o-mini)
- Google Gemini
- DeepSeek (V3)
- Google Translate (Free, No API Key required)
- Smart Caching: Translations are cached locally for 7 days to save on API costs and speed up repeated viewing.
- Customizable UI:
- Independent font size control for German and Translated text.
- Modern, Apple-style settings popup.
- Dynamic Switching: Instantly switch languages or providers without reloading the page.
Since this extension is in development (or "unpacked"), you need to install it manually:
- Clone or download this repository to your local machine.
- Open Google Chrome and navigate to
chrome://extensions. - Enable Developer mode in the top right corner.
- Click Load unpacked.
- Select the folder containing this project (the folder with
manifest.json).
- Open a Video: Go to any video on ARD Mediathek.
- Open Settings: Click the ARDLin extension icon in your toolbar.
- Select Provider:
- Google Translate (Free): No setup required. Best for casual use.
- OpenAI / Gemini / DeepSeek: Select your provider and paste your API Key.
- Note: Using LLMs provides higher quality, context-aware translations.
- Select Target Language: Choose from over 35 supported languages.
- Adjust Appearance: Set your preferred font sizes for the top (German) and bottom (Translated) lines.
- Save: Click "Save Settings". The extension will immediately start translating.
ARDLin supports a wide range of languages including English, Spanish, French, Italian, Turkish, Russian, Chinese, Japanese, Arabic, and many European languages.
- "Extension context invalidated": This happens if the extension is updated or reloaded while you have a video tab open. Simply reload the video page to fix it.
- Subtitles stuck on "...": This usually means the API is fetching. If it stays stuck, try seeking slightly backward or reloading the page.
- No Subtitles: Ensure the video actually has German subtitles available (look for the
UTicon in the player).
This extension stores your API keys locally in your browser's sync storage. It only communicates with:
- ARD Mediathek (to fetch subtitles).
- The API endpoint of your selected provider (OpenAI, Google, DeepSeek) to perform translation.
