X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Extensions%2Flocalisation.py;h=ff906ca218c757c1ff22d6f20efb42c01e0764d5;hb=db67610817b210277c799d3650f895c433d9a798;hp=0c0b67375b2ace710acaa4384b54d8ea03107c84;hpb=a184afca0f726bc9b90a7d3caa688c4632055b2b;p=tools%2Feficas.git diff --git a/Extensions/localisation.py b/Extensions/localisation.py index 0c0b6737..ff906ca2 100644 --- a/Extensions/localisation.py +++ b/Extensions/localisation.py @@ -15,82 +15,52 @@ # You should have received a copy of the GNU Lesser General Public License along # with this program. If not, see . """ -Creates and loads two ``QTranslator`` objects, one for pure Qt, one for Eficas, -and installs them to a ``QApplication``. """ +from __future__ import absolute_import +from __future__ import print_function import os -from determine import monEnvQT5 -if monEnvQT5 : - from PyQt5.QtCore import QTranslator -else : - from PyQt4.QtCore import QTranslator -qt_translator = QTranslator() +from PyQt5.QtCore import QTranslator + +code_translator = QTranslator() eficas_translator = QTranslator() -def localise(application, locale=None,file=None ): +def localise(application, locale=None,file=None,translatorFichier=None, debug=False ): """ - localise(QApplication) -> None - - Loads and installs to a ``QApplication`` two ``QTranslator`` - objects, one for pure Qt for translating the strings - available in Qt, and one or Eficas, for translating - the strings specified precisely for Eficas. - If the Qt base translator cannot be loaded with the locale - specified by the user, one attempts to load Qt base - translator with the system locale. - If no locale is specified by the user, the system locale - is used instead, for both Qt base and Eficas translators. """ - if monEnvQT5 : - from PyQt5.QtCore import QLibraryInfo - from PyQt5.QtCore import QLocale - from PyQt5.QtWidgets import QApplication - monPath=os.path.join(os.path.dirname(__file__),'..','UiQT5') - else : - from PyQt4.QtCore import QLibraryInfo - from PyQt4.QtCore import QLocale - from PyQt4.QtGui import QApplication - monPath=os.path.join(os.path.dirname(__file__),'..','UiQT4') + from PyQt5.QtCore import QLibraryInfo + from PyQt5.QtCore import QLocale + from PyQt5.QtWidgets import QApplication + monPath=os.path.join(os.path.dirname(__file__),'..','UiQT5') sys_locale = QLocale.system().name() - if locale is None: - #locale = sys_locale - locale="fr" - - #global qt_translator - #if qt_translator.load("qt_" + locale, - # QLibraryInfo.location(QLibraryInfo.TranslationsPath)): - # application.installTranslator(qt_translator) - #elif qt_translator.load("qt_" + sys_locale, - # QLibraryInfo.location(QLibraryInfo.TranslationsPath)): - # print "Qt base translator with default locale loaded!" - # application.installTranslator(qt_translator) - # Try to load Qt base translator according to system locale. - #else: - # print "Unable to load Qt base translator!" + if locale is None: locale="fr" - global eficas_translator if locale=="ang" : locale="en" - #print "eficas_" + locale, monPath - if file != None : - #print 'chagrement de ', file,monPath - print eficas_translator.load(file,monPath) - print QApplication.installTranslator(eficas_translator) - return - - if eficas_translator.load("eficas_" + locale, monPath): - QApplication.installTranslator(eficas_translator) - else: - print "Unable to load Eficas translator!" + if file != None and debug : + print ('chargement de ', file,monPath) + print (eficas_translator.load(file,monPath)) + print (QApplication.installTranslator(eficas_translator)) + elif eficas_translator.load("eficas_" + locale, monPath): + QApplication.installTranslator(eficas_translator) + elif debug: + print ("Unable to load Eficas translator!") + + global code_translator + if translatorFichier != None : + if (code_translator.load(translatorFichier)) and debug: + print (translatorFichier, ' loaded') + elif (code_translator.load(translatorFichier+'_'+locale) and debug): + print(translatorFichier+'_'+locale+ ' loaded') + elif debug : + print ("Unable to load Code translator! No file or No translation" + translatorFichier) + if debug : print (QApplication.installTranslator(code_translator)) - - if __name__ == "__main__": import sys localise(sys.argv[1])