A work-in-progress localization pipeline built around Tabs, a mock mental clarity app.
🌐 Live site: tabs.egle.works
Started to explore what current AI automation capabilities actually look like in practice.
AI can write code, generate scripts, guide integrations step by step, and help optimize prompts. But it has tunnel vision. It needs the right questions asked and real-world constraints pointed out. One example: the default setup had strings managed directly in GitHub – which no real localization workflow does. Copywriters work in Google Sheets, not repos. Another example: Crowdin free tier has no webhook support, so n8n uses scheduled polling instead. Every constraint like this shapes the pipeline.
Google Sheets (CW copy source)
↓
n8n → generates en.json → pushes to GitHub
↓
Crowdin picks up changes via GitHub integration
↓
DE/JA: MT pretranslation in Crowdin (manual trigger on free tier)
↓
n8n polls Crowdin → AI quality review → results logged to review sheet
↓
Human reviews flagged strings → approves in Crowdin → pushed to GitHub
LT separate path:
n8n reads untranslated strings from Crowdin → AI translation (Groq)
→ AI quality review → results logged to review sheet
→ Human reviews flagged strings → approved translations pushed to GitHub
| Component | Status |
|---|---|
| i18n JSON string structure (30 strings) | ✅ Done |
| GitHub repository | ✅ Done |
| Crowdin TMS integration (LT, JA, DE) | ✅ Done |
| Landing page: tabs.egle.works | ✅ Live |
| Glossary + style guide | ✅ Done |
| Asana board (Agile sprint tracking) | ✅ Done |
| DE + JA pretranslation via MT | ✅ Done |
| Language config sheet (routing logic) | ✅ Done |
| n8n: Sheets → GitHub workflow | ✅ Done |
| n8n: AI translation review workflow | 🔄 In progress |
| n8n: LT AI translation workflow | 🔄 In progress |
| Push approved LT translations to Crowdin | 🔄 In progress |
| Netlify auto-deploy (replace Carrd) | 📋 Planned |
| Expand language pairs | 📋 Planned |
| Self-learning glossary loop: mine human post-edits → auto-update glossary and style guide → push to Crowdin | 📋 Planned |
| Model benchmarking: test different AI models on the same translations to see which performs best | 📋 Planned |
| Knowledge graph + QA dashboard: map product concepts and their relationships, then use them to power a QA review dashboard. Tools: Obsidian → Neo4j, Lovable | 📋 Planned |
| Stress-test with colleagues | 📋 Planned |
Copy is managed in a Google Sheet (the single source of truth for all English strings). An n8n workflow syncs the sheet to locales/en/en.json in this repository via the GitHub API on a daily trigger – no manual file editing is required. Crowdin detects the commit and pulls the updated source strings automatically.
DE and JA translations are produced via MT pre-translation in Crowdin (triggered manually on free tier). LT translations are generated by an n8n AI translation workflow (Groq/Llama) with glossary and style guide injection, bypassing Crowdin MT entirely. All translations go through an n8n AI quality review workflow (MQM-style evaluation) with results logged to a dedicated review sheet. A human reviewer checks flagged strings, fixes them in Crowdin, and approves before translations are pushed back to GitHub.
Translation routing is driven by a language_config sheet – adding a new language and assigning it a translation method (crowdin_mt or ai_translate) is all that's needed to extend the pipeline.
The landing page at tabs.egle.works is currently updated manually from GitHub; auto-deploy via Netlify is planned as the next step.
GitHub · Crowdin · Google Sheets · Google Docs · Asana · Carrd · Groq · Claude (AI pair programming throughout) · n8n (self-hosted) | Planned: Netlify
This is intentionally a work in progress. The goal isn't a polished finished product – it's to experiment and understand localization infrastructure from the inside, not just manage it from above.