def updateTranslations(): """Update processing.algs.translations module. Need QGIS python API on python path, can be run from QGIS console. Example: from processing.tools.translation import updateTranslations updateTranslations() """ loadClassification() with open( os.path.join(os.path.dirname(__file__), '../algs/translations.py'), 'w') as f: f.write('''# -*- coding: utf-8 -*- """ Don't edit this file manually. Update it from QGIS console: from processing.tools.translation import updateTranslations updateTranslations() """ from qgis.PyQt.QtCore import QCoreApplication def translationShadow(): ''') groups = {} for provider in QgsApplication.processingRegsitry().providers(): f.write(''' """{}""" '''.format(provider.__class__.__name__)) for alg in provider.algorithms(): display_name = alg.name() f.write( " QCoreApplication.translate(\"{}\", \"{}\")\n".format( alg.__class__.__name__, display_name.replace('"', '\\"'))) if alg.group() not in groups: groups[alg.group()] = 'AlgorithmClassification' group, subgroup = getClassificationEn(alg) if group is not None and group not in groups: groups[group] = 'AlgorithmClassification' if subgroup is not None and subgroup not in groups: groups[subgroup] = 'AlgorithmClassification' f.write(''' """Groups and subgroups""" ''') for group, context in list(groups.items()): f.write(" QCoreApplication.translate(\"{}\", \"{}\")\n".format( context, group.replace('"', '\\"')))
def updateTranslations(): """Update processing.algs.translations module. Need QGIS python API on python path, can be run from QGIS console. Example: from processing.tools.translation import updateTranslations updateTranslations() """ loadClassification() loadDisplayNames() f = open(os.path.join(os.path.dirname(__file__), '../algs/translations.py'), 'w') f.write('''# -*- coding: utf-8 -*- """ Don't edit this file manually. Update it from QGIS console: from processing.tools.translation import updateTranslations updateTranslations() """ from PyQt4.QtCore import QCoreApplication def translationShadow(): ''') groups = {} for provider in Processing.providers: f.write(''' """{}""" '''.format(provider.__class__.__name__)) for alg in provider.algs: display_name = getDisplayNameEn(alg) f.write(" QCoreApplication.translate(\"{}\", \"{}\")\n" .format(alg.__class__.__name__, display_name.replace('"', '\\"'))) if not alg.group in groups: groups[alg.group] = 'AlgorithmClassification' group, subgroup = getClassificationEn(alg) if group is not None and not group in groups: groups[group] = 'AlgorithmClassification' if subgroup is not None and not subgroup in groups: groups[subgroup] = 'AlgorithmClassification' f.write(''' """Groups and subgroups""" ''') for group, context in groups.iteritems(): f.write(" QCoreApplication.translate(\"{}\", \"{}\")\n" .format(context, group.replace('"', '\\"')))