[Qgis-developer] Fwd: Re: Processing algorithm's groups and names translation.

Arnaud Morvan arnaud.morvan at camptocamp.com
Thu Jul 16 08:33:12 PDT 2015


I've made a pull request here : https://github.com/qgis/QGIS/pull/2213

With the strategy to produce a python file which calls 
QCoreApplication.translate with each string (names, groups).

Could you give me a feedback about this.

Best regards

Arnaud

Le 16/07/2015 14:56, Arnaud Morvan a écrit :
>
> If we make files algnames_<locale>.txt
> => translators would have to make pull request for each language to 
> translate the name of a new algorithms.
> => It should be difficult to identify not translated names, to update 
> text files.
>
> Like alex says: self.tr() method is only applicable to pure-python 
> algorithms
>
> So my proposition is to create a python script that generate a 
> temporary python file which calls translate() with all names and 
> groups (iterating over providers and algorithms).
> This file could be parsed normally by pylupdate
> And we could call translate at runtime to get displayNames for the 
> toolbox
> External plugins algorithms will be added to translations (depending 
> on plugins installed when running update_ts.sh), but this not seems to 
> be blocker.
>
> With simplified interface definition file: algclassification.txt
> algorithms not present in this text file do not display in simplified 
> interface
> if we made one text file for each language, this would cause 
> simplified interface to display different algorithms for each language.
> This text file can eventually be translated in python to be parsed by 
> pylupdate
>
> Arnaud Morvan
> Ingénieur logiciel
> Tél: +33 (0)4 58 48 20 32
>
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac Cedex
> http://www.camptocamp.com
>
> Le 16/07/2015 13:12, Alexander Bruy a écrit :
>> Hi all,
>>
>> this topic was raised previously and problem is a bit more complex
>> then just using self.tr() for algorithm name and group. Such approach
>> will work only for very limited amount of algorithms with pure-Python
>> implementation.
>>
>> But what to do with algorithms, defined via description files? In this
>> case algorithm name and group written in description files and use
>> English. Seems we need something more advanced then just
>> overriding getCommandLineName().
>>
>>
>> 2015-07-15 17:54 GMT+03:00 Victor Olaya <volayaf at gmail.com>:
>>> No need to do that
>>>
>>> There is a name property for algorithms (used by the toolbox, not the
>>> cmd line), and then there is the getCommandLineName() method, (which
>>> is used by the command line). The problem here is that, by default,
>>> the getCommandLineName method returns a name that is derived from the
>>> alg name. It is easy to fix that, just override that method for all
>>> algorithms. The problem is that "all" algorithms means hundreds of
>>> them...
>>>
>>> It's something that should have been done from the beginning, but I
>>> just assumed that it was a good idea to rely on the base
>>> implementation which uses the human-readable name for the cmd line
>>> name, so there was no need to implement that method ofr every
>>> algorithm, saving some work. Lazy me...
>>>
>>> So, in short, the code actually supports what you propose...but
>>> algorithms do not use it,
>>>
>>> Let me know if you have questions
>>>
>>> 2015-07-15 16:01 GMT+02:00 Arnaud Morvan 
>>> <arnaud.morvan at camptocamp.com>:
>>>> Thanks for your reponse,
>>>>
>>>> This is functionnal but seems difficult to maintain.
>>>> How to verify that every algorithm is translated in each language ?
>>>>
>>>> Why don't add in each algorithm a "title" property
>>>>
>>>>      self.name = '...'             # used by command line
>>>>      self.title = self.tr('...')     # used by toolbox
>>>>
>>>> eventually with a fallback on self.name for compatibility with
>>>> algorithms from external plugins.
>>>> Like this we could use the normal workflow with transifex.
>>>>
>>>> Does the groups have another use than toobox item text ? can we 
>>>> replace :
>>>>      self.group = '...'
>>>> by
>>>>      self.group = self.tr('...')
>>>>
>>>> Arnaud
>>>>
>>>> Le 15/07/2015 12:26, Victor Olaya a écrit :
>>>>> Arnaud
>>>>>
>>>>> I added a mechanism for defining alternative names for algorithms.
>>>>> This allows to provide more informative names than the original ones,
>>>>> without having to break the cmd interface.
>>>>>
>>>>> The name replacements are stored in this file:
>>>>>
>>>>>
>>>>> https://github.com/qgis/QGIS/blob/master/python/plugins/processing/gui/algnames.txt 
>>>>>
>>>>>
>>>>> If the algorithm is listed there, the alternative name is use.
>>>>> Otherwise, the original name is used.
>>>>>
>>>>> Maybe we could have several files like that (algnames_fr.txt,
>>>>> algnames_es.txt, etc), and just use the one corresponding to the
>>>>> current language. That would be a very easy solution to implement and
>>>>> very practical for all translators. It's differnet from how
>>>>> translation is done now, but I think it will be better for 
>>>>> Processing,
>>>>> to be able to rename algorithms without changing their commandline
>>>>> name
>>>>>
>>>>> Let me know what you think about this
>>>>>
>>>>> Cheers
>>>>>
>>>>>
>>>>>
>>>>> 2015-07-15 11:16 GMT+02:00 Arnaud Morvan 
>>>>> <arnaud.morvan at camptocamp.com>:
>>>>>> Hi,
>>>>>>
>>>>>> In processing algorithms, parameters names are translatable (and
>>>>>> completely
>>>>>> translated in french),
>>>>>> but algorithm names and groups couldn't be translated because 
>>>>>> processing
>>>>>> commandline interface use them in english.
>>>>>> On the other side, it would be good for users to get algorithm names
>>>>>> translated inside toolbox.
>>>>>>
>>>>>> Has someone begin to work on this or an idea about how to get names
>>>>>> translated inside toolbox.
>>>>>>
>>>>>> Maybe we could help on this ?
>>>>>>
>>>>>> Best regards
>>>>>>
>>>>>> Arnaud
>>>>>> _______________________________________________
>>>>>> Qgis-developer mailing list
>>>>>> Qgis-developer at lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Qgis-developer mailing list
>>>> Qgis-developer at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> _______________________________________________
>>> 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