﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
22900	ugettext_lazy with arguments causes RuntimeError	Karmo Rosental	nobody	"If I use arguments with translations I get RuntimeError.

{{{
help_text=_('e.g. %(foo)s or %(bar)s') % {
            'foo': 'footxt', 'bar': 'bartxt'})
}}}

This code causes following error:

{{{
Traceback (most recent call last):
  File ""./manage"", line 13, in <module>
    django.setup()
  File ""/usr/local/lib/python2.7/dist-packages/django/__init__.py"", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File ""/usr/local/lib/python2.7/dist-packages/django/apps/registry.py"", line 106, in populate
    app_config.import_models(all_models)
  File ""/usr/local/lib/python2.7/dist-packages/django/apps/config.py"", line 190, in import_models
    self.models_module = import_module(models_module_name)
  File ""/usr/lib/python2.7/importlib/__init__.py"", line 37, in import_module
    __import__(name)
  File ""/home/karmo/Dev/project/api/models.py"", line 205, in <module>
    class Test(Model):
  File ""/home/karmo/Dev/project/api/models.py"", line 222, in Test
    'foo': 'footxt', 'bar': 'bartxt'})
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/functional.py"", line 179, in __mod__
    return six.text_type(self) % rhs
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/functional.py"", line 144, in __text_cast
    return func(*self.__args, **self.__kw)
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py"", line 83, in ugettext
    return _trans.ugettext(message)
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py"", line 317, in ugettext
    return do_translate(message, 'ugettext')
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py"", line 298, in do_translate
    _default = translation(settings.LANGUAGE_CODE)
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py"", line 201, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File ""/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py"", line 184, in _fetch
    for app_config in reversed(list(apps.get_app_configs())):
  File ""/usr/local/lib/python2.7/dist-packages/django/apps/registry.py"", line 125, in get_app_configs
    self.check_ready()
  File ""/usr/local/lib/python2.7/dist-packages/django/apps/registry.py"", line 119, in check_ready
    raise RuntimeError(""App registry isn't ready yet."")
RuntimeError: App registry isn't ready yet.
}}}

Seems it uses non-lazy ugettext in django/utils/translation/__init__.py.

If I remove dictionary from the end of _() then this error disappears.

I'm using Django 1.7b4."	Cleanup/optimization	closed	Documentation	1.7	Normal	fixed			Accepted	0	0	0	0	0	0
