DEV Community

J Now
J Now

Posted on

When one translation isn't enough

I was drafting a message to my girlfriend in Farsi — something small, just that I'd missed her that day — and Google Translate gave me one option. No indication of whether it was tender or clinical, whether a native speaker would find it warm or weirdly formal. I sent it anyway and she laughed, kindly. It sounded like a receipt.

So I built konid.

The core behavior: you describe what you want to say, and it returns three translations ordered casual to formal, with a note explaining the register difference between them. Not "here's the word" but "here's what each one signals to a native speaker and when you'd reach for it."

For the Farsi version of "I missed you today" the three options ranged from something you'd text a close partner to something that reads as almost literary — and the nuance note explained which one actually sounds like a person rather than a phrase card. Audio pronunciation plays through your speakers via node-edge-tts, no API key needed.

It covers 13+ languages: Mandarin, Japanese, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, Farsi, and more.

The setup I use daily:

claude mcp add konid-ai -- npx -y konid-ai
Enter fullscreen mode Exit fullscreen mode

That installs it as an MCP server in Claude Code. It also works in Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork. If you're on ChatGPT, there's a Developer mode install via https://konid.fly.dev/mcp.

I kept reaching for it when drafting work emails in Spanish — not just to get through the task but to actually understand why one phrasing felt more professional than another. The register comparison does that work.

MIT licensed. github.com/robertnowell/konid-language-learning

Top comments (0)