i18n: Complete localization for Django application (pt-BR, en, es) #23
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Implementa suporte completo de internacionalização (i18n) para a aplicação Django, adicionando traduções em português brasileiro (pt-BR), inglês (en) e espanhol (es). O PR soluciona a ausência de localização para usuários não falantes de inglês, incluindo tradução de todos os textos do Django Celery Beat (agendamento de tarefas), módulos core da aplicação, sistema de tracking, gerenciador XML e interface administrativa.
Onde a revisão poderia começar?
A revisão deve iniciar pelos arquivos de configuração de idioma:
locale/pt_BR/LC_MESSAGES/django.po(tradução principal em português)locale/es/LC_MESSAGES/django.po(tradução em espanhol)locale/en/LC_MESSAGES/django.po(baseline em inglês)Em seguida, verificar as configurações em
settings.pyrelacionadas aLANGUAGES,LOCALE_PATHSeUSE_I18N.Como este poderia ser testado manualmente?
python manage.py compilemessagespara gerar os arquivos.moLANGUAGE_CODE = 'pt-br'nosettings.pye reiniciar o servidorAlgum cenário de contexto que queira dar?
A aplicação possui forte dependência do Django Celery Beat para agendamento de tarefas assíncronas, incluindo funcionalidades avançadas como agendamento solar (baseado em eventos astronômicos) e configuração de cron jobs. Com usuários em diferentes países da América Latina, a localização se torna essencial para adoção e usabilidade. As traduções mantêm precisão técnica em termos astronômicos (aurora astronômica, crepúsculo náutico) e preservam terminologia técnica internacional (AMQP, JSON, crontab).
Implementação de Internacionalização com URLs Multilíngues: Configura suporte a múltiplos idiomas (pt-br, es, en) usando i18n_patterns no Django/Wagtail. As URLs agora suportam prefixos de idioma (/pt-br/admin/, /es/admin/, /en/admin/) enquanto APIs permanecem sem prefixo. Inclui configuração do
LocaleMiddleware, estrutura de diretórioslocale/, e comandos para gerar/compilar traduções. Testado via URLs diretas e alternância por cookie.Screenshots
N.A.
Quais são tickets relevantes?
TK #21
Referências
Django Internationalization Documentation
GNU gettext Manual
Django Celery Beat Documentation
Wagtail Internationalization Guide