<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" >Hi Ilya,</div>
<div dir="ltr" > </div>
<div dir="ltr" >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.</div>
<div dir="ltr" > </div>
<div dir="ltr" >I had hoped to just repair the PO files in this way and upload the corrected translations to Zanata.</div>
<div dir="ltr" > </div>
<div dir="ltr" >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.</div>
<div dir="ltr" ><br>Doug
<div> </div>
<div> </div>
<blockquote data-history-content-modified="1" style="border-left:solid #aaaaaa 2px; margin-left:5px; padding-left:5px; direction:ltr" >----- Original message -----<br>From: Ilya Alekseyev <ilyaalekseyev@acm.org><br>Sent by: ilya@phpcoder.ru<br>To: Douglas Fish/Rochester/IBM@IBMUS<br>Cc: Ying Chun Guo <guoyingc@cn.ibm.com>, "openstack-i18n@lists.openstack.org" <openstack-i18n@lists.openstack.org><br>Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819<br>Date: Tue, Sep 22, 2015 2:39 PM<br> 
<div dir="ltr" >Hi Doug and Daisy!
<div> </div>
<div>Looks like we have wrong pluralities in current release:</div>
<div>in <a href="https://github.com/openstack/horizon/blob/master/openstack_dashboard/locale/ru/LC_MESSAGES/django.po" target="_blank" >https://github.com/openstack/horizon/blob/master/openstack_dashboard/locale/ru/LC_MESSAGES/django.po</a></div>
<div> </div>
<div>we have: </div>
<div><div>"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"</div>
<div>"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"</div>
<div>"%100>=11 && n%100<=14)? 2 : 3);\n"</div></div>
<div> </div>
<div>but in previuos releses we have:</div>
<div><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:15.2727px;white-space:pre" >"</span><span style="color:rgb(0,134,179);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:15.2727px;white-space:pre" >Plural-Forms</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:15.2727px;white-space:pre" >: </span><span style="color:rgb(24,54,145);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:15.2727px;white-space:pre" >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</span><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:15.2727px;white-space:pre" >"</span></div>
<div> </div>
<div>Last one is right for Russian.</div>
<div> </div>
<div>We can make translation in Zanata for 4 pluralities, but it can give in some cases bugs with wrong plural forms.</div>
<div> </div>
<div>Kind regards,</div>
<div>Ilya Alekseyev.</div>
<div> 
<div>2015-09-22 14:22 GMT+03:00 Douglas Fish <span dir="ltr" ><<a href="mailto:drfish@us.ibm.com" target="_blank" >drfish@us.ibm.com</a>></span>:

<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" ><div dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" >Hi Daisy,</div>
<div dir="ltr" > </div>
<div dir="ltr" >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 displays the menus.</div>
<div dir="ltr" ><br>Doug
<div> </div>
<div> </div>
<blockquote style="border-left:solid #aaaaaa 2px;margin-left:5px;padding-left:5px;direction:ltr" ><span>----- Original message -----<br>From: Ying Chun Guo/China/IBM<br>To: Douglas Fish/Rochester/IBM@IBMUS@IBMAU<br>Cc: <a href="mailto:openstack-i18n@lists.openstack.org" target="_blank" >openstack-i18n@lists.openstack.org</a><br>Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819<br>Date: Tue, Sep 22, 2015 12:49 AM<br> <br><font size="2" >Hi, Doug</font><br><br><font size="2" >We need to consider it carefully.</font><br><br><font size="2" >After working with Zanata dev team, I got to understand:</font><br><br><font size="2" >1. Zanata has its own plural forms. If po file has its own plural form, Zanata will use that. </font><br><font size="2" >Otherwise, Zanata will use its own plural form. Pluralforms in Zanata:</font><br><font size="2" >nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2).</font><br><font size="2" >So it looks like that OpenStack po files overrode the pluralforms in Zanata.</font><br><br><font size="2" >2. Zanata currently don't allow update of plural forms once the document has been uploaded to Zanata. </font><br><font size="2" >Even with deletion of that source document and re-upload (in the same project-version, same doc name and same path), </font><br><font size="2" >Zanata will still reuse the old pluralform.</font><br><br><font size="2" >3. If we want to update the pluralforms, we will need to do it in new project-version </font><br><font size="2" >(don't use copy-from previous version function).</font><br><br><font size="2" >I think we need to carefully design the steps to change pluralforms of Russian.</font><br><font size="2" >At first, I want to confirm with you, are you sure this issue is caused by plural forms?</font></span><br><br><span><font size="2" >Best regards<br>Ying Chun Guo (Daisy)</font></span><br><br><br><span><tt><font face="" size="3" >Douglas Fish/Rochester/IBM wrote on 2015/09/18 23:38:22:<br><br>> From: Douglas Fish/Rochester/IBM@IBMUS</font></tt><br><tt><font face="" size="3" >> To: <a href="mailto:guoyingc@cn.ibm.com" target="_blank" >guoyingc@cn.ibm.com</a></font></tt><br><tt><font face="" size="3" >> Cc: <a href="mailto:openstack-i18n@lists.openstack.org" target="_blank" >openstack-i18n@lists.openstack.org</a></font></tt><br><tt><font face="" size="3" >> Date: 2015/09/18 23:38</font></tt><br><tt><font face="" size="3" >> Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819</font></tt><br><tt><font face="" size="3" >> <br>> Hi Daisy,</font></tt><br><tt><font face="" size="3" >>  </font></tt><br><tt><font face="" size="3" >> Yes, I understand - I don't think I can even propose my branch<br>> unless I am added as a translator by the Russian team.</font></tt><br><tt><font face="" size="3" >>  </font></tt><br><tt><font face="" size="3" >> My proposal would include removing one plural form for</font></tt><br><tt><font face="" size="3" >> 4 messages in horizon django.po<br>> 1 message in horizon djangojs.po<br>> 144 messages in openstack_dashboard django.po<br>> 0 messages in openstack_dashboard djangojs.po</font></tt><br><tt><font face="" size="3" >> plus the pluralization specification would be updated in all 4 files.</font></tt><br><tt><font face="" size="3" >> <br>> Doug </font></tt><br><tt><font face="" size="3" >>  </font></tt></span><br><tt><font face="" size="3" ><span>> ----- Original message -----<br>> From: Ying Chun Guo <<a href="mailto:guoyingc@cn.ibm.com" target="_blank" >guoyingc@cn.ibm.com</a>><br>> To: Douglas Fish/Rochester/IBM@IBMUS<br>> Cc: <a href="mailto:openstack-i18n@lists.openstack.org" target="_blank" >openstack-i18n@lists.openstack.org</a><br>> Subject: Re: [Openstack-i18n] Would like Zanata branch to correct 1494819<br>> Date: Fri, Sep 18, 2015 3:25 AM<br>>  </span><br><span>> Are there a lot of changes in your proposed po files ?<br>> I'm still waiting for Russian team's response.<br>><br>> Best regards<br>> Ying Chun Guo (Daisy)<br>><br>><br>> "Douglas Fish" <<a href="mailto:drfish@us.ibm.com" target="_blank" >drfish@us.ibm.com</a>> wrote on 09/18/2015 05:37:07 AM:<br>><br>> > From: "Douglas Fish" <<a href="mailto:drfish@us.ibm.com" target="_blank" >drfish@us.ibm.com</a>><br>> > To: <a href="mailto:openstack-i18n@lists.openstack.org" target="_blank" >openstack-i18n@lists.openstack.org</a><br>> > Date: 09/18/2015 05:38 AM<br>> > Subject: [Openstack-i18n] Would like Zanata branch to correct 1494819<br>> ></span></font></tt>
<div><div><tt><font face="" size="3" >> > Hi translation friends,<br>> > <br>> > I'd like to contribute 4 PO files for the Horizon Russian<br>> > translation to correct the issue<br>> > <a href="https://bugs.launchpad.net/openstack-i18n/+bug/1494819" target="_blank" >https://bugs.launchpad.net/openstack-i18n/+bug/1494819</a><br>> > <br>> > These uploads won't contain any new translations, but instead will<br>> > be an adjustment to the PO files so they have 3 pluralities, which<br>> is standard<br>> > <a href="http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html" target="_blank" >http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html</a><br>> > <br>> > Specifically, I plan to remove the msgstr[2] translation from the<br>> > files (because msgstr[2] is blank for many cases), rename the msgstr<br>> > [3] translation to msgstr[2] and adjust the plurality specification to<br>> > nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 &&<br>> > (n%100<10 || n%100>=20) ? 1 : 2);<br>> > <br>> > As discussed in the team meeting <a href="http://eavesdrop.openstack.org/" target="_blank" >http://eavesdrop.openstack.org/</a><br>> > meetings/openstack_i18n_meeting/2015/openstack_i18n_meeting.<br>> > 2015-09-17-13.00.log.html<br>> > please create a Zanata branch so I can propose these corrections for review.<br>> > <br>> > Thanks!<br>> ><br>> > Doug</font></tt></div></div><tt><font face="" size="3" ><span>> > _______________________________________________<br>> > Openstack-i18n mailing list<br>> > <a href="mailto:Openstack-i18n@lists.openstack.org" target="_blank" >Openstack-i18n@lists.openstack.org</a><br>> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n" target="_blank" >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n</a></span></font></tt></blockquote></div></div><br><br>_______________________________________________<br>Openstack-i18n mailing list<br><a href="mailto:Openstack-i18n@lists.openstack.org" target="_blank" >Openstack-i18n@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n" rel="noreferrer" target="_blank" >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n</a><br> </blockquote></div></div></div></blockquote></div></div><BR>