{{{
msgid "This is a string with a %(variabel)d."
msgstr "Das ist eine Zeichenkette ohne Variable."
}}}
This error will occur when compiling with
{{{
django-admin.py compilemessages
}}}
''a format specification for argument »items« doesn't exist in »msgstr«''
BUT if a translation file for JavaScript djangojs.po contains the same
lines no error will occur and this mistake will not be discovered until
you stumble upon it by chance.
https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#creating-
message-files-from-javascript-source-code
--
Ticket URL: <https://code.djangoproject.com/ticket/24091>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Old description:
> If django.po contains these lines:
>
> {{{
> msgid "This is a string with a %(variabel)d."
> msgstr "Das ist eine Zeichenkette ohne Variable."
> }}}
>
> This error will occur when compiling with
> {{{
> django-admin.py compilemessages
> }}}
>
> ''a format specification for argument »items« doesn't exist in »msgstr«''
>
> BUT if a translation file for JavaScript djangojs.po contains the same
> lines no error will occur and this mistake will not be discovered until
> you stumble upon it by chance.
>
> https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#creating-
> message-files-from-javascript-source-code
New description:
If django.po contains these lines:
{{{
msgid "This is a string with a %(variable)d."
msgstr "Das ist eine Zeichenkette ohne Variable."
}}}
This error will occur when compiling with
{{{
django-admin.py compilemessages
}}}
''a format specification for argument »items« doesn't exist in »msgstr«''
BUT if a translation file for JavaScript djangojs.po contains the same
lines no error will occur and this mistake will not be discovered until
you stumble upon it by chance.
https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#creating-
message-files-from-javascript-source-code
--
--
Ticket URL: <https://code.djangoproject.com/ticket/24091#comment:1>
Old description:
> If django.po contains these lines:
>
> {{{
> msgid "This is a string with a %(variable)d."
> msgstr "Das ist eine Zeichenkette ohne Variable."
> }}}
>
> This error will occur when compiling with
> {{{
> django-admin.py compilemessages
> }}}
>
> ''a format specification for argument »items« doesn't exist in »msgstr«''
>
> BUT if a translation file for JavaScript djangojs.po contains the same
> lines no error will occur and this mistake will not be discovered until
> you stumble upon it by chance.
>
> https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#creating-
> message-files-from-javascript-source-code
New description:
If django.po contains these lines:
{{{
msgid "This is a string with a %(variable)d."
msgstr "Das ist eine Zeichenkette ohne Variable."
}}}
This error will occur when compiling with
{{{
django-admin.py compilemessages
}}}
''a format specification for argument »variable« doesn't exist in
»msgstr«''
BUT if a translation file for JavaScript djangojs.po contains the same
lines no error will occur and this mistake will not be discovered until
you stumble upon it by chance.
https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#creating-
message-files-from-javascript-source-code
--
--
Ticket URL: <https://code.djangoproject.com/ticket/24091#comment:2>
Comment (by claudep):
I guess that the msgid line is preceded by `#, python-format` in
`django.po` and not in the `djangojs.po`, right?
--
Ticket URL: <https://code.djangoproject.com/ticket/24091#comment:3>
Comment (by googol7):
That's correct. How can I configure Django to include {{{#, python-
format}}} also in djangojs.po files?
--
Ticket URL: <https://code.djangoproject.com/ticket/24091#comment:4>
* status: new => closed
* resolution: => wontfix
Comment:
Unfortunately, I'm afraid this is not in Django's hands, as we delegate
string extraction to xgettext. And with gettext version >= 0.18.3 we'll
use the gettext JavaScript parser on which we have still less control. So
I don't see any possible resolution to this. And really, you should not
use the `%(...)s` format when you only have one placeholder in a string,
that should minimize the impact of possible mistranslations.
--
Ticket URL: <https://code.djangoproject.com/ticket/24091#comment:5>