Opened 3 months ago

Last modified 5 weeks ago

#28755 assigned Bug

django.utils.translation.check_for_language doesn't check in the app folders

Reported by: Dorian Amouroux Owned by: ChillarAnand
Component: Internationalization Version: 1.11
Severity: Normal Keywords:
Cc: ChillarAnand Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When using the set_language view to set the language for the user, it doesn't work if the language file is not in settings.LOCALE_PATHS nor in django/conf/locale/.

Indeed set_language (https://github.com/django/django/blob/stable/1.11.x/django/views/i18n.py#L50) calls the function check_for_language. check_for_language will check if the language in parameter exists in the gettext catalog. However, check_for_language calls the function all_locale_paths (https://github.com/django/django/blob/stable/1.11.x/django/utils/translation/trans_real.py#L411) which doesn't contains the path of the apps.

I create a language that doesn't exist in the Django default language, I can't switch to this language because it cannot be found, it only exists in the locale directory inside my apps.

Change History (7)

comment:1 Changed 3 months ago by Claude Paroz

Easy pickings: unset
Has patch: unset
Triage Stage: UnreviewedAccepted

comment:2 Changed 3 months ago by ChillarAnand

Owner: changed from nobody to ChillarAnand
Status: newassigned

comment:3 Changed 2 months ago by ChillarAnand

Cc: ChillarAnand added
Has patch: set

comment:4 Changed 2 months ago by Claude Paroz

Needs tests: set

comment:5 Changed 8 weeks ago by ChillarAnand

Needs tests: unset

Thanks Claude Paroz. Added a test case.

comment:6 Changed 5 weeks ago by Tim Martin

Patch needs improvement: set

The build seems to be failing on Windows. The build has expired now so I can't see the logs to see whether this might be a random failure or not.

comment:7 Changed 5 weeks ago by ChillarAnand

Patch needs improvement: unset

Build was failing because of windows path issue. Fixed it now.

Note: See TracTickets for help on using tickets.
Back to Top