ADR 0010 — Interface moderna, temas e idioma¶
Status: Aceita · Data: 09/11/2026
Contexto¶
O admin padrão do Django tem visual datado e não oferece escolha de tema. Além disso, pacotes de terceiros sem tradução (rotinas agendadas do django-celery-beat, partes do visual do admin) mostravam textos em inglês.
Decisão¶
- Admin com Unfold: visual moderno, menu lateral próprio do sistema, pesquisa rápida (
Ctrl+K), cor primária índigo. - Tema: Claro, Escuro ou Sistema, escolhido no menu da conta (canto inferior esquerdo). O padrão é Sistema, que segue o modo do aparelho. A escolha fica salva no navegador.
- A documentação (
/docs) segue a mesma regra: começa em Sistema e alterna Claro → Escuro → Sistema. - Todo texto visível em português (pt-BR). O que os pacotes não traduzem fica num catálogo próprio:
- fonte:
backend/locale/gerar_traducoes.py(dicionários de tradução); - gerado:
backend/locale/pt_BR/LC_MESSAGES/django.po(vai para o Git); - compilado (
.mo) no build da imagem e no CI. - Colunas sem rótulo traduzível nos pacotes (ex.: "Scheduler" das rotinas) recebem coluna própria com nome em português.
- Requisito para as telas da F2 em diante: tema Claro, Escuro e Sistema, com Sistema como padrão, e todos os textos em português.
Alternativas consideradas¶
- Manter o admin padrão: sem custo, mas visual datado e sem seletor de três opções.
- Jazzmin / Grappelli: outros temas de admin; o Unfold é o mais ativo e já traz o seletor Claro/Escuro/Sistema.
- Esperar o frontend da F2: o admin continua sendo a tela de manutenção, então vale estar no padrão desde já.
Consequências¶
- Atualizar o Unfold ou o django-celery-beat pode trazer textos novos em inglês. Para conferir, rode a extração descrita em Regras do projeto e acrescente as traduções que faltarem em
gerar_traducoes.py. - O menu lateral abre sozinho em telas com mais de 1280 px de largura; em telas menores fica recolhido no botão de menu.