title: Whats the correct way to translate a "dynamic" string in PyQt
body: <p>To allow the internationalization of a Python plugin for <a href="http://ww.qgis.org/" rel="noreferrer">QGIS</a>, I'm using <code>QCoreApplication.translate()</code> like this:</p>
  
  <pre class="lang-py prettyprint-override"><code>message = QCoreApplication.translate('Multipart split',"No multipart features selected.")
  </code></pre>
  
  <p>How can I prepare a dynamic string, like the following, </p>
  
  <pre class="lang-py prettyprint-override"><code>message = "Splited " + str(n_of_splitted_features) + " multipart feature(s)" 
  </code></pre>
  
  <p>to translate, without the need to break each of sub-strings, like this</p>
  
  <pre class="lang-py prettyprint-override"><code>message = QCoreApplication.translate('Multipart split','Splited ') + str(n_of_splitted_features) + QCoreApplication.translate('Multipart split', 'multipart feature(s)')
  </code></pre>
  
  <p>which does not appear to be the best option.</p>
  
  <p>I have found that in C++ using the <code>tr()</code> with <code>.arg()</code>, one can do this:</p>
  
  <pre class="lang-c prettyprint-override"><code>statusBar()-&gt;showMessage(tr("Host %1 found").arg(hostName))
  </code></pre>
  
  <p>But I was unable to replicate using Python.</p>