<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/119738/">https://git.reviewboard.kde.org/r/119738/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On August 14th, 2014, 4:58 p.m. UTC, <b>David Edmundson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  


<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/119738/diff/1/?file=304020#file304020line118" style="color: black; font-weight: bold; text-decoration: underline;">applets/fuzzy-clock/package/contents/ui/FuzzyClock.qml</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">118</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="kd">var</span> <span class="nx">timeString</span> <span class="o">=</span> <span class="nx">i18n</span><span class="p">(</span><span class="nx">normalFuzzy</span><span class="p">[</span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">sector</span><span class="p">)].</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\$1/g</span><span class="p">,</span><span class="s1">'%1'</span><span class="p">),</span> <span class="nx">hourNames</span><span class="p">[</span><span class="nb">Math</span><span class="p">.</span><span class="nx">floor</span><span class="p">(</span><span class="nx">realHour</span><span class="p">)])</span></pre></td>
  </tr>

 </tbody>

</table>

  <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;">we don't need the i18n here, we'd be trying to translate an already translated string.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">hourNames[Math.floor()] seems wrong, would that not give us</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">5 to 9</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">when it's 9:55?</p></pre>
 </blockquote>



 <p>On August 14th, 2014, 5:04 p.m. UTC, <b>Kai Uwe Broulik</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;">Ah, that is why :) </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hmm, the original implementation just casts to int, I think. Would a Math.round fix that?</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 5:07 p.m. UTC, <b>Kai Uwe Broulik</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;">But honestly I don't really get that fuzzy logic either. Will test.</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 5:15 p.m. UTC, <b>Marco Martin</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;">Math.round seems more correct, yes</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 6:14 p.m. UTC, <b>David Edmundson</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;">I don't think either works. Assume the time is 10:30</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">in English that's half past ten.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
In German that's half to eleven.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not sure how to solve that.</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 6:23 p.m. UTC, <b>Kai Uwe Broulik</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;">http://websvn.kde.org/<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">checkout</em>/branches/stable/l10n-kde4/de/messages/kdeplasma-addons/plasma_applet_fuzzy_clock.po</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That is the German translation file. And it does some "30 Minuten nach %1|/|halb $[stunde+1 %1]" magic. How does that work? eins|/|$[Eigenschaft stunde+1 zwei] $[Eigenschaft vollestunde ein] ?! So I guess here lies the trick.</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 6:33 p.m. UTC, <b>Lasse Liehu</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;">This is scripting translations using Transcript, https://techbase.kde.org/Localization/Concepts/Transcript</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A property stunde+1 is added to each hour message. For example "one" is translated as "eins|/|$[Eigenschaft stunde+1 zwei] $[Eigenschaft vollestunde ein]". Then translation of "half past %1" uses that property by calling "$[stunde+1 %1]", which returns "zwei".</p></pre>
 </blockquote>





 <p>On August 14th, 2014, 6:41 p.m. UTC, <b>Kai Uwe Broulik</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;">Thanks for the reference! So what adjustments are needed in the plasmoid, or should it just work the way it is now?</p></pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; 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;">this definitely won't work as-is.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">you're putting a string that's translated back into i18n. So you'll be running<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
i18n("zehn nach %1", 11), the first argument won't match anything in the .pot file which is looking for "ten past %1", so it'll just fail to find anything but if you do a simple find and replace on $1 to the hour, you won't get this transcript thing running. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hardcoding a hack for this won't work as we also need the 10:25 going to "five to half to eleven" that we have in German.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think we're going to need methods in kdeclarative that return KLocalizedStrings exposed via ki18nc. Then add expose these as QML metatypes. Then we need to add i18, i18c, i18nc, i18d, i18ncd methods that accept KLocalizedStrings as arguments as a first arg QStrings.. for every amount of arguments.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Or you can make everyone learn English where we're all normal.</p></pre>
<br />




<p>- David</p>


<br />
<p>On August 12th, 2014, 6:08 p.m. UTC, Kai Uwe Broulik 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 Plasma.</div>
<div>By Kai Uwe Broulik.</div>


<p style="color: grey;"><i>Updated Aug. 12, 2014, 6:08 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdeplasma-addons
</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;">This ports the infamous Fuzzy Clock to Plasma 5.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The code is derived from digital clock with the fuzzy logic derived from the original implementation.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I had to substitute %1 by $1 in the i18n strings (and replace them back), otherwise I got "I18N_EXCESSIVE_ARGUMENTS" thingies appended to my fuzzy string.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Missing is the ability to show the time zone (really needed here?), and the "Percent of taskbar size" slider because that layouting logic copied from digital clock is beyond me :)<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
Also missing is the "Configure time format" (why's there no "Configure Date and Time" in digital clock?) because fuzzy clock doesn't really adhere to the locale anyway and I didn't want to yet again duplicate that ProcessRunner plugin which seems to have been copied all over the place already.</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;">I've been running it since yesterday evening and didn't notice unusual behavior, except that due to the update interval of 30s it doesn't update right away when session is resumed from Suspend (but I guess this is a Plasma issue?).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also it tends to cut off in a vertical panel due to its (sane) minimum font size (smallest theme font) being larger than in the original implementation where it used to get super tiny then.</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>applets/fuzzy-clock/fuzzyClockConfig.ui <span style="color: grey">(15cc658)</span></li>

 <li>applets/fuzzy-clock/package/contents/config/config.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/package/contents/config/main.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/package/contents/ui/FuzzyClock.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/package/contents/ui/configAppearance.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/package/contents/ui/main.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/package/metadata.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/fuzzy-clock/plasma-clock-fuzzy.desktop <span style="color: grey">(5f6d30b)</span></li>

 <li>applets/CMakeLists.txt <span style="color: grey">(661ecb4)</span></li>

 <li>applets/fuzzy-clock/CMakeLists.txt <span style="color: grey">(1068150)</span></li>

 <li>applets/fuzzy-clock/Messages.sh <span style="color: grey">(c8c9f06)</span></li>

 <li>applets/fuzzy-clock/fuzzyClock.h <span style="color: grey">(9bf5c4e)</span></li>

 <li>applets/fuzzy-clock/fuzzyClock.cpp <span style="color: grey">(2cd189d)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/08/12/35e0fea1-8a28-4ddb-9a81-9112bb85eab5__fuzzyinapanel.png">In horizontal panel</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/08/12/a246f3b3-bb12-4756-8069-594d25bd39f6__fuzzyonthedesktop.png">On the Desktop</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/08/12/a144ea07-e18a-4a90-965a-3db51d91fb5d__fuzzyconfig.png">Configuration UI</a></li>

</ul>




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








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