<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/126476/">https://git.reviewboard.kde.org/r/126476/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On децембар 23rd, 2015, 8:24 пре п. CET, <b>Alexander Potashev</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Test question: should it be "1.5 other windows" or "1.5 other window"?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The code in this patch seems to truncate the double to an integer and then use the appropriate plural form for the integer. But, for example, in Russian "5.4 billion" is read as "five and four tens of a billion" where instead of "of a billion" we actually put "billion" in genitive case. Thus for fractions the proper plural form will always be the same, independent of their values.</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The way I understood, the problem here is that an argument that was intended to be an int can be converted "unexpectedly" to double in QML, where "unexpected" is in the sense of less predictably/differently/unavoidably compared to C++. E.g. instead of an intended value of 42 the methods get 42.0. This is the case that the patch is trying to handle, and not to introduce plurals for intentional doubles.

But, of course, if a programmer misunderstands the intended usage of plurals, this patch would also make intentional doubles be used for plurals. So I look at it as the lesser of two evils, enabling wrong use of plurals vs. not being able to use plurals at all.</pre>
<br />










<p>- Chusslove</p>


<br />
<p>On децембар 23rd, 2015, 1:53 по п. CET, Aleix Pol Gonzalez wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Frameworks and Chusslove Illich.</div>
<div>By Aleix Pol Gonzalez.</div>


<p style="color: grey;"><i>Updated Дец. 23, 2015, 1:53 по п.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
ki18n
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also considers double values to check for plurals.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In QML it's hard to ensure a value is an integer and we'd get unreliable results, e.g. <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">i18nd("%1 thing", "%1 things", 3-i)</code>.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also it creates a separate function to reuse some code.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Added new tests, which now pass.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>autotests/ki18ndeclarativetest.cpp <span style="color: grey">(cf8e778)</span></li>

 <li>autotests/test.qml <span style="color: grey">(314b516)</span></li>

 <li>src/klocalizedcontext.cpp <span style="color: grey">(3bc42dd)</span></li>

 <li>src/klocalizedstring.cpp <span style="color: grey">(69950d2)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/126476/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>