Re: [Openstack-i18n] [horizon] contextual-markers for better translations
Hello all, Today, we have talked with Yves-Gwenaël about this e-mail. He didn’t' received any answers and I think we need to discuss about it. I would like to know one thing, if we change a marker for a string are we going to lose the related current translation ? For example : currently I have somewhere month = gettext("May") So in transifex I have a string May I have translated in "Mai" (in French) If tomorrow you change into the code month = pgettext("month name", "May") Do we lost the translation already done in Transifex ? Or is it just going to add the context in the string already translated ? If we lost the translation already, for me adding the context into already translated string is a bad idea. We are going to lose too much work. And in this case the context markup has to be used only for new strings. I prefer to keep the legacy for old strings. Thanks a lot for your answers :) Best regards, François Bureau Responsable Centre de Contact E-mail : francois.bureau@cloudwatt.com Mobile : 06 40 76 18 01 http://www.cloudwatt.com ----- Mail transféré ----- De: "Yves-Gwenaël Bourhis" <yves-gwenael.bourhis@cloudwatt.com> À: openstack-i18n@lists.openstack.org Envoyé: Lundi 14 Avril 2014 17:13:27 Objet: [Openstack-i18n] [horizon] contextual-markers for better translations Hi all, I noticed that translating to certain languages requires some compromises in both grammar and syntax to often have a deceiving result... This is due to the fact that we do not use contextual-markers: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#contextual-ma... except in one unique place: https://bugs.launchpad.net/horizon/+bug/1307476 The context is required because a word which is spelled the same in English may be 2 different words in an other language. Even less trivial, a same word with the same meaning can be spelled differently depending on the way it is used in a sentence, and there the context is really important. Some work was already done with https://bugs.launchpad.net/horizon/+bug/1253678 But contextual-markers need to be added to many translatable strings. The issue about changing translatable strings to contextual translatable strings implies redoing all those translations. Do not PANIC :-) , the current translations will remain as is for Icehouse, the impact of using contextual-markers will be for Juno. My concern is that many other languages than my 2 native ones have a richer syntax, so I may not be aware of all possible contexts required for other languages to be properly translatable. Concerning the example I gave in https://bugs.launchpad.net/horizon/+bug/1307476 any comment on the "context" you would need to help you make a better translation will be welcomed, and I'll need your feedback on what context "you" need and in which place in the dashboard, in order to help you make the best translations. So feel free to drop a reply to this mail with all the places where your struggle to provide a translation due to lack of context and where a context and reformulation would really help you do your translations. Thank you all. -- Yves-Gwenaël Bourhis _______________________________________________ Openstack-i18n mailing list Openstack-i18n@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n
Le 24/04/2014 16:32, François Bureau a écrit :
Hello all,
Today, we have talked with Yves-Gwenaël about this e-mail. He didn’t' received any answers and I think we need to discuss about it.
I would like to know one thing, if we change a marker for a string are we going to lose the related current translation ?
Well, with command line po generation tools indeed you lose them.
For example :
currently I have somewhere month = gettext("May") So in transifex I have a string May I have translated in "Mai" (in French)
If tomorrow you change into the code month = pgettext("month name", "May")
Do we lost the translation already done in Transifex ? Or is it just going to add the context in the string already translated ?
Since I don't know how Transifex handles the po and mo files generation, I prefer being pessimistic by saying: "I'm afraid you'd loose the translation"...
If we lost the translation already, for me adding the context into already translated string is a bad idea. We are going to lose too much work.
And in this case the context markup has to be used only for new strings. I prefer to keep the legacy for old strings.
We can indeed add code reviewing rules where when each new string which is less that 4 or 5 words (a brain storming between developers and translators is required to decide how long/short a string has to be to implement this rule) would require a context. And when a string requires to be changed after code modifications, there also we would add a context, so this would implement contextual-markers smoothly for translators by not braking the existing translations unless they need to be changed (because the original version/language changes).
Thanks a lot for your answers :)
Best regards,
-- Yves-Gwenaël Bourhis
participants (2)
-
François Bureau
-
Yves-Gwenaël Bourhis