yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #61132
[Bug 1630507] Re: Different use of args in ungettext_lazy causes error on syncing with translation infra
Reviewed: https://review.openstack.org/386954
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=0409080e7b93a91323bbb69e1811ef79b17c4e6d
Submitter: Jenkins
Branch: master
commit 0409080e7b93a91323bbb69e1811ef79b17c4e6d
Author: Ian Y. Choi <ianyrchoi@xxxxxxxxx>
Date: Sat Oct 15 23:14:52 2016 +0900
i18n: The same use of args with ugettext_lazy
Different use of args in ungettext_lazy causes
error on import job from translation infrastructure
to horizon repository.
The use of variables in singular and plural strings
needs to be same. This commit also adjusts the string
with ugettext_lazy() as other strings are dealt with.
Change-Id: I9a836178b2d615504950545654242c0a4c196723
Closes-Bug: #1630507
** Changed in: horizon
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1630507
Title:
Different use of args in ungettext_lazy causes error on syncing with
translation infra
Status in OpenStack Dashboard (Horizon):
Fix Released
Bug description:
In
http://git.openstack.org/cgit/openstack/horizon/tree/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py#n214
,
If we look at strings for singular and plural on ungettext_lazy(),
singular string uses only "%(avail)i" arg,
and plural string uses both "%(req)i" and "%(avail)i" args.
In Zanata (translation platform), currently, po files on some
languages are saved if the languages are set to just use singular
form.
#: openstack_dashboard/dashboards/project/instances/workflows/create_instance.py:214
#, python-format
msgid ""
"The requested instance cannot be launched as you only have %(avail)i of your "
"quota available. "
msgid_plural ""
"The requested %(req)i instances cannot be launched as you only have "
"%(avail)i of your quota available."
msgstr[0] ""
"The requested instance cannot be launched as you only have %(avail)i of your "
"quota available. "
This generates an error when msgfmt command is executed:
$ msgfmt --check-format -o /dev/null django.po
django.po:10766: a format specification for argument 'req' doesn't exist in 'msgstr[0]'
msgfmt: found 1 fatal error
Because of this occurrence, there have been job failures for Korean and Indonesian language
to import translated strings to Horizon git repository.
The current solution would be to add "%(req)i" argument on the
singular string.
Reference
[1] http://lists.openstack.org/pipermail/openstack-dev/2016-September/103941.html
[2] http://lists.openstack.org/pipermail/openstack-i18n/2016-October/002476.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1630507/+subscriptions
References