Skip to content

feat: implement localized validation and global i18n support#8

Merged
Stivan-Lucas merged 16 commits intomainfrom
feat/jwt
Mar 31, 2026
Merged

feat: implement localized validation and global i18n support#8
Stivan-Lucas merged 16 commits intomainfrom
feat/jwt

Conversation

@Stivan-Lucas
Copy link
Copy Markdown
Owner

📝 Descrição

Este PR implementa a infraestrutura de internacionalização (i18n) em toda a API, integrando-a com as validações de esquema do Zod e o fluxo de autenticação JWT.

🚀 Mudanças Principais

  • I18n Setup: Adicionado suporte ao i18next com detecção automática de idioma via header Accept-Language.
  • Global Zod Error Map: Implementado um mapeador de erros customizado para o Zod que traduz mensagens de validação automaticamente.
  • JWT Localization: O plugin de autenticação agora retorna mensagens de erro 401 traduzidas.
  • DTO Refactoring: Limpeza dos schemas Zod, removendo mensagens hardcoded e utilizando chaves de tradução.
  • Strict Typing: Tipagem completa do zodErrorMap compatível com Zod v4 e chaves do i18next.

🛠️ Como testar?

  1. Envie uma requisição para /login ou /users com dados inválidos.
  2. Altere o header Accept-Language entre pt e en.
  3. Verifique se a propriedade message no erro 400/401 reflete o idioma correto.

📦 Arquivos modificados

  • src/plugins/i18nt.ts: Core da internacionalização.
  • src/plugins/zod-error-map.ts: Mapeamento de erros traduzidos.
  • src/plugins/auth.ts: Tradução de erros de autenticação.
  • src/languages/*.json: Dicionários de tradução.
  • src/dtos/**/*.ts: Atualização para schemas limpos.

🔗 Relacionado

Closes #6

@Stivan-Lucas Stivan-Lucas self-assigned this Mar 31, 2026
@Stivan-Lucas Stivan-Lucas added bug Something isn't working documentation Improvements or additions to documentation good first issue Good for newcomers labels Mar 31, 2026
@Stivan-Lucas Stivan-Lucas merged commit 5768fdb into main Mar 31, 2026
1 check passed
@Stivan-Lucas Stivan-Lucas deleted the feat/jwt branch March 31, 2026 15:03
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.6.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation good first issue Good for newcomers released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

implementação JWT

1 participant