1 # -*- coding: utf-8 -*-
2 # copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
3 # contact http://www.logilab.fr -- mailto:contact@logilab.fr
5 # This program is free software: you can redistribute it and/or modify it under
6 # the terms of the GNU Lesser General Public License as published by the Free
7 # Software Foundation, either version 2.1 of the License, or (at your option)
10 # This program is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
15 # You should have received a copy of the GNU Lesser General Public License along
16 # with this program. If not, see <http://www.gnu.org/licenses/>.
18 Creates and loads two ``QTranslator`` objects, one for pure Qt, one for Eficas,
19 and installs them to a ``QApplication``.
21 ``PyQt4`` is currently supported.
24 from PyQt4.QtCore import QTranslator
26 qt_translator = QTranslator()
27 eficas_translator = QTranslator()
29 def localise(application, locale=None ):
31 localise(QApplication) -> None
33 Loads and installs to a ``QApplication`` two ``QTranslator``
34 objects, one for pure Qt for translating the strings
35 available in Qt, and one or Eficas, for translating
36 the strings specified precisely for Eficas.
37 If the Qt base translator cannot be loaded with the locale
38 specified by the user, one attempts to load Qt base
39 translator with the system locale.
40 If no locale is specified by the user, the system locale
41 is used instead, for both Qt base and Eficas translators.
43 from PyQt4.QtCore import QLibraryInfo
44 from PyQt4.QtCore import QLocale
45 from PyQt4.QtGui import QApplication
46 sys_locale = QLocale.system().name()
53 #if qt_translator.load("qt_" + locale,
54 # QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
55 # application.installTranslator(qt_translator)
56 #elif qt_translator.load("qt_" + sys_locale,
57 # QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
58 # print "Qt base translator with default locale loaded!"
59 # application.installTranslator(qt_translator)
60 # Try to load Qt base translator according to system locale.
62 # print "Unable to load Qt base translator!"
64 global eficas_translator
66 monPath=os.path.join(os.path.dirname(__file__),'..','UiQT4')
67 if eficas_translator.load("eficas_" + locale, monPath):
68 QApplication.installTranslator(eficas_translator)
70 print "Unable to load Eficas translator!"
74 if __name__ == "__main__":