r2-d2
Automated localization drift detector for mobile and web apps.
Core trick
Pairs source-locale and target-locale screenshots and asks Gemini vision to flag truncation, overflow, and untranslated text.
Description
Automated localization drift detector for mobile and web apps. Prism compares screenshots across locales using Gemini vision to catch text truncation, layout shifts, untranslated strings, RTL issues, and other localization bugs before your users do.
README excerpt
# Prism Automated localization drift detector for mobile and web apps. Prism compares screenshots across locales using Gemini vision to catch text truncation, layout shifts, untranslated strings, RTL issues, and other localization bugs before your users do. ## What It Detects - **Text truncation** — translated text cut off where the source fits - **Text overflow/overlap** — strings spilling out of containers - **Layout shift** — elements repositioned due to string length changes - **Untranslated strings** — text still in the source language - **Clipped elements** — buttons/icons cropped by text expansion - **RTL issues** — mirroring or directionality problems - **Missing content** — UI elements present in source but absent in target ## Quick Start ### 1. Install ```bash # Clone the repo git clone https://github.com/raunaksingwi/prism.git cd prism # Install dependencies (requires Python 3.12+) uv sync # Install Playwright browsers (needed for web crawling) uv run playwright install chromium ``` ### 2. Set your API key ```bash # Create a .env file (or export directly) echo 'GEMINI_API_KEY=your-key-here' > .env ``` Get a Gemini API key from [Google AI Studio](https://aistudio.google.com/apikey). ### 3. Run Prism has three modes: **compare two screenshots**, **crawl a website**, or **analyze Firebase Test Lab results**. ## Usage ### Compare Two Screenshots Compare a source (original language) screenshot against a target (localized) screenshot: ```bash uv run pyth