[Openstack-i18n] Czech translation error

Ying Chun Guo guoyingc at cn.ibm.com
Fri Jan 8 06:24:34 UTC 2016


Bug reported

https://bugs.launchpad.net/horizon/+bug/1532092

Best regards
Ying Chun Guo (Daisy)


Akihiro Motoki <amotoki at gmail.com> wrote on 2016/01/07 19:28:59:

> From: Akihiro Motoki <amotoki at gmail.com>
> To: Ying Chun Guo/China/IBM at IBMCN
> Cc: "openstack-i18n at lists.openstack.org"
<Openstack-i18n at lists.openstack.org>
> Date: 2016/01/07 19:30
> Subject: Re: [Openstack-i18n] Czech translation error
>
> I am not sure it is a bug of the source string. It works as the
> source language.
> The similar example is shown in the gettext documentation I quoted in
> the first mail.
>
> Apart from the warning you mentioned, after we change msgstr[0] to
contain %s
> in a translation, the error disappears.
> IMHO, it is a bug of GNU gettext.
>
> On the other hand, I agree it is less confusing if the source string
> contains %s.
> Feel free to file a bug to horizon with a background.
>
> Akihiro
>
> 2016-01-07 18:19 GMT+09:00 Ying Chun Guo <guoyingc at cn.ibm.com>:
> > Hi, Akihiro
> >
> > It is a bug in the source code, isn't it ?
> > I don't see the translations are wrong.
> >
> > msgid is "Instance launched."
> > We cannot simply add %s to msgstr[0].
> > Zanata will report a warning: Unexpected variable: %s
> >
> > I think the source string "Instance launched." should add %s firstly.
> > "Instance launched." should be changed to "Instance %s launched."
> > And then, the translation msgstr[0] should add %s correspondingly.
> >
> > Best regards
> > Ying Chun Guo (Daisy)
> >
> >
> > Akihiro Motoki <amotoki at gmail.com> wrote on 2016/01/07 01:44:42:
> >
> >> From: Akihiro Motoki <amotoki at gmail.com>
> >> To: "openstack-i18n at lists.openstack.org"
> >> <Openstack-i18n at lists.openstack.org>
> >> Date: 2016/01/07 01:46
> >> Subject: [Openstack-i18n] Czech translation error
> >
> >>
> >> 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
> >>
> >> _______________________________________________
> >> Openstack-i18n mailing list
> >> Openstack-i18n at lists.openstack.org
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-i18n/attachments/20160108/af5f9784/attachment-0001.html>


More information about the Openstack-i18n mailing list