Skip to content
eglejdPublic

About

Localization strings for the Tabs mental clarity and productivity app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

116 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Tabs – Localization Automation Project

A work-in-progress localization pipeline built around Tabs, a mock mental clarity app.

🌐 Live site: tabs.egle.works


Why this exists

Started to explore what current AI automation capabilities actually look like in practice.


What I'm figuring out

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.


Pipeline (in progress)

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


Current state

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.


Stack

GitHub · Crowdin · Google Sheets · Google Docs · Asana · Carrd · Groq · Claude (AI pair programming throughout) · n8n (self-hosted) | Planned: Netlify


Notes

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.

About

Localization strings for the Tabs mental clarity and productivity app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages