diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py index 0d021ba172..e9e72a9b73 100755 --- a/django/bin/django-admin.py +++ b/django/bin/django-admin.py @@ -1,8 +1,13 @@ #!/usr/bin/env python from django.core import management +from django.utils import translation from optparse import OptionParser import os, sys +# switch to english, because django-admin creates database content +# like permissions, and those shouldn't contain any translations +translation.activate('*', 'en-us') + ACTION_MAPPING = { 'adminindex': management.get_admin_index, 'createsuperuser': management.createsuperuser, @@ -128,3 +133,4 @@ def main(): if __name__ == "__main__": main() + diff --git a/django/utils/translation.py b/django/utils/translation.py index 2cd393c433..4f06053942 100644 --- a/django/utils/translation.py +++ b/django/utils/translation.py @@ -180,7 +180,10 @@ def activate(appname, language): tuple of application name and language and installs it as the current translation object for the current thread. """ - t = translation(appname, language) + if language == 'en' or language.startswith('en-'): + t = gettext_module.NullTranslations() + else: + t = translation(appname, language) _active[currentThread()] = t def deactivate():