express-intlayer: Pacote JavaScript para internacionalizar (i18n) uma aplicação Express.js

    Intlayer é um conjunto de pacotes projetados especificamente para desenvolvedores JavaScript. Ele é compatível com frameworks como React, Next.js e Express.js.

    O pacote express-intlayer permite que você internacionalize sua aplicação Express.js. Ele fornece um middleware para detectar o idioma preferido do usuário e retorna o dicionário apropriado para o usuário.

    Por que internacionalizar seu backend?

    Internacionalizar seu backend é essencial para atender efetivamente a um público global. Isso permite que sua aplicação entregue conteúdo e mensagens no idioma preferido de cada usuário. Essa capacidade melhora a experiência do usuário e amplia o alcance da sua aplicação, tornando-a mais acessível e relevante para pessoas de diferentes origens linguísticas.

    Casos de Uso Práticos

    • Exibindo Erros do Backend na Língua do Usuário: Quando um erro ocorre, exibir mensagens na língua nativa do usuário melhora a compreensão e reduz a frustração. Isso é especialmente útil para mensagens de erro dinâmicas que podem ser exibidas em componentes de front-end, como toasts ou modais.

    • Recuperando Conteúdo Multilíngue: Para aplicações que retiram conteúdo de um banco de dados, a internacionalização garante que você possa servir esse conteúdo em vários idiomas. Isso é crucial para plataformas como sites de comércio eletrônico ou sistemas de gerenciamento de conteúdo que precisam exibir descrições de produtos, artigos e outros conteúdos na língua preferida do usuário.

    • Enviando Emails Multilíngues: Seja para emails transacionais, campanhas de marketing ou notificações, enviar emails na língua do destinatário pode aumentar significativamente o engajamento e a eficácia.

    • Notificações Push Multilíngues: Para aplicações móveis, enviar notificações push na língua preferida do usuário pode aumentar a interação e a retenção. Esse toque pessoal pode fazer as notificações parecerem mais relevantes e acionáveis.

    • Outras Comunicações: Qualquer forma de comunicação do backend, como mensagens SMS, alertas do sistema ou atualizações da interface do usuário, se beneficia de estar na língua do usuário, garantindo clareza e melhorando a experiência geral do usuário.

    Ao internacionalizar o backend, sua aplicação não apenas respeita as diferenças culturais, mas também se alinha melhor com as necessidades do mercado global, tornando-se um passo fundamental para escalar seus serviços em todo o mundo.

    Por que integrar o Intlayer?

    • Ambiente Seguro em Tipos: Aproveite o TypeScript para garantir que todas as suas definições de conteúdo sejam precisas e livres de erros.

    Instalação

    Instale o pacote necessário usando seu gerenciador de pacotes preferido:

    bash
    npm install express-intlayer
    bash
    yarn add express-intlayer
    bash
    pnpm add express-intlayer

    Configurar o Intlayer

    O Intlayer fornece um arquivo de configuração para configurar seu projeto. Coloque este arquivo na raiz do seu projeto.

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },};export default config;

    Para uma lista completa de parâmetros disponíveis, consulte a documentação de configuração.

    Exemplo de uso

    Configure sua aplicação Express para usar express-intlayer:

    src/index.ts
    import express, { type Express } from "express";import { intlayer, t } from "express-intlayer";const app: Express = express();// Carregar manipulador de requisições de internacionalizaçãoapp.use(intlayer());// Rotasapp.get("/", (_req, res) => {  res.send(    t({      en: "Exemplo de conteúdo retornado em inglês",      fr: "Exemple de contenu renvoyé en français",      "es-ES": "Ejemplo de contenido devuelto en español (España)",      "es-MX": "Ejemplo de contenido devuelto en español (México)",    })  );});// Iniciar servidorapp.listen(3000, () => console.log(`Listening on port 3000`));

    Compatibilidade

    express-intlayer é totalmente compatível com:

    Ele também funciona perfeitamente com qualquer solução de internacionalização em diversos ambientes, incluindo navegadores e requisições API. Você pode personalizar o middleware para detectar o locale através de cabeçalhos ou cookies:

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  // ... Outras opções de configuração  middleware: {    headerName: "my-locale-header",    cookieName: "my-locale-cookie",  },};export default config;

    Por padrão, express-intlayer interpreta o cabeçalho Accept-Language para determinar o idioma preferido do cliente.

    Funções fornecidas pelo pacote express-intlayer

    Se você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.

    Link do GitHub para a documentação