Re: [Openstack-i18n] Would like Zanata branch to correct 1494819
Hi, Doug After testing, I figured out a best way which has the lowest impact. 1. Create Russian translation files with only the correct header and the pluralities translation items. 2. Create a new version named as russian-fix 3. Upload the source files and the Russian translation files created in #1 to the version russian-fix 4. Merge the stable version with version russian-fix 5. Rename stable version to stable-old, and rename russian-fix to stable. You could verify if the issues are fixed in russian-fix ? https://translate.openstack.org/iteration/view/horizon/russian-fix Best regards Ying Chun Guo (Daisy) Douglas Fish/Rochester/IBM wrote on 09/24/2015 02:41:16 AM:
From: Douglas Fish/Rochester/IBM@IBMUS To: Ying Chun Guo/China/IBM@IBMCN Cc: ilyaalekseyev@acm.org, openstack-i18n@lists.openstack.org Date: 09/24/2015 02:41 AM Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819
I don't think these kinds of structural edits are available through the Zanata UI (I'm not expert and welcome any correction)
I don't have a script to automatically do the updates but I did outline my plan in the bug description. To repeat here: cd openstack_dashboard/locale/ru/LC_MESSAGES cp django.po django.po-tmp grep -v msgstr.2. django.po-tmp > django.po sed -i s/msgstr.3./msgstr[2]/ django.po and edit the plurality function to be "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" was my plan to fix the openstack_dashboard ... django.po file. This is the only one that results in bad behavior in Horizon today.
However, since this is such a difficult process I think we should update all 4 Russian PO file while we are doing this: openstack_dashboard/horizon and django.po/djangojs.po for each part.
Daisy - I'm happy to help work through this, including testing out our proposed files in Horizon. Do you want to schedule a time and coordinate this through openstack-i18n or some meeting IRC channel?
Doug
----- Original message ----- From: Ying Chun Guo/China/IBM To: Douglas Fish/Rochester/IBM@IBMUS@IBMAU Cc: ilyaalekseyev@acm.org, openstack-i18n@lists.openstack.org Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819 Date: Wed, Sep 23, 2015 11:25 AM
Thank you for looking into it, Illya. I think we need to fix it, although the manually process might be a little complex.
I'm going to: 1. Create a new version in Zanata 2. Mark master as read only 2. Pull the source files and the translation files. 3. Change the pluralities settings in Russian translation files. 4. Upload the source files and translation files to the new version. 5. Check if the all things are right, change master version name to "master-old", and then change the new version name to "master"
How do you want to update these pluralities then? By program ? Or manually ? Is it possible to make the changes through Zanata UI, other than uploading po files ?
Best regards Ying Chun Guo (Daisy)
Douglas Fish/Rochester/IBM wrote on 09/23/2015 04:38:19 AM:
From: Douglas Fish/Rochester/IBM@IBMUS To: ilyaalekseyev@acm.org Cc: guoyingc@cn.ibm.com, openstack-i18n@lists.openstack.org Date: 09/23/2015 04:38 AM Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819
Hi Ilya,
Thanks for looking at this! Unfortunately having 4 pluralities confuses Horizon. I've tested out stripping one of the pluralities and restoring the expected Plural-forms definition (just like the one you linked) and it works great.
I had hoped to just repair the PO files in this way and upload the corrected translations to Zanata.
Unfortunately, I understand from Daisy's research that once a language/project has been created in Zanata in this way we cannot just upload a PO file with corrected pluralities . More investigation will be needed to understand the process to fix this.
Doug
----- Original message ----- From: Ilya Alekseyev <ilyaalekseyev@acm.org> Sent by: ilya@phpcoder.ru To: Douglas Fish/Rochester/IBM@IBMUS Cc: Ying Chun Guo <guoyingc@cn.ibm.com>, "openstack- i18n@lists.openstack.org" <openstack-i18n@lists.openstack.org> Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819 Date: Tue, Sep 22, 2015 2:39 PM
Hi Doug and Daisy!
Looks like we have wrong pluralities in current release: in https://github.com/openstack/horizon/blob/master/ openstack_dashboard/locale/ru/LC_MESSAGES/django.po
we have: "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n% 10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n"
but in previuos releses we have: "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n% 10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
Last one is right for Russian.
We can make translation in Zanata for 4 pluralities, but it can give in some cases bugs with wrong plural forms.
Kind regards, Ilya Alekseyev.
2015-09-22 14:22 GMT+03:00 Douglas Fish <drfish@us.ibm.com>: Hi Daisy,
I am certain this issue is caused by plural forms. The issue with missing menus is seen with the current 4 plural form translations; when I correct the PO file to have 3 forms Horizon properly displaysthe menus.
Doug
----- Original message ----- From: Ying Chun Guo/China/IBM To: Douglas Fish/Rochester/IBM@IBMUS@IBMAU Cc: openstack-i18n@lists.openstack.org Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819 Date: Tue, Sep 22, 2015 12:49 AM
Hi, Doug
We need to consider it carefully.
After working with Zanata dev team, I got to understand:
1. Zanata has its own plural forms. If po file has its own plural form, Zanata will use that. Otherwise, Zanata will use its own plural form. Pluralforms in Zanata: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2). So it looks like that OpenStack po files overrode the pluralforms in Zanata.
2. Zanata currently don't allow update of plural forms once the document has been uploaded to Zanata. Even with deletion of that source document and re-upload (in the same project-version, same doc name and same path), Zanata will still reuse the old pluralform.
3. If we want to update the pluralforms, we will need to do it in new project-version (don't use copy-from previous version function).
I think we need to carefully design the steps to change pluralforms of Russian. At first, I want to confirm with you, are you sure this issue is caused by plural forms?
Best regards Ying Chun Guo (Daisy)
Douglas Fish/Rochester/IBM wrote on 2015/09/18 23:38:22:
From: Douglas Fish/Rochester/IBM@IBMUS To: guoyingc@cn.ibm.com Cc: openstack-i18n@lists.openstack.org Date: 2015/09/18 23:38 Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819
Hi Daisy,
Yes, I understand - I don't think I can even propose my branch unless I am added as a translator by the Russian team.
My proposal would include removing one plural form for 4 messages in horizon django.po 1 message in horizon djangojs.po 144 messages in openstack_dashboard django.po 0 messages in openstack_dashboard djangojs.po plus the pluralization specification would be updated in all 4 files.
Doug
----- Original message ----- From: Ying Chun Guo <guoyingc@cn.ibm.com> To: Douglas Fish/Rochester/IBM@IBMUS Cc: openstack-i18n@lists.openstack.org Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819 Date: Fri, Sep 18, 2015 3:25 AM
Are there a lot of changes in your proposed po files ? I'm still waiting for Russian team's response.
Best regards Ying Chun Guo (Daisy)
"Douglas Fish" <drfish@us.ibm.com> wrote on 09/18/2015 05:37:07 AM:
From: "Douglas Fish" <drfish@us.ibm.com> To: openstack-i18n@lists.openstack.org Date: 09/18/2015 05:38 AM Subject: [Openstack-i18n] Would like Zanata branch to correct 1494819
Hi translation friends,
I'd like to contribute 4 PO files for the Horizon Russian translation to correct the issue https://bugs.launchpad.net/openstack-i18n/+bug/1494819
These uploads won't contain any new translations, but instead will be an adjustment to the PO files so they have 3 pluralities, which is standard http://localization-guide.readthedocs.org/en/latest/l10n/ pluralforms.html
Specifically, I plan to remove the msgstr[2] translation from the files (because msgstr[2] is blank for many cases), rename the msgstr [3] translation to msgstr[2] and adjust the plurality specification to nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
As discussed in the team meeting http://eavesdrop.openstack.org/ meetings/openstack_i18n_meeting/2015/openstack_i18n_meeting. 2015-09-17-13.00.log.html please create a Zanata branch so I can propose these corrections for review.
Thanks!
Doug _______________________________________________ Openstack-i18n mailing list Openstack-i18n@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n
_______________________________________________ Openstack-i18n mailing list Openstack-i18n@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n
On 2015-09-30 13:21, Ying Chun Guo wrote:
Hi, Doug
After testing, I figured out a best way which has the lowest impact. 1. Create Russian translation files with only the correct header and the pluralitiestranslation items. 2. Create a new version named as russian-fix 3. Upload the source files and the Russian translation files created in #1 to the version russian-fix 4. Merge the stable version with version russian-fix 5. Rename stable version to stable-old, and rename russian-fix to stable.
You could verify if the issues are fixed in russian-fix ? https://translate.openstack.org/iteration/view/horizon/russian-fix
Do we need this fix for stable-liberty branch as well? Let's move forward quickly here for the release, please, Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Please do not forget about russian team translation in stable/liberty when you'll fix issue in Zanata. We're close to finish. Please let me know if help needed. Ilya С уважением, Илья Алексеев Russian OpenStack Community 2015-10-01 4:58 GMT+03:00 Douglas Fish <drfish@us.ibm.com>:
I have examined the files in the russian-fix branch. They look right. Also I've tested them and they appear to be working correctly in Horizon.
We'll need this in stable-liberty. It renders Horizon pretty broken for Russian: https://bugs.launchpad.net/openstack-i18n/+bug/1494819
Doug Fish
----- Original message ----- From: Andreas Jaeger <aj@suse.com> To: Ying Chun Guo <guoyingc@cn.ibm.com>, Douglas Fish/Rochester/IBM@IBMUS Cc: openstack-i18n@lists.openstack.org Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819 Date: Wed, Sep 30, 2015 7:19 AM
On 2015-09-30 13:21, Ying Chun Guo wrote:
Hi, Doug
After testing, I figured out a best way which has the lowest impact. 1. Create Russian translation files with only the correct header and the pluralitiestranslation items. 2. Create a new version named as russian-fix 3. Upload the source files and the Russian translation files created in #1 to the version russian-fix 4. Merge the stable version with version russian-fix 5. Rename stable version to stable-old, and rename russian-fix to stable.
You could verify if the issues are fixed in russian-fix ? https://translate.openstack.org/iteration/view/horizon/russian-fix
Do we need this fix for stable-liberty branch as well?
Let's move forward quickly here for the release, please,
Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
_______________________________________________ Openstack-i18n mailing list Openstack-i18n@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n
participants (4)
-
Andreas Jaeger
-
Douglas Fish
-
Ilya Alekseyev
-
Ying Chun Guo