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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On 七月 15th, 2016, 7:23 a.m. UTC, <b>Eike Hein</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;">Being able to find ??/?? with just wy is cool, but I'm concerned about this being a sort of very narrow hack. It's only in a specific KRunner plugin, so it won't work in any other thing finding apps by name using lower-level APIs. And it only works for Chinese. Littering high-level frontend code with language-specific stuff seems wrong. Is there a more central place we could put this, and maybe a more extensible way to do it? Like, a framework like Ki18n could have a matchInput(haystack, needle) that can do this sort of language-specific expansion/transform for haystack to match needle.</p></pre>
 </blockquote>




 <p>On 七月 15th, 2016, 7:26 a.m. UTC, <b>Eike Hein</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;">Also, more broadly ... why do you need to find Chinese text by pinyin or pinyin initials in the first place? Why isn't using your IME to convert pinyin to Chinese good enough? I assume the better IMEs are also smart enough to suggest ?? for wy anyway?</p></pre>
 </blockquote>





 <p>On 七月 15th, 2016, 8:59 a.m. UTC, <b>Leslie Zhai</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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It's only in a specific KRunner plugin</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, it is better to develop such plugin for KRunner, and I learned how to write one ;-P https://github.com/xiangzhai/krunner-helloworld</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And it only works for Chinese</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, the segmentation algroithm is complex http://nlp.stanford.edu/software/segmenter.shtml and I have no idea how to Machine Learning without Japanese and Korean dictionaries.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Is there a more central place we could put this</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I will pay more attention about ki18n framework.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">why do you need to find Chinese text by pinyin or pinyin initials</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">oh, people might choose English IME by default, so they need to press Ctrl+Space to switch input method, but directly input Chinese, Japanese or Korean pinyin is more comvinoent.</p></pre>
 </blockquote>





 <p>On 七月 15th, 2016, 11:07 a.m. UTC, <b>Eike Hein</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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">oh, people might choose English IME by default, so they need to press Ctrl+Space to switch input method, but directly input Chinese, Japanese or Korean pinyin is more comvinoent</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm against littering frontend code with "this Latin text entered might actually be romanized Chinese, let's check" tests. That just makes no engineering sense. A framework API used transparently in places where it makes sense, and extensible to other languages: Maybe. But really the general place where pinyin to Chinese conversion happens is IME. If you want an automagic IME, that should maybe implemented at the Qt input handling level somehow.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I understand why you want it and why it's nice for a specific user, but it's not a maintainable approach. Should we add code for every language that is frequently entered in a romanized from to servicerunner and every other place, so in the end we copy 1000 lines of code to lots of codebases?</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hi Eike,</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As you suggested I will develop a KRunner plugin for KJieba https://github.com/isoft-linux/kjieba instead of M.O.D plasma ;-)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For Latin, it is comvinoent to just input letters for querying, but for Asian Languages (????) there is a convertion, just like what you mentioned, between letters and characters, and we often use Pinyin (does not need IME) to input letters.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Regards,
Leslie Zhai</p></pre>
<br />










<p>- Leslie</p>


<br />
<p>On 七月 15th, 2016, 7:03 a.m. UTC, Leslie Zhai 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 and Xuetian Weng.</div>
<div>By Leslie Zhai.</div>


<p style="color: grey;"><i>Updated 七月 15, 2016, 7:03 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</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;">Not like English, each word is seperated by a blank, for example, Hello World, but in Chinese, ????, it needs to segment Chinese words.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And Kickoff once supported querying for CJK based on Chinese words segmentation algroithm, but about last year after KF5, the feature was dropped,  so I added an OPTIONAL requirement for KJieba - libcppjieba Chinese word segmentation DBus service.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It is able to input Chinese pinyin or even the first letters to query Application shown as https://pbs.twimg.com/media/CXSKY6YVAAAvGk8.png https://pbs.twimg.com/media/CXSKY-UUoAADWEs.png</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>CMakeLists.txt <span style="color: grey">(74e1518)</span></li>

 <li>runners/services/CMakeLists.txt <span style="color: grey">(7e33a3e)</span></li>

 <li>runners/services/servicerunner.h <span style="color: grey">(8d9ad1a)</span></li>

 <li>runners/services/servicerunner.cpp <span style="color: grey">(aa9d2bd)</span></li>

</ul>

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






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







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