Pitch: 🚀 Apresentando o Interpreter – Minha primeira biblioteca para tradução multilíngue em Node.js! 🌍

Fala, galera! 👋 Queria compartilhar com vocĂȘs uma novidade incrĂ­vel: acabei de lançar o Interpreter, minha primeira biblioteca desenvolvida em Node.js! 🎉

O Interpreter Ă© uma biblioteca leve e eficiente para gerenciar arquivos de mensagens prĂ©-definidas em mĂșltiplos idiomas. A ideia surgiu porque eu precisava simplificar o processo de tradução em um projeto, garantindo que as mensagens fossem consistentes e fĂĄceis de manter — sem aquele cĂłdigo cheio de validaçÔes repetitivas.

💡 Principais Funcionalidades: ✅ Resolução dinñmica de idiomas – Detecta e traduz automaticamente com base no idioma configurado. ✅ Tratamento de fallback – Exibe mensagens padrão quando uma tradução não está disponível. ✅ Suporte ao formato de arquivo JSON. ✅ API simples – Interface intuitiva para facilitar a vida dos desenvolvedores. ✅ Escalabilidade – Funciona bem tanto em projetos pequenos quanto em sistemas de nível empresarial.

đŸ› ïž Exemplo de uso: Arquivo en.json:

{
  "farewell": "Goodbye",
  "hello": "Hello, {{name}}!!",
  "welcome": "Welcome to our application!"
}

CĂłdigo em Node.js:

const { Interpreter } = require('language-interpreter');

const interpreter = new Interpreter({
    defaultLanguage: 'en',
    localesPath: __dirname + '/locales',
});

console.log(interpreter.translate('hello', { args: { name: 'John' } }));
// "Hello, John!"

💬 Por que eu desenvolvi essa biblioteca? Eu estava desenvolvendo um projeto que precisava lidar com mensagens em diferentes idiomas e queria evitar o caos de cĂłdigos duplicados e traduçÔes inconsistentes. EntĂŁo, decidi criar essa ferramenta para simplificar o processo e deixar o cĂłdigo mais limpo e organizado. 😎

🚀 Feedbacks sĂŁo muito bem-vindos! Como essa Ă© minha primeira biblioteca publicada, estou muito animado para receber crĂ­ticas construtivas e sugestĂ”es de melhoria. Se puderem testar e me contar o que acharam, seria incrĂ­vel! 🙌

🔗 Links:

GitHub: https://github.com/joaop06/language-interpreter npm: https://www.npmjs.com/package/language-interpreter Se vocĂȘ trabalha com tradução em Node.js, testa lĂĄ e me diz o que achou! đŸ˜ŽđŸ”„

Muito interessante, jĂĄ tive que lidar com internacionalização de sistemas, me parece uma simples e boa solução. Uma dĂșvida, como o fallback Ă© configurado?

Olå, Maicon! Tudo bem? A configuração é definida na verdade pela propriedade `defaultLanguage`. O principal intuito é ter um respaldo quando passado um outro idioma desejado nas opçÔes de tradução e não for encontrado. Neste caso irå tentar encontrar a chave `key` desejada no arquivo padrão definido em `defaultLanguage`. Nada mais é que uma garantia, pois hå aplicação que podem manipular os arquivos de tradução em tempo de execução. Portanto, o idioma definido por padrão é para caso queira garantir que sempre retorne uma mensagem ao invés de lançar um erro por chave ou arquivo não encontrado. Espero que tenha esclarecido!

Cara, parabéns pela iniciativa. Mas jå pensou em fazer um "compilador"? Me interessaria muito.

Preciso fazer uma landing-page multi-lingue, sĂł html/css. Se pudesse catalogar todo o texto i18n em properties e um "compilador" gerasse a pĂĄgina em vĂĄrios idiomas, ajudaria muito. NĂŁo tem dinĂąmica nas pĂĄginas (JS), por isso servir sĂł conteĂșdo estĂĄtico seria bem mais eficiente.

Andei procurando, ainda nĂŁo vi alguma lib que fizesse isso. Mas seria bastante Ăștil. Tu sabe se existe algo do tipo? Vou acabar tendo que fazer isso, vou ver se alguma AI consegue gerar...

Olå, tudo bem? Não descarto a possibilidade de criar um compilador como mencionou, é uma ideia interessante. Mas de antemão sei de bibliotecas como ejs, handlebars e mustache que trabalham com templates, podendo gerar arquivos html inserindo os textos por variåveis e criando modelos para diferentes idiomas. Caso não conheça alguma dessas, vale a pena dar uma olhada!

Nossa eu acho que vocĂȘ poupou um bom tempo para min, estava fazendo script para tradução multi-linguagem para meu site. Vocáșœ apareceu bem a tempo. Muito Obrigado.

Hahaha, que bom Gustavo! Espero que auxilie e facilite seu trabalho. Críticas, sugestÔes de melhorias e/ou correçÔes são bem-vindas!