yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #27897
[Bug 1307476] Re: contextual-markers under-usage leads to babble looking translations
** Changed in: horizon
Status: Fix Committed => 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/1307476
Title:
contextual-markers under-usage leads to babble looking translations
Status in OpenStack Dashboard (Horizon):
Fix Released
Bug description:
Contextual markers: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#contextual-markers
are used only in horizon.tables.actions.BatchAction._get_action_name in the whole code, and even there, the translation lacks of context.
Indeed, we have::
if action_type == "past":
msgstr = pgettext_lazy("past", "%(action)s %(data_type)s")
else:
msgstr = pgettext_lazy("present", "%(action)s %(data_type)s")
But "%(action)s and %(data_type)s" use "action" and "data_types" are already translations coming from a context agnostic translation.
This leads to buttons in French like "Redémarrage à Chaud Instances" (which is incorrect and should be "Redémarrage à chaud des instances") and "Terminer Instances" (which should be "Terminer les instances") (both the missing "les" (plural) and "l'" (singular) and the Camel-Case in the sentence, looks more like babbling rather than speaking in French, but I'm sure many other languages are impacted).
Currently The translators can do nothing about it and can not be blamed at all, simply because because the context is not handled, so they have to make a compromise of the "less babbling looking translation".
So BatchAction sublcasses should also use contextual-markers for their
action_* and data_type_* attributes, because even there, translations
are correct in a context, and wrong in an other (depending where it
will be rendered) since "Instance" needs to be translated either
"Instance" or "L'instance" depending on the context (and only Proper
nouns have a capital letter inside a sentence in many languages like
French so "L'instance" will also have to be "l'instance", etc...).
Many Translation errors are due to lack of contextual-markers in the
translatable strings.
We should therefore add more contextual-markers in the translation
strings and handle words which will be isolated or inside a sentence
(for the capital letter on non-Nouns).
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1307476/+subscriptions
References