On Sat, 22 Aug 2009 14:51:59 -0400, Paul Rouleau <[email protected]> wrote: > I report a weird behavior of linguist for a .ts file generated with > pylupdate4. > > The python source code is > > -------- begin code of test.py > #!/usr/bin/python > # -*- coding: utf8 -*- > > import functools > from PyQt4 import QtGui > > tr = functools.partial( QtGui.QApplication.instance.translate, 'test.py') > > YES = tr('Yes') > NO = tr('No') > > > ---------- end test.py > > The .pro file is > > ----------- begin test.pro > SOURCES += ../test.py > TRANSLATIONS += test_fr.ts > ------------ end test.pro > > I keep my translations in a subdirectory called translations. So you > need the ../ prefix to get to the source code. I run the following > commands in the translations subdirectory. > > pylupdate4 test.pro > linguist > > Once in linguist I open the test_fr.ts file. > > The weird behavior is twofold: > > 1- When I go to the Source code window, linguist point to the line below > the one where the source text occurs. I.e when I translate the string > 'Yes' it points to the line NO = tr('NO'). > > 2- The contest string 'test.py' doesn't show up. Linguist reports > @default being the context. > > > Could some of this have to do with the use of functools.partial with > translate? I thought this is a neat way to avoid repeating the same > string over and over when translating definitions made at module level. > It also let us alias the translation function to reduce typing and > increase readability.
Yes. pylupdate has no way of knowing what partial() does. > I am using PyQt 4.3 on Ubuntu Hardy Heron. This is the most recent > version of PyQt that is packaged with Hardy. > > > This is nothing more than a minor annoyance, but I think it is useful to > report anyway. The line number problem should be fixed in tonight's snapshot. Phil _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
