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











<div>




<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/118526/diff/1/?file=278659#file278659line48" style="color: black; font-weight: bold; text-decoration: underline;">src/kdeclarative/private/rootcontext.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">QString RootContext::i18n(const QString &message, const QString &param1, const QString &param2, const QString &param3, const QString &param4, const QString &param5, const QString &param6, const QString &param7, const QString &param8, const QString &param9, const QString &param10) const</pre></td>

  </tr>
 </tbody>



 
 

 <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">48</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">return</span> <span class="n">i18nd</span><span class="p">(</span><span class="n">m_translationDomain</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">param1</span><span class="p">,</span> <span class="n">param2</span><span class="p">,</span> <span class="n">param3</span><span class="p">,</span> <span class="n">param4</span><span class="p">,</span> <span class="n">param5</span><span class="p">,</span> <span class="n">param6</span><span class="p">,</span> <span class="n">param7</span><span class="p">,</span> <span class="n">param8</span><span class="p">,</span> <span class="n">param9</span><span class="p">,</span> <span class="n">param10</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">(And at other places like this.)

If I understand, any of the parameters can be not given (isNull()) in the call, and therefore the original code does ki18n() followed by checks and .subs(). The patch should then behave in the same way, i.e.

KLocalizedString trMessage;
if (!m_translationDomain.isNull()) {
    trMessage = ki18nd(m_translationDomain, message.toUtf8().constData());
} else {
    trMessage = ki18n(message.toUtf8().constData());
}
</pre>
</div>
<br />



<p>- Chusslove Illich</p>


<br />
<p>On June 4th, 2014, 3:06 p.m. CEST, Martin Gräßlin wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Frameworks, Plasma and Marco Martin.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated June 4, 2014, 3:06 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdeclarative
</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;">Provide i18nd wrappers in kdeclarative

As QML might combine multiple modules with different cataloges we need
to be able to specify the translation domain explicitly. If there is a
need to use a specific domain for all i18n calls (e.g. in a library
using QML) there is the possibility to set a global translation domain
through KDeclarative. If such a domain is set all i18n calls delegate
to the i18nd variant.

Due to the nature of KDeclarative we cannot mix i18n calls with
different domains. If two modules would require to set the translation
domain it's bound to fail. Thus the recommendation is to use the i18nd
variants in any QML code which is intended to be used as an import.</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;">adjusted kwineffects KCM and run it with the x-test language: the strings with i18n from QML side are now picking up the translated strings.</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>src/kdeclarative/kdeclarative.h <span style="color: grey">(b4a274b710f4de7ffbfc275d1e9a0a93be283053)</span></li>

 <li>src/kdeclarative/kdeclarative.cpp <span style="color: grey">(a35dac5cfbd42e75e892d4ad88c491345be4a1b0)</span></li>

 <li>src/kdeclarative/private/kdeclarative_p.h <span style="color: grey">(6b61d123bf74671b413e4e68bf911bb969fdaf53)</span></li>

 <li>src/kdeclarative/private/rootcontext.cpp <span style="color: grey">(123066669b096495910b83ed1e388989042b45a1)</span></li>

 <li>src/kdeclarative/private/rootcontext_p.h <span style="color: grey">(16694b155c668e11cf7a16549a18cdc89b81b3e2)</span></li>

</ul>

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







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








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