1 pointby makkiatto7 hours ago1 comment
  • makkiatto7 hours ago
    Hi Gophers!

    I recently got tired of the "static string trauma" that comes with traditional i18n in Go. We've all been there:

    1. Merge Hell: Two devs add a translation to en.json, and Git gives up. 2. Context Vacuum: Sending a JSON to a translator (or LLM) and getting "Register" translated as a Noun when it should be a Verb. 3. Complex Logic: Building plural rules and gender-aware sentences inside Go code instead of the data.

    So I built MBEL.

    It’s a standalone DSL (with its own Lexer/Parser) that treats translations as programmable logic blocks, not just dead strings.

    # Why use it?

    * AI-Native: First-class support for AI\_Context and AI\_Tone. We feed this directly to LLMs to guarantee deterministic translations. * Programmable logic: Plurals, Ranges (\[0-10\] => "low"), and Context blocks (\[male\] => "Mr.") are defined inside the DSL. * Go-First SDK: High-performance runtime with Hot-Reload (watcher) out of the box. * CI/CD Ready: Professional toolchain with mbel lint, fmt, and diff.

    I’ve also prepared a full technical suite in 9 languages (Manuals, FAQs, Tips) to show this isn't just a weekend script, but a production-ready ecosystem.

    Repo: [https://github.com/makkiattooo/MBEL](https://github.com/makkiattooo/MBEL)

    I’d love to hear your thoughts on the DSL approach!