[PyQt] linguist skipping a line and missing context
Paul Rouleau
paul.rouleau at videotron.ca
Sat Aug 22 19:51:59 BST 2009
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.
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.
More information about the PyQt
mailing list