Skip to content

🔥(backend) remove i18n and localization from Django admin#110

Open
StephanMeijer wants to merge 1 commit intomainfrom
feat/remove-localization
Open

🔥(backend) remove i18n and localization from Django admin#110
StephanMeijer wants to merge 1 commit intomainfrom
feat/remove-localization

Conversation

@StephanMeijer
Copy link
Copy Markdown
Collaborator

Summary

  • Disable Django i18n (USE_I18N = False) and remove LocaleMiddleware
  • Remove LOCALE_PATHS, i18n template context processor, and gettext_lazy usage
  • Replace {% trans %} tags with plain strings in admin templates
  • Remove crowdin configuration and docker service

noChangelog

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the backend’s remaining Django i18n/localization plumbing, mainly to make the admin render only fixed English strings and to drop the unused translation workflow around it.

Changes:

  • Disable Django i18n in settings and remove locale-specific middleware/context configuration.
  • Replace {% trans %} usage and lazy translation wrappers in admin-facing templates/models/apps with plain strings.
  • Delete Crowdin-related project files from the local Docker setup.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/backend/find/settings.py Disables Django i18n, removes locale paths/context processor, and drops locale middleware.
src/backend/core/templates/admin/selftest.html Replaces translated admin self-test UI labels with static English text.
src/backend/core/templates/admin/index.html Replaces translated custom admin index labels with static English text.
src/backend/core/templates/admin/core/services/change_list.html Replaces translated service changelist action text with a static label.
src/backend/core/models.py Replaces lazy-translated model verbose names with plain strings.
src/backend/core/apps.py Replaces the app config verbose name translation wrapper with a plain string.
crowdin/config.yml Removes the Crowdin CLI configuration file.
compose.yml Removes the local Crowdin Docker service.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


TIME_ZONE = "UTC"
USE_I18N = True
USE_I18N = False
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like we should not run manage.py makemessages / compilemessages.

Comment thread compose.yml
Comment on lines 98 to 100
dockerize:
image: jwilder/dockerize

@jmaupetit
Copy link
Copy Markdown

I have mixed feelings about this. Even if it's not widely used, i18n is used…

@StephanMeijer StephanMeijer force-pushed the feat/remove-localization branch from e2afbda to 0cd7521 Compare May 5, 2026 13:21
Signed-off-by: Stephan Meijer <me@stephanmeijer.com>
@StephanMeijer StephanMeijer force-pushed the feat/remove-localization branch from 0cd7521 to 05b0298 Compare May 5, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants