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.
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to