[Qgis-developer] python plugin translations
Alex Mandel
tech_dev at wildintellect.com
Thu Apr 23 23:52:35 EDT 2009
Thanks, that's the answer I as looking for.
I'm going to get some friends started on translating the Metadata editor
while I work on new features.
Thanks,
Alex
Borys Jurgiel wrote:
> Thursday 23 of April 2009 18:32:04 Alex Mandel napisał(a):
>
>> I asked briefly on IRC the other day if there was a "how to" for
>> including translation strings in a plugin, but no one seemed to know of
>> such a thing. I'd like to allow for translation of my plugin but I'm not
>> sure where to start.
>
> Hi,
> I'm not sure if it makes any sense because I'm extremely sleepy, but here is
> what I've just written to Maxim. Note that I never did it, but it should work.
>
> ------------------------------------
>
> There are two different approaches:
>
> A. For external plugins, you can translate them 'locally': all the translation
> stuff is inside the plugin directory and it links to qgis in the runtime. It
> doesn't affect the main qgis .ts files, so the plugin maintainer has to keep an
> eye on the translations and ask the translators.
>
> Unfortunately I didn't ever try it. At the time there is one plugin
> implementing such internalization. It's Horst's Geoprocessing. Use the code as
> an example. In general, you need to:
>
> 1) Pass all strings through the QCoreApplication.translate("context","text")
> static method. Maybe you can use just self.tr("text") instead, but I'm not sure
> whether it works in this case - it may be not able to pass the strings to the
> application. Please pay attention for a text context. It's very hard for
> translators to deal with text with enigmatic context. Usually the context is
> just the name of the class where the string is used. So it's very important to
> give classes a 'translator-friendly' ;) names, like "QgsReprojectRasterDialog"
> instead of just a "Dialog".
>
> 2) Create a .pro file and run pylupdate, which catches all the tr() parameters
> from both .py and .ui files (given in the .pro file) and create all the local
> .ts files. Translate the .ts files and compile them to .qm
>
> 3) Init and connect the QTranslator() object - look at the begining of Horst's
> geoprocessing.py file.
>
>
>
> B. For 'internal' plugins, like fTools placed in svn, it's much simpler. You
> just need to use the self.tr() or QCoreApplication.translate() methods in .py
> files. All such strings in .py and .ui will be catched by the
> qgis/update_ts_files.sh script and put to the main qgis .ts files.
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
More information about the Qgis-developer
mailing list