[Openstack-i18n] Czech translation error

Akihiro Motoki amotoki at gmail.com
Wed Jan 6 17:44:42 UTC 2016


Hi Czech language team and i18n Zanata admin,

Horizon translation import is broken due to Czech translation.
This blocks all translation imports of horizon.
Could you fix it?

https://review.openstack.org/#/c/259677

The error is like this:
http://logs.openstack.org/77/259677/15/check/gate-horizon-dsvm-integration/e5ed03e/logs/devstacklog.txt.gz#_2016-01-02_17_55_04_608
2016-01-02 17:55:04.608 | CommandError: Execution of msgfmt failed:
/opt/stack/new/horizon/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po:655:
number of format specifications in 'msgid_plural' and 'msgstr[0]' does
not match
2016-01-02 17:55:04.608 | msgfmt: found 1 fatal error

The error point is:
https://review.openstack.org/#/c/259677/15/openstack_dashboard/locale/cs/LC_MESSAGES/djangojs.po

I think we need to add %s to msgstr[0] to avoid msgfmt error.

#, python-format
msgid "Instance launched."
msgid_plural "%s instances launched."
msgstr[0] "Instance spuštěna.
msgstr[1] "Spuštěny %s instance."
msgstr[2] "Spuštěno %s instancí."


BTW, I am not sure this is valid according to GNU gettext documentation [1],
but msgfmt actually does not support this form.
In the example of [1], msgid does not contain %s but all msgstr[n] contain %s.
Although there is no explicit description, %s must be contained in all
msgstr[n].
To avoid confusion, it is better to contain %s in 'msgid' (singular
form) as well.

[1] https://www.gnu.org/software/gettext/manual/html_node/Translating-plural-forms.html


Akihiro



More information about the Openstack-i18n mailing list