On 7/11/2007 6:26 PM, dwelch91 wrote:

I have a need to be able to "share" PyQt localized strings with a non-Qt program. I was hoping on putting the strings into a module that is then imported into both the PyQt and non-PyQt program, and somehow have the non-PyQt program reassign __tr() so that it can access the strings. Any thoughts on how I might do this?

1) Put your strings freely within your non-qt code. Mark them with self.tr() calls.

2) Implement a fake tr method in your non-qt classes, like this:

  @staticmethod
  def tr(txt):
      return txt

3) When the string eventually arrives to qt code, you must translate it:

  def whatever(self, txt):
     # txt passed through a *fake* tr() call: translate it now
     txt = qApp.translate("CLASS_NAME", txt)

4) "CLASS_NAME" is the name of the class in your non-qt code where the string was "born" :)

--
Giovanni Bajo

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to