From 70ae7d119dfe064802312f84769a520dbd77871b Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 23 Apr 2011 16:40:37 +0200 Subject: [PATCH 1/6] fixed another translation bug --- openlp.pyw | 6 ++++-- openlp/core/utils/languagemanager.py | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 425d3c874..8505f002d 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -240,8 +240,10 @@ def main(): + "/qt4_plugins") # i18n Set Language language = LanguageManager.get_language() - appTranslator = LanguageManager.get_translator(language) + appTranslator, default_string_translator = \ + LanguageManager.get_translator(language) app.installTranslator(appTranslator) + app.installTranslator(default_string_translator) if not options.no_error_form: sys.excepthook = app.hookException sys.exit(app.run()) @@ -250,4 +252,4 @@ if __name__ == u'__main__': """ Instantiate and run the application. """ - main() \ No newline at end of file + main() diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 9dbf9a779..e47f3fbde 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -55,8 +55,11 @@ class LanguageManager(object): language = QtCore.QLocale.system().name() lang_path = AppLocation.get_directory(AppLocation.LanguageDir) app_translator = QtCore.QTranslator() - if app_translator.load(language, lang_path): - return app_translator + if not app_translator.load(language, lang_path): + return + default_string_translator = QtCore.QTranslator() + if default_string_translator.load(u'qt_%s' % language, lang_path): + return app_translator, default_string_translator @staticmethod def find_qm_files(): From 2167a697dd1fc3d7ecb57866b89d32efee3db23a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 23 Apr 2011 17:15:01 +0200 Subject: [PATCH 2/6] log empty default_translator --- openlp.pyw | 11 ++++++++--- openlp/core/utils/languagemanager.py | 8 ++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 8505f002d..bc3cd895e 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -240,10 +240,14 @@ def main(): + "/qt4_plugins") # i18n Set Language language = LanguageManager.get_language() - appTranslator, default_string_translator = \ + app_translator, default_translator = \ LanguageManager.get_translator(language) - app.installTranslator(appTranslator) - app.installTranslator(default_string_translator) + if not app_translator.isEmpty(): + app.installTranslator(app_translator) + if not default_translator.isEmpty(): + app.installTranslator(default_translator) + else: + log.debug(u'Could not find default_translator.') if not options.no_error_form: sys.excepthook = app.hookException sys.exit(app.run()) @@ -253,3 +257,4 @@ if __name__ == u'__main__': Instantiate and run the application. """ main() + diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index e47f3fbde..190f8af02 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -55,11 +55,11 @@ class LanguageManager(object): language = QtCore.QLocale.system().name() lang_path = AppLocation.get_directory(AppLocation.LanguageDir) app_translator = QtCore.QTranslator() - if not app_translator.load(language, lang_path): - return + app_translator.load(language, lang_path) + # A translator for buttons and other default strings provided by Qt. default_string_translator = QtCore.QTranslator() - if default_string_translator.load(u'qt_%s' % language, lang_path): - return app_translator, default_string_translator + default_string_translator.load(u'qt_%s' % language, lang_path) + return app_translator, default_string_translator @staticmethod def find_qm_files(): From 03e9aeda84b89f0ecc736ad2904a2858b9907862 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 23 Apr 2011 17:40:07 +0200 Subject: [PATCH 3/6] changed name --- openlp/core/utils/languagemanager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 190f8af02..ac7e3b65a 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -57,9 +57,9 @@ class LanguageManager(object): app_translator = QtCore.QTranslator() app_translator.load(language, lang_path) # A translator for buttons and other default strings provided by Qt. - default_string_translator = QtCore.QTranslator() - default_string_translator.load(u'qt_%s' % language, lang_path) - return app_translator, default_string_translator + default_translator = QtCore.QTranslator() + default_translator.load(u'qt_%s' % language, lang_path) + return app_translator, default_translator @staticmethod def find_qm_files(): From 52822e119e42436266d2690c9a420ce650e468c8 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 2 May 2011 19:25:12 +0200 Subject: [PATCH 4/6] use qm files from /usr/share/qt4/translation --- openlp/core/utils/languagemanager.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index ac7e3b65a..04c5bfd0a 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -28,6 +28,7 @@ The :mod:`languagemanager` module provides all the translation settings and language file loading for OpenLP. """ import logging +import sys from PyQt4 import QtCore, QtGui @@ -57,6 +58,12 @@ class LanguageManager(object): app_translator = QtCore.QTranslator() app_translator.load(language, lang_path) # A translator for buttons and other default strings provided by Qt. + if sys.platform == u'linux2': + # On Linux we use the qm files from qt directory, on other platforms + # the qm files have to be packaged and saved together with our own + # translations. + lang_path = QtCore.QLibraryInfo.location( + QtCore.QLibraryInfo.TranslationsPath) default_translator = QtCore.QTranslator() default_translator.load(u'qt_%s' % language, lang_path) return app_translator, default_translator From 485cceb3c2a079e02615be2e58ee07941dc31307 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 2 May 2011 19:35:40 +0200 Subject: [PATCH 5/6] remove empty line --- openlp.pyw | 1 - 1 file changed, 1 deletion(-) diff --git a/openlp.pyw b/openlp.pyw index e5bb4871f..c287072f5 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -258,4 +258,3 @@ if __name__ == u'__main__': Instantiate and run the application. """ main() - From 3dd30f5e938ee488079c1e940686151a8550c266 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 2 May 2011 20:24:28 +0200 Subject: [PATCH 6/6] also check for osx --- openlp/core/utils/languagemanager.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 04c5bfd0a..e62e6279d 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -58,10 +58,7 @@ class LanguageManager(object): app_translator = QtCore.QTranslator() app_translator.load(language, lang_path) # A translator for buttons and other default strings provided by Qt. - if sys.platform == u'linux2': - # On Linux we use the qm files from qt directory, on other platforms - # the qm files have to be packaged and saved together with our own - # translations. + if sys.platform != u'win32' and sys.platform != u'darwin': lang_path = QtCore.QLibraryInfo.location( QtCore.QLibraryInfo.TranslationsPath) default_translator = QtCore.QTranslator()