[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] Translation not working for QSystemTrayIcon
From:       Zdenko Podobny <zdenop () gmail ! com>
Date:       2019-03-21 16:42:48
Message-ID: CAJbzG8xc561apkVRgVYJxfqg3bMo-wu_eOJesH7hNjwu_agx6Q () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Thanks for suggestion. I thought (based on some example) that Qt is able to
change translation on the fly, so order is not imported. But it is.
+ I need to add app.installTranslator(appTranslator). Finale working
example (relevant part) is:

app = QtWidgets.QApplication(sys.argv)
appTranslator = QtCore.QTranslator()
loaded = appTranslator.load('sk_SK.qm')
app.installTranslator(appTranslator)
print("Translation loaded:", loaded)
if loaded:  # test translating:
    _translate = appTranslator.translate
    print("should NOT be 'Settings...': " +
          _translate("SystemTrayIcon", "Settings..."))
widget = QtWidgets.QWidget()
trayIcon = SystemTrayIcon(QtGui.QIcon('logo.ico'), widget)
trayIcon.show()
sys.exit(app.exec_())


Zdenko


št 21. 3. 2019 o 13:18 Dmitry Shachnev <mitya57@ubuntu.com> napísal(a):

> Hello,
>
> On Thu, Mar 21, 2019 at 09:32:37AM +0100, Zdenko Podobny wrote:
> > I am not sure what I am doing wrong, but translation is not working for
> my
> > QSystemTrayIcon app. Here is my testing code:
> >
> > [...]
> > app = QtWidgets.QApplication(sys.argv)
> > widget = QtWidgets.QWidget()
> > trayIcon = SystemTrayIcon(QtGui.QIcon('logo.ico'), widget)
> > qtTranslator = QtCore.QTranslator()
> > appTranslator = QtCore.QTranslator(app)
> > loaded = appTranslator.load('sk_SK.qm')
> > [...]
>
> Try creating SystemTrayIcon after you load the translation, not before.
>
> --
> Dmitry Shachnev
> _______________________________________________
> PyQt mailing list    PyQt@riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt
>

[Attachment #5 (text/html)]

<div dir="ltr"><div dir="ltr">Thanks for suggestion. I thought (based on some \
example) that Qt is able to change translation on the fly, so order is not imported. \
But it is.</div><div dir="ltr">+ I need to add app.installTranslator(appTranslator). \
Finale working example (relevant part) is:<div><pre \
style="background-color:rgb(43,43,43);color:rgb(169,183,198);font-family:Consolas">app \
= QtWidgets.QApplication(sys.argv)<br>appTranslator = QtCore.QTranslator()<br>loaded \
= appTranslator.load(<span \
style="color:rgb(106,135,89)">&#39;sk_SK.qm&#39;</span>)<br>app.installTranslator(appTranslator)<br><span \
style="color:rgb(136,136,198)">print</span>(<span \
style="color:rgb(106,135,89)">&quot;Translation loaded:&quot;</span><span \
style="color:rgb(204,120,50)">, </span>loaded)<br><span \
style="color:rgb(204,120,50)">if </span>loaded:  <span \
style="color:rgb(128,128,128)"># test translating:<br></span><span \
style="color:rgb(128,128,128)">    </span>_translate = appTranslator.translate<br>    \
<span style="color:rgb(136,136,198)">print</span>(<span \
style="color:rgb(106,135,89)">&quot;should NOT be &#39;Settings...&#39;: &quot; \
</span>+<br>          _translate(<span \
style="color:rgb(106,135,89)">&quot;SystemTrayIcon&quot;</span><span \
style="color:rgb(204,120,50)">, </span><span \
style="color:rgb(106,135,89)">&quot;Settings...&quot;</span>))<br>widget = \
QtWidgets.QWidget()<br>trayIcon = SystemTrayIcon(QtGui.QIcon(<span \
style="color:rgb(106,135,89)">&#39;logo.ico&#39;</span>)<span \
style="color:rgb(204,120,50)">, \
</span>widget)<br>trayIcon.show()<br>sys.exit(app.exec_())</pre></div><div><br></div><div><div><div \
dir="ltr" class="gmail_signature">Zdenko</div></div><br></div></div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">št 21. 3. 2019 o  13:18 Dmitry \
Shachnev &lt;<a href="mailto:mitya57@ubuntu.com">mitya57@ubuntu.com</a>&gt; \
napísal(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br> <br>
On Thu, Mar 21, 2019 at 09:32:37AM +0100, Zdenko Podobny wrote:<br>
&gt; I am not sure what I am doing wrong, but translation is not working for my<br>
&gt; QSystemTrayIcon app. Here is my testing code:<br>
&gt;<br>
&gt; [...]<br>
&gt; app = QtWidgets.QApplication(sys.argv)<br>
&gt; widget = QtWidgets.QWidget()<br>
&gt; trayIcon = SystemTrayIcon(QtGui.QIcon(&#39;logo.ico&#39;), widget)<br>
&gt; qtTranslator = QtCore.QTranslator()<br>
&gt; appTranslator = QtCore.QTranslator(app)<br>
&gt; loaded = appTranslator.load(&#39;sk_SK.qm&#39;)<br>
&gt; [...]<br>
<br>
Try creating SystemTrayIcon after you load the translation, not before.<br>
<br>
--<br>
Dmitry Shachnev<br>
_______________________________________________<br>
PyQt mailing list      <a href="mailto:PyQt@riverbankcomputing.com" \
target="_blank">PyQt@riverbankcomputing.com</a><br> <a \
href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" rel="noreferrer" \
target="_blank">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br> \
</blockquote></div>


[Attachment #6 (text/plain)]

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
https://www.riverbankcomputing.com/mailman/listinfo/pyqt


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic