<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p
        {mso-style-priority:99;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=RU><div class=WordSection1><p><span lang=EN-US>Somewhere in qml file add:</span></p><p><o:p> </o:p></p><p><span lang=EN-US>function tr_noop() {</span><o:p></o:p></p><p><span lang=EN-US>    QT_TR_NOOP(</span>"daily "<span lang=EN-US>)</span><o:p></o:p></p><p><span lang=EN-US>    QT_TR_NOOP(</span>"weekly "<span lang=EN-US>)</span><o:p></o:p></p><p><span lang=EN-US>    QT_TR_NOOP(</span>"monthly "<span lang=EN-US>)</span><o:p></o:p></p><p><span lang=EN-US>    QT_TR_NOOP(</span>"yearly "<span lang=EN-US>)</span><o:p></o:p></p><p><span lang=EN-US>    QT_TR_NOOP(</span>"unknown"<span lang=EN-US>)</span><o:p></o:p></p><p><span lang=EN-US>}<o:p></o:p></span></p><p><span lang=EN-US><o:p> </o:p></span></p><p><span lang=EN-US>And then use qsTr(</span>budgetTypeToString<span lang=EN-US>(value))</span></p><p><o:p> </o:p></p><p><o:p> </o:p></p><p><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p style='border:none;padding:0cm'><br><b>From: </b>Rudi Timmermans<br><b>Sent: </b>29 июня 2015 г. 1:02<br><b>To: </b>Sailfish OS Developers<br><b>Subject: </b>[SailfishDevel] Translate</p></div><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Do anyone know how i can translate a JS string ?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I hope there is a easy way ;)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This is the code</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>function budgetTypeToString(type) {</p><p class=MsoNormal>     var str;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     switch (type) {</p><p class=MsoNormal>     case BUDGET_TYPE_DAILY:</p><p class=MsoNormal>         str = "daily";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_WEEKLY:</p><p class=MsoNormal>         str = "weekly";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_MONTHLY:</p><p class=MsoNormal>         str = "monthly";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_YEARLY:</p><p class=MsoNormal>         str = "yearly";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     default:</p><p class=MsoNormal>         str = "unknown";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     }</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     return str;</p><p class=MsoNormal>}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>/* budgetTypeNoun</p><p class=MsoNormal>  *</p><p class=MsoNormal>  * Returns the correct noun for the given budget type.</p><p class=MsoNormal>  *</p><p class=MsoNormal>  */</p><p class=MsoNormal>function budgetTypeNoun(type) {</p><p class=MsoNormal>     var str;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     switch (type) {</p><p class=MsoNormal>     case BUDGET_TYPE_DAILY:</p><p class=MsoNormal>         str = "day";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_WEEKLY:</p><p class=MsoNormal>         str = "week";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_MONTHLY:</p><p class=MsoNormal>         str = "month";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case BUDGET_TYPE_YEARLY:</p><p class=MsoNormal>         str = "year";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     default:</p><p class=MsoNormal>         str = "unknown";</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     }</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     return str;</p><p class=MsoNormal>}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>function budgetTypeValue(type) {</p><p class=MsoNormal>     var retval;</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     switch(type) {</p><p class=MsoNormal>     case "daily":</p><p class=MsoNormal>         retval = BUDGET_TYPE_DAILY;</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case "weekly":</p><p class=MsoNormal>         retval = BUDGET_TYPE_WEEKLY;</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case "monthly":</p><p class=MsoNormal>         retval = BUDGET_TYPE_MONTHLY;</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     case "yearly":</p><p class=MsoNormal>         retval = BUDGET_TYPE_YEARLY;</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     default:</p><p class=MsoNormal>         retval = BUDGET_TYPE_DAILY;</p><p class=MsoNormal>         break;</p><p class=MsoNormal>     }</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     return retval;</p><p class=MsoNormal>}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>then i read the string as into main main.qml page</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>lbWalletDetails.text = qsTr("you have") + "<b> " + wallet.currency + " " </p><p class=MsoNormal>+ wallet.budget + "</b> " + qsTr("per") + " " + </p><p class=MsoNormal>Util.budgetTypeNoun(wallet.budget_type) + "</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>---</p><p class=MsoNormal>Best regards!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Rudi Timmermans.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Op 26/06/15 om 10:16 schreef Rudi Timmermans:</p><p class=MsoNormal>> Hi Lucien,</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Ok thanks this works perfect ;)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> ---</p><p class=MsoNormal>> Best regards!</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Rudi Timmermans.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Op 26/06/15 om 09:06 schreef Lucien Xu:</p><p class=MsoNormal>>> Hi Rudi,</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> There are plenty of doc scattered on the internet. The secret is to</p><p class=MsoNormal>>> use QT_TR_NOOP in the ListElement because you are not allowed to</p><p class=MsoNormal>>> script what's inside a ListElement.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> See for instance this bug report</p><p class=MsoNormal>>> https://bugreports.qt.io/browse/QTBUG-11403.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Especially this example given in the reply.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> ListModel {</p><p class=MsoNormal>>>     ListElement {</p><p class=MsoNormal>>>         greeting: QT_TR_NOOP("hello")</p><p class=MsoNormal>>>     }</p><p class=MsoNormal>>> }</p><p class=MsoNormal>>> ...</p><p class=MsoNormal>>> Text { text: qsTr(greeting) }</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> Regards,</p><p class=MsoNormal>>> Lucien</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> ------------------------------------------------------------------------</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     *De: *"Rudi Timmermans" <rudi.timmer@gmx.us></p><p class=MsoNormal>>>     *À: *"Sailfish OS Developers" <devel@lists.sailfishos.org></p><p class=MsoNormal>>>     *Envoyé: *Vendredi 26 Juin 2015 08:54:47</p><p class=MsoNormal>>>     *Objet: *Re: [SailfishDevel] compile error</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     Hi,</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     I like to use into ListElement the qsTr.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     This is my code:</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     ListElement{</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     page:"ManageWalletsPage.qml"</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     title:"Managewallets"</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     subtitle:"Createanewwalletormodifyyourexistingones"</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     section:"Management"</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     }</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     When is use title: qstr("Managewallets") this seems not to work anyone has a solution for this ?</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     I like to translate this text string also, that's the resion of it.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     Thanks!</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     ---</p><p class=MsoNormal>>>     Best regards!</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     Rudi Timmermans.</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>>     _______________________________________________</p><p class=MsoNormal>>>     SailfishOS.org Devel mailing list</p><p class=MsoNormal>>>     To unsubscribe, please send a mail to</p><p class=MsoNormal>>>     devel-unsubscribe@lists.sailfishos.org</p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>><o:p> </o:p></p><p class=MsoNormal>>> _______________________________________________</p><p class=MsoNormal>>> SailfishOS.org Devel mailing list</p><p class=MsoNormal>>> To unsubscribe, please send a mail todevel-unsubscribe@lists.sailfishos.org</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>SailfishOS.org Devel mailing list</p><p class=MsoNormal>To unsubscribe, please send a mail to devel-unsubscribe@lists.sailfishos.org</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>