#25915: Error when using a language that Django doesn't ship translations for --------------------------------------+-------------------- Reporter: gavinwahl | Owner: nobody Type: Uncategorized | Status: new Component: Internationalization | Version: 1.9 Severity: Normal | Keywords: Triage Stage: Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------------+-------------------- I am trying to add translations for a new language (that Django doesn't support) to my project. Let's say it has the language code `xxx` for example.
I make the .po file with {{{ ./manage.py makemessages -l xxx }}} Then I translate the po file and compile it. When I set `LANGUAGE_CODE = 'xxx'` and run runserver, Django fails with: {{{ Traceback (most recent call last): File "./manage.py", line 13, in <module> execute_from_command_line(sys.argv) File "django/core/management/__init__.py", line 350, in execute_from_command_line utility.execute() File "django/core/management/__init__.py", line 324, in execute django.setup() File "django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "django/apps/config.py", line 202, in import_models self.models_module = import_module(models_module_name) File "it__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File "<frozen importlib._bootstrap>", line 2237, in _find_and_load File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked File "<frozen importlib._bootstrap>", line 1129, in _exec File "<frozen importlib._bootstrap>", line 1471, in exec_module File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed File "foo/models.py", line 381, in <module> MinLengthValidator(22, _("This value must be at least 22 digits.")), File "django/core/validators.py", line 297, in __init__ if message: File "django/utils/functional.py", line 109, in __wrapper__ res = func(*self.__args, **self.__kw) File "django/utils/translation/__init__.py", line 85, in ugettext return _trans.ugettext(message) File "django/utils/translation/trans_real.py", line 313, in gettext return do_translate(message, 'gettext') File "django/utils/translation/trans_real.py", line 296, in do_translate _default = _default or translation(settings.LANGUAGE_CODE) File "django/utils/translation/trans_real.py", line 203, in translation _translations[language] = DjangoTranslation(language) File "django/utils/translation/trans_real.py", line 112, in __init__ self._init_translation_catalog() File "django/utils/translation/trans_real.py", line 150, in _init_translation_catalog translation = self._new_gnu_trans(localedir, use_null_fallback) File "django/utils/translation/trans_real.py", line 133, in _new_gnu_trans fallback=use_null_fallback) File "/usr/lib/python3.4/gettext.py", line 419, in translation raise OSError(ENOENT, 'No translation file found for domain', domain) FileNotFoundError: [Errno 2] No translation file found for domain: 'django' }}} It seems that this errors happens whenever you try to use a language that doesn't have a django.po shipped with django (in `django/conf/locale/`). Shouldn't I be able to provide the translations just in my project? -- Ticket URL: <https://code.djangoproject.com/ticket/25915> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/052.e3c0966e909d8f9a036eab757123616b%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.