From ea64675d65950b2e4064748dfa7faf389653fdf2 Mon Sep 17 00:00:00 2001 From: rimach Date: Sat, 17 Apr 2010 00:06:28 +0200 Subject: [PATCH] update i18n implementation --- openlp.pyw | 17 +- openlp/core/lib/toolbar.py | 11 +- openlp/core/ui/mainwindow.py | 213 +- openlp/core/utils/__init__.py | 3 +- openlp/core/utils/languagemanager.py | 106 + resources/i18n/openlp_af.qm | Bin 0 -> 34261 bytes resources/i18n/openlp_de.qm | Bin 0 -> 36265 bytes resources/i18n/openlp_en.ts | 3478 ----------------- resources/i18n/openlp_en_GB.qm | Bin 0 -> 31723 bytes resources/i18n/openlp_en_ZA.qm | Bin 0 -> 22938 bytes resources/i18n/openlp_es.qm | Bin 0 -> 14546 bytes resources/i18n/openlp_hu.qm | Bin 0 -> 35270 bytes resources/i18n/openlp_ko.qm | Bin 0 -> 462 bytes resources/i18n/openlp_nb.qm | Bin 0 -> 20852 bytes resources/i18n/openlp_pt_BR.qm | Bin 0 -> 35931 bytes resources/i18n/openlp_sv.qm | Bin 0 -> 37049 bytes .../{generate_pro.py => translation_utils.py} | 85 +- 17 files changed, 323 insertions(+), 3590 deletions(-) create mode 100644 openlp/core/utils/languagemanager.py create mode 100644 resources/i18n/openlp_af.qm create mode 100644 resources/i18n/openlp_de.qm delete mode 100644 resources/i18n/openlp_en.ts create mode 100644 resources/i18n/openlp_en_GB.qm create mode 100644 resources/i18n/openlp_en_ZA.qm create mode 100644 resources/i18n/openlp_es.qm create mode 100644 resources/i18n/openlp_hu.qm create mode 100644 resources/i18n/openlp_ko.qm create mode 100644 resources/i18n/openlp_nb.qm create mode 100644 resources/i18n/openlp_pt_BR.qm create mode 100644 resources/i18n/openlp_sv.qm rename scripts/{generate_pro.py => translation_utils.py} (62%) diff --git a/openlp.pyw b/openlp.pyw index d95987e23..23c056c02 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -37,7 +37,7 @@ log = logging.getLogger() from openlp.core.lib import Receiver, str_to_bool from openlp.core.resources import qInitResources from openlp.core.ui import MainWindow, SplashScreen, ScreenList -from openlp.core.utils import AppLocation, ConfigHelper +from openlp.core.utils import AppLocation, ConfigHelper, LanguageManager application_stylesheet = u""" QMainWindow::separator @@ -193,17 +193,10 @@ def main(): qInitResources() # Now create and actually run the application. app = OpenLP(qt_args) - lang_Path = AppLocation.get_directory(AppLocation.AppDir) - if hasattr(sys, u'frozen'): - lang_Path = os.path.join(lang_Path, u'..') - lang_Path = os.path.join(lang_Path, u'resources', u'i18n') - locale = QtCore.QLocale.system().name() - qtTranslator = QtCore.QTranslator() - if qtTranslator.load("openlp_" + locale, lang_Path): - app.installTranslator(qtTranslator) - appTranslator = QtCore.QTranslator() - if appTranslator.load("openlp_" + locale, lang_Path): - app.installTranslator(appTranslator) + #i18n Set Language + language = LanguageManager.getLanguage() + appTranslator = LanguageManager.getTranslator(language) + app.installTranslator(appTranslator) sys.exit(app.run()) diff --git a/openlp/core/lib/toolbar.py b/openlp/core/lib/toolbar.py index e50459943..7b5d86d54 100644 --- a/openlp/core/lib/toolbar.py +++ b/openlp/core/lib/toolbar.py @@ -117,10 +117,13 @@ class OpenLPToolbar(QtGui.QToolBar): The title of the icon to search for. """ title = QtCore.QString(title) - if self.icons[title]: - return self.icons[title] - else: - log.error(u'getIconFromTitle - no icon for %s' % title) + try: + if self.icons[title]: + return self.icons[title] + else: + log.error(u'getIconFromTitle - no icon for %s' % title) + return QtGui.QIcon() + except: return QtGui.QIcon() def makeWidgetsInvisible(self, widgets): diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 864d3a0ac..99021deb4 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -33,7 +33,7 @@ from openlp.core.ui import AboutForm, SettingsForm, \ PluginForm, MediaDockManager, VideoDisplay from openlp.core.lib import RenderManager, PluginConfig, build_icon, \ OpenLPDockWidget, SettingsManager, PluginManager, Receiver, str_to_bool -from openlp.core.utils import check_latest_version, AppLocation +from openlp.core.utils import check_latest_version, AppLocation, LanguageManager, ConfigHelper log = logging.getLogger(__name__) @@ -190,19 +190,19 @@ class Ui_MainWindow(object): self.ThemeManagerDock.setVisible(self.settingsmanager.showThemeManager) # Create the menu items self.FileNewItem = QtGui.QAction(MainWindow) - #self.FileNewItem.setIcon( - # self.ServiceManagerContents.Toolbar.getIconFromTitle( - # u'New Service')) + self.FileNewItem.setIcon( + self.ServiceManagerContents.Toolbar.getIconFromTitle( + MainWindow.trUtf8('New Service'))) self.FileNewItem.setObjectName(u'FileNewItem') self.FileOpenItem = QtGui.QAction(MainWindow) - #self.FileOpenItem.setIcon( - # self.ServiceManagerContents.Toolbar.getIconFromTitle( - # u'Open Service')) + self.FileOpenItem.setIcon( + self.ServiceManagerContents.Toolbar.getIconFromTitle( + MainWindow.trUtf8('Open Service'))) self.FileOpenItem.setObjectName(u'FileOpenItem') self.FileSaveItem = QtGui.QAction(MainWindow) - #self.FileSaveItem.setIcon( - # self.ServiceManagerContents.Toolbar.getIconFromTitle( - # u'Save Service')) + self.FileSaveItem.setIcon( + self.ServiceManagerContents.Toolbar.getIconFromTitle( + MainWindow.trUtf8('Save Service'))) self.FileSaveItem.setObjectName(u'FileSaveItem') self.FileSaveAsItem = QtGui.QAction(MainWindow) self.FileSaveAsItem.setObjectName(u'FileSaveAsItem') @@ -257,10 +257,26 @@ class Ui_MainWindow(object): self.HelpOnlineHelpItem.setObjectName(u'HelpOnlineHelpItem') self.HelpWebSiteItem = QtGui.QAction(MainWindow) self.HelpWebSiteItem.setObjectName(u'HelpWebSiteItem') - self.LanguageTranslateItem = QtGui.QAction(MainWindow) - self.LanguageTranslateItem.setObjectName(u'LanguageTranslateItem') - self.LanguageEnglishItem = QtGui.QAction(MainWindow) - self.LanguageEnglishItem.setObjectName(u'LanguageEnglishItem') + #i18n Language Items + self.AutoLanguageItem = QtGui.QAction(MainWindow) + self.AutoLanguageItem.setObjectName(u'AutoLanguageItem') + self.AutoLanguageItem.setCheckable(True) + self.LanguageGroup = QtGui.QActionGroup(MainWindow) + qmList = LanguageManager.getQmList() + savedLanguage = LanguageManager.getLanguage() + self.LanguageItem = {} + for key in qmList.keys(): + self.LanguageItem[key] = QtGui.QAction(MainWindow) + self.LanguageItem[key].setObjectName(key) + self.LanguageItem[key].setCheckable(True) + if LanguageManager.__AutoLanguage__ == True: + self.AutoLanguageItem.setChecked(True) + self.LanguageGroup.setEnabled(False) + else: + self.AutoLanguageItem.setChecked(False) + self.LanguageGroup.setEnabled(True) + if qmList[key] == savedLanguage: + self.LanguageItem[key].setChecked(True) self.ToolsAddToolItem = QtGui.QAction(MainWindow) AddToolIcon = build_icon(u':/tools/tools_add.png') self.ToolsAddToolItem.setIcon(AddToolIcon) @@ -295,9 +311,12 @@ class Ui_MainWindow(object): self.OptionsViewMenu.addAction(self.ViewThemeManagerItem) self.OptionsViewMenu.addSeparator() self.OptionsViewMenu.addAction(self.action_Preview_Panel) - self.OptionsLanguageMenu.addAction(self.LanguageEnglishItem) + #i18n add Language Actions + self.OptionsLanguageMenu.addAction(self.AutoLanguageItem) self.OptionsLanguageMenu.addSeparator() - self.OptionsLanguageMenu.addAction(self.LanguageTranslateItem) + for item in sorted(self.LanguageItem): + self.LanguageGroup.addAction(self.LanguageItem[item]) + self.OptionsLanguageMenu.addAction(self.LanguageItem[item]) self.OptionsMenu.addAction(self.OptionsLanguageMenu.menuAction()) self.OptionsMenu.addAction(self.OptionsViewMenu.menuAction()) self.OptionsMenu.addSeparator() @@ -335,95 +354,98 @@ class Ui_MainWindow(object): """ Set up the translation system """ - MainWindow.mainTitle = self.trUtf8('OpenLP 2.0') - MainWindow.defaultThemeText = self.trUtf8( + MainWindow.mainTitle = MainWindow.trUtf8('OpenLP 2.0') + MainWindow.language = MainWindow.trUtf8('English') + MainWindow.defaultThemeText = MainWindow.trUtf8( 'Default Theme: ') MainWindow.setWindowTitle(MainWindow.mainTitle) - self.FileMenu.setTitle(self.trUtf8('&File')) - self.FileImportMenu.setTitle(self.trUtf8('&Import')) - self.FileExportMenu.setTitle(self.trUtf8('&Export')) - self.OptionsMenu.setTitle(self.trUtf8('&Options')) - self.OptionsViewMenu.setTitle(self.trUtf8('&View')) - self.ViewModeMenu.setTitle(self.trUtf8('M&ode')) - self.OptionsLanguageMenu.setTitle(self.trUtf8( + self.FileMenu.setTitle(MainWindow.trUtf8('&File')) + self.FileImportMenu.setTitle(MainWindow.trUtf8('&Import')) + self.FileExportMenu.setTitle(MainWindow.trUtf8('&Export')) + self.OptionsMenu.setTitle(MainWindow.trUtf8('&Options')) + self.OptionsViewMenu.setTitle(MainWindow.trUtf8('&View')) + self.ViewModeMenu.setTitle(MainWindow.trUtf8('M&ode')) + self.OptionsLanguageMenu.setTitle(MainWindow.trUtf8( u'&Language')) - self.ToolsMenu.setTitle(self.trUtf8('&Tools')) - self.HelpMenu.setTitle(self.trUtf8('&Help')) + self.ToolsMenu.setTitle(MainWindow.trUtf8('&Tools')) + self.HelpMenu.setTitle(MainWindow.trUtf8('&Help')) self.MediaManagerDock.setWindowTitle( - self.trUtf8('Media Manager')) + MainWindow.trUtf8('Media Manager')) self.ServiceManagerDock.setWindowTitle( - self.trUtf8('Service Manager')) + MainWindow.trUtf8('Service Manager')) self.ThemeManagerDock.setWindowTitle( - self.trUtf8('Theme Manager')) - self.FileNewItem.setText(self.trUtf8('&New')) - self.FileNewItem.setToolTip(self.trUtf8('New Service')) - self.FileNewItem.setStatusTip(self.trUtf8('Create a new Service')) - self.FileNewItem.setShortcut(self.trUtf8('Ctrl+N')) - self.FileOpenItem.setText(self.trUtf8('&Open')) - self.FileOpenItem.setToolTip(self.trUtf8('Open Service')) - self.FileOpenItem.setStatusTip(self.trUtf8('Open an existing service')) - self.FileOpenItem.setShortcut(self.trUtf8('Ctrl+O')) - self.FileSaveItem.setText(self.trUtf8('&Save')) - self.FileSaveItem.setToolTip(self.trUtf8('Save Service')) + MainWindow.trUtf8('Theme Manager')) + self.FileNewItem.setText(MainWindow.trUtf8('&New')) + self.FileNewItem.setToolTip(MainWindow.trUtf8('New Service')) + self.FileNewItem.setStatusTip(MainWindow.trUtf8('Create a new Service')) + self.FileNewItem.setShortcut(MainWindow.trUtf8('Ctrl+N')) + self.FileOpenItem.setText(MainWindow.trUtf8('&Open')) + self.FileOpenItem.setToolTip(MainWindow.trUtf8('Open Service')) + self.FileOpenItem.setStatusTip(MainWindow.trUtf8('Open an existing service')) + self.FileOpenItem.setShortcut(MainWindow.trUtf8('Ctrl+O')) + self.FileSaveItem.setText(MainWindow.trUtf8('&Save')) + self.FileSaveItem.setToolTip(MainWindow.trUtf8('Save Service')) self.FileSaveItem.setStatusTip( - self.trUtf8('Save the current service to disk')) - self.FileSaveItem.setShortcut(self.trUtf8('Ctrl+S')) - self.FileSaveAsItem.setText(self.trUtf8('Save &As...')) - self.FileSaveAsItem.setToolTip(self.trUtf8('Save Service As')) + MainWindow.trUtf8('Save the current service to disk')) + self.FileSaveItem.setShortcut(MainWindow.trUtf8('Ctrl+S')) + self.FileSaveAsItem.setText(MainWindow.trUtf8('Save &As...')) + self.FileSaveAsItem.setToolTip(MainWindow.trUtf8('Save Service As')) self.FileSaveAsItem.setStatusTip( - self.trUtf8('Save the current service under a new name')) - self.FileSaveAsItem.setShortcut(self.trUtf8('F12')) - self.FileExitItem.setText(self.trUtf8('E&xit')) - self.FileExitItem.setStatusTip(self.trUtf8('Quit OpenLP')) - self.FileExitItem.setShortcut(self.trUtf8('Alt+F4')) - self.ImportThemeItem.setText(self.trUtf8('&Theme')) - self.ImportLanguageItem.setText(self.trUtf8('&Language')) - self.ExportThemeItem.setText(self.trUtf8('&Theme')) - self.ExportLanguageItem.setText(self.trUtf8('&Language')) - self.actionLook_Feel.setText(self.trUtf8('Look && &Feel')) - self.OptionsSettingsItem.setText(self.trUtf8('&Settings')) - self.ViewMediaManagerItem.setText(self.trUtf8('&Media Manager')) - self.ViewMediaManagerItem.setToolTip(self.trUtf8('Toggle Media Manager')) + MainWindow.trUtf8('Save the current service under a new name')) + self.FileSaveAsItem.setShortcut(MainWindow.trUtf8('F12')) + self.FileExitItem.setText(MainWindow.trUtf8('E&xit')) + self.FileExitItem.setStatusTip(MainWindow.trUtf8('Quit OpenLP')) + self.FileExitItem.setShortcut(MainWindow.trUtf8('Alt+F4')) + self.ImportThemeItem.setText(MainWindow.trUtf8('&Theme')) + self.ImportLanguageItem.setText(MainWindow.trUtf8('&Language')) + self.ExportThemeItem.setText(MainWindow.trUtf8('&Theme')) + self.ExportLanguageItem.setText(MainWindow.trUtf8('&Language')) + self.actionLook_Feel.setText(MainWindow.trUtf8('Look && &Feel')) + self.OptionsSettingsItem.setText(MainWindow.trUtf8('&Settings')) + self.ViewMediaManagerItem.setText(MainWindow.trUtf8('&Media Manager')) + self.ViewMediaManagerItem.setToolTip(MainWindow.trUtf8('Toggle Media Manager')) self.ViewMediaManagerItem.setStatusTip( - self.trUtf8('Toggle the visibility of the Media Manager')) - self.ViewMediaManagerItem.setShortcut(self.trUtf8('F8')) - self.ViewThemeManagerItem.setText(self.trUtf8('&Theme Manager')) - self.ViewThemeManagerItem.setToolTip(self.trUtf8('Toggle Theme Manager')) + MainWindow.trUtf8('Toggle the visibility of the Media Manager')) + self.ViewMediaManagerItem.setShortcut(MainWindow.trUtf8('F8')) + self.ViewThemeManagerItem.setText(MainWindow.trUtf8('&Theme Manager')) + self.ViewThemeManagerItem.setToolTip(MainWindow.trUtf8('Toggle Theme Manager')) self.ViewThemeManagerItem.setStatusTip( - self.trUtf8('Toggle the visibility of the Theme Manager')) - self.ViewThemeManagerItem.setShortcut(self.trUtf8('F10')) - self.ViewServiceManagerItem.setText(self.trUtf8('&Service Manager')) + MainWindow.trUtf8('Toggle the visibility of the Theme Manager')) + self.ViewThemeManagerItem.setShortcut(MainWindow.trUtf8('F10')) + self.ViewServiceManagerItem.setText(MainWindow.trUtf8('&Service Manager')) self.ViewServiceManagerItem.setToolTip( - self.trUtf8('Toggle Service Manager')) + MainWindow.trUtf8('Toggle Service Manager')) self.ViewServiceManagerItem.setStatusTip( - self.trUtf8('Toggle the visibility of the Service Manager')) - self.ViewServiceManagerItem.setShortcut(self.trUtf8('F9')) - self.action_Preview_Panel.setText(self.trUtf8('&Preview Panel')) - self.action_Preview_Panel.setToolTip(self.trUtf8('Toggle Preview Panel')) + MainWindow.trUtf8('Toggle the visibility of the Service Manager')) + self.ViewServiceManagerItem.setShortcut(MainWindow.trUtf8('F9')) + self.action_Preview_Panel.setText(MainWindow.trUtf8('&Preview Panel')) + self.action_Preview_Panel.setToolTip(MainWindow.trUtf8('Toggle Preview Panel')) self.action_Preview_Panel.setStatusTip( - self.trUtf8('Toggle the visibility of the Preview Panel')) - self.action_Preview_Panel.setShortcut(self.trUtf8('F11')) - self.PluginItem.setText(self.trUtf8('&Plugin List')) - self.PluginItem.setStatusTip(self.trUtf8('List the Plugins')) - self.PluginItem.setShortcut(self.trUtf8('Alt+F7')) - self.HelpDocumentationItem.setText(self.trUtf8('&User Guide')) - self.HelpAboutItem.setText(self.trUtf8('&About')) + MainWindow.trUtf8('Toggle the visibility of the Preview Panel')) + self.action_Preview_Panel.setShortcut(MainWindow.trUtf8('F11')) + self.PluginItem.setText(MainWindow.trUtf8('&Plugin List')) + self.PluginItem.setStatusTip(MainWindow.trUtf8('List the Plugins')) + self.PluginItem.setShortcut(MainWindow.trUtf8('Alt+F7')) + self.HelpDocumentationItem.setText(MainWindow.trUtf8('&User Guide')) + self.HelpAboutItem.setText(MainWindow.trUtf8('&About')) self.HelpAboutItem.setStatusTip( - self.trUtf8('More information about OpenLP')) - self.HelpAboutItem.setShortcut(self.trUtf8('Ctrl+F1')) - self.HelpOnlineHelpItem.setText(self.trUtf8('&Online Help')) - self.HelpWebSiteItem.setText(self.trUtf8('&Web Site')) - self.LanguageTranslateItem.setText(self.trUtf8('&Translate')) - self.LanguageTranslateItem.setStatusTip( - self.trUtf8('Translate the interface to your language')) - self.LanguageEnglishItem.setText(self.trUtf8('English')) - self.LanguageEnglishItem.setStatusTip( - self.trUtf8('Set the interface language to English')) - self.ToolsAddToolItem.setText(self.trUtf8('Add &Tool...')) + MainWindow.trUtf8('More information about OpenLP')) + self.HelpAboutItem.setShortcut(MainWindow.trUtf8('Ctrl+F1')) + self.HelpOnlineHelpItem.setText(MainWindow.trUtf8('&Online Help')) + self.HelpWebSiteItem.setText(MainWindow.trUtf8('&Web Site')) + #i18n + self.AutoLanguageItem.setText(MainWindow.trUtf8('&Auto Detect')) + self.AutoLanguageItem.setStatusTip( + MainWindow.trUtf8('Choose System language, if available')) + for item in self.LanguageItem: + self.LanguageItem[item].setText(self.LanguageItem[item].objectName()) + self.LanguageItem[item].setStatusTip( + MainWindow.trUtf8('Set the interface language to %1').arg(self.LanguageItem[item].objectName())) + self.ToolsAddToolItem.setText(MainWindow.trUtf8('Add &Tool...')) self.ToolsAddToolItem.setStatusTip( - self.trUtf8('Add an application to the list of tools')) - self.action_Preview_Panel.setText(self.trUtf8('&Preview Pane')) - self.ModeLiveItem.setText(self.trUtf8('&Live')) + MainWindow.trUtf8('Add an application to the list of tools')) + self.action_Preview_Panel.setText(MainWindow.trUtf8('&Preview Pane')) + self.ModeLiveItem.setText(MainWindow.trUtf8('&Live')) class MainWindow(QtGui.QMainWindow, Ui_MainWindow): @@ -511,6 +533,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.QObject.connect(self.FileSaveAsItem, QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onSaveService) + #i18n set signals for languages + QtCore.QObject.connect(self.AutoLanguageItem, + QtCore.SIGNAL(u'toggled(bool)'), + self.setAutoLanguage) + self.LanguageGroup.triggered.connect(LanguageManager.setLanguage) #warning cyclic dependency #RenderManager needs to call ThemeManager and #ThemeManager needs to call RenderManager @@ -552,6 +579,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): log.info(u'Load data from Settings') self.settingsForm.postSetUp() + #i18n + def setAutoLanguage(self, value): + self.LanguageGroup.setEnabled(not value) + LanguageManager.__AutoLanguage__ = value + LanguageManager.setLanguage(self.LanguageGroup.checkedAction()) + def versionCheck(self, version): """ Checks the version of the Application called from openlp.pyw diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 12fc4a293..e4edd420a 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -151,5 +151,6 @@ def variant_to_unicode(variant): from registry import Registry from confighelper import ConfigHelper +from languagemanager import LanguageManager -__all__ = [u'Registry', u'ConfigHelper', u'AppLocation', u'check_latest_version'] +__all__ = [u'Registry', u'ConfigHelper', u'AppLocation', u'LanguageManager', u'check_latest_version'] diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py new file mode 100644 index 000000000..7f2b92fcf --- /dev/null +++ b/openlp/core/utils/languagemanager.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2010 Raoul Snyman # +# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # +# Thompson, Jon Tibble, Carsten Tinggaard # +# --------------------------------------------------------------------------- # +# This program is free software; you can redistribute it and/or modify it # +# under the terms of the GNU General Public License as published by the Free # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### + +import logging + +from PyQt4 import QtCore, QtGui +import os +from openlp.core.utils import AppLocation, ConfigHelper +#from openlp.core.ui import MainWindow +#import i18n_rc + +class LanguageManager(object): + """ + Helper for Language selection + """ + __qmList__ = None + __AutoLanguage__ = None + + @staticmethod + def getTranslator(language): + if LanguageManager.__AutoLanguage__ is True: + language = QtCore.QLocale.system().name() + lang_Path = AppLocation.get_directory(AppLocation.AppDir) + lang_Path = os.path.join(lang_Path, u'resources', u'i18n') + appTranslator = QtCore.QTranslator() + if appTranslator.load("openlp_" + language, lang_Path): + return appTranslator + + @staticmethod + def findQmFiles(): + trans_dir = AppLocation.get_directory(AppLocation.AppDir) + trans_dir = QtCore.QDir(os.path.join(trans_dir, u'resources', u'i18n')) + fileNames = trans_dir.entryList(QtCore.QStringList("*.qm"), + QtCore.QDir.Files, QtCore.QDir.Name) + for i in fileNames: + fileNames.replaceInStrings(i, trans_dir.filePath(i)) + return fileNames + + @staticmethod + def languageName(qmFile): + translator = QtCore.QTranslator() + translator.load(qmFile) + + return translator.translate(u'MainWindow', u'English') + + @staticmethod + def getLanguage(): + language = ConfigHelper.get_registry().get_value(u'general', u'language', u'[en]') + print "getLanguage %s" % language + regEx = QtCore.QRegExp("^\[(.*)\]") + if regEx.exactMatch(language): + LanguageManager.__AutoLanguage__ = True + language = regEx.cap(1) + return language + + @staticmethod + def setLanguage(action): + actionName = u'%s' % action.objectName() + qmList = LanguageManager.getQmList() + if LanguageManager.__AutoLanguage__ == True: + language = u'[%s]' % qmList[actionName] + else: + language = u'%s' % qmList[actionName] + print "setLanguage: %s" % language + ConfigHelper.set_config(u'general', u'language', language) + QtGui.QMessageBox.information(None, + u'Language', u'After restart new Language settings will be used.') + + @staticmethod + def initQmList(): + LanguageManager.__qmList__ = {} + qmFiles = LanguageManager.findQmFiles() + for i, qmf in enumerate(qmFiles): + regEx = QtCore.QRegExp("^.*openlp_(.*).qm") + if regEx.exactMatch(qmf): + langName = regEx.cap(1) + LanguageManager.__qmList__[u'%i %s' % (i, LanguageManager.languageName(qmf))] = langName + + @staticmethod + def getQmList(): + if LanguageManager.__qmList__ == None: + LanguageManager.initQmList() + return LanguageManager.__qmList__ + diff --git a/resources/i18n/openlp_af.qm b/resources/i18n/openlp_af.qm new file mode 100644 index 0000000000000000000000000000000000000000..58b2f37c46413f2353c6d2b8010ff92a8470e13f GIT binary patch literal 34261 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 Koqdfwo&OJYJqCsV literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_de.qm b/resources/i18n/openlp_de.qm new file mode 100644 index 0000000000000000000000000000000000000000..40563e3126991a2ae329f023b373dcd8bd04d246 GIT binary patch literal 36265 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 ZU%N#4BPb=^-O - - - AboutForm - - - build - - - - - AlertsTab - - - pt - - - - - Location: - - - - - Font Color: - - - - - Font - - - - - Font Name: - - - - - Preview - - - - - Alerts - - - - - Alert timeout: - - - - - openlp.org - - - - - Keep History: - - - - - Background Color: - - - - - s - - - - - Bottom - - - - - Top - - - - - Font Size: - - - - - Save - - - - - Clear - - - - - Add - - - - - Edit - - - - - Delete - - - - - Item selected to Add - - - - - Missing data - - - - - AmendThemeForm - - - Slide Height is %s rows - - - - - First Color: - - - - - Second Color: - - - - - Background Color: - - - - - AuthorsForm - - - You need to type in the first name of the author. - - - - - You haven't set a display name for the author, would you like me to combine the first and last names for you? - - - - - Error - - - - - You need to type in the last name of the author. - - - - - BibleMediaItem - - - Quick - - - - - Bible - - - - - Book: - - - - - Text Search - - - - - Find: - - - - - Search Type: - - - - - Bible not fully loaded - - - - - No matching book could be found in this Bible. - - - - - Dual: - - - - - Chapter: - - - - - Search - - - - - Keep - - - - - Results: - - - - - Verse Search - - - - - Version: - - - - - From: - - - - - No Book Found - - - - - Advanced - - - - - To: - - - - - Clear - - - - - Verse: - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - - BiblesTab - - - ( and ) - - - - - verse per line - - - - - Display Style: - - - - - continuous - - - - - [ and ] - - - - - Verse Display - - - - - Display Dual Bible Verses - - - - - Only show new chapter numbers - - - - - Layout Style: - - - - - No brackets - - - - - Bibles - - - - - { and } - - - - - Note: -Changes don't affect verses already in the service - - - - - verse per slide - - - - - Bible Theme: - - - - - CustomMediaItem - - - Custom - - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomTab - - - Custom - - - - - Display Footer: - - - - - Custom Display - - - - - EditCustomForm - - - You have unsaved data - - - - - You need to enter a title - - - - - Error - - - - - You need to enter a slide - - - - - Save && Preview - - - - - EditSongForm - - - You need to enter a song title. - - - - - You need to enter some verses. - - - - - Save && Preview - - - - - Error - - - - - bitped - - - - - v - - - - - c - - - - - Invalid verse entry - Vx or Cx - - - - - Invalid verse entry, values must be I,B,T,P,E,O,Vx,Cx - - - - - EditVerseForm - - - Verse - - - - - Chrous - - - - - GeneralTab - - - CCLI Details - - - - - primary - - - - - Application Startup - - - - - Select monitor for output display: - - - - - Application Settings - - - - - SongSelect Username: - - - - - CCLI Number: - - - - - Automatically open the last service - - - - - Preview Next Song from Service Manager - - - - - Show blank screen warning - - - - - Prompt to save Service before starting New - - - - - General - - - - - Show the splash screen - - - - - Screen - - - - - Monitors - - - - - SongSelect Password: - - - - - Display if in single screen - - - - - ImageMediaItem - - - Select Image(s) - - - - - Image(s) - - - - - Image - - - - - Images (*.jpg *.jpeg *.gif *.png *.bmp);; All files (*) - - - - - Replace Live Background - - - - - No item selected - - - - - You must select one item - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImageTab - - - sec - - - - - Image Settings - - - - - Slide Loop Delay: - - - - - Images - - - - - ImportWizardForm - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Bible Location - - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - - Bible Exists - - - - - Empty Copyright - - - - - Empty Version Name - - - - - Invalid OpenSong Bible - - - - - Your Bible import failed. - - - - - Finished import. - - - - - You need to specify a file of Bible verses to import. - - - - - You need to specify a version name for your Bible. - - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Starting import... - - - - - Invalid Books File - - - - - You need to specify a file to import your Bible from. - - - - - You need to specify an OpenSong Bible file to import. - - - - - Invalid Verse File - - - - - Open OpenSong Bible - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - MainWindow - - - The Main Display has been blanked out - - - - - OpenLP Version Updated - - - - - Save Changes to Service? - - - - - Your service has changed, do you want to save those changes? - - - - - OpenLP Main Display Blanked - - - - - Version %s of OpenLP is now available for download (you are currently running version %s). - -You can download the latest version from http://openlp.org - - - - - MediaManagerItem - - - &Preview - - - - - You must select one or more items - - - - - Load a new - - - - - Delete the selected item - - - - - &Edit - - - - - &Add to Service - - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - Edit the selected - - - - - Add a new - - - - - &Show Live - - - - - Preview the selected item - - - - - Import a - - - - - &Delete - - - - - &Add to selected Service Item - - - - - No Items Selected - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select a existing service item to add to. - - - - - Invalid Service Item - - - - - MediaMediaItem - - - Media - - - - - Select Media - - - - - Videos (%s);;Audio (%s);;All files (*) - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - - - - - OpenSongBible - - - Importing - - - - - PresentationMediaItem - - - Presentation - - - - - Present using: - - - - - Automatic - - - - - A presentation with that filename already exists. - - - - - Select Presentation(s) - - - - - File exists - - - - - Presentations (%s) - - - - - PresentationPlugin - - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. - - - - - PresentationTab - - - Available Controllers - - - - - available - - - - - Presentations - - - - - RemoteTab - - - Remotes - - - - - Remotes Receiver Port - - - - - RemotesPlugin - - - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer.<br>The Primary use for this would be to send alerts from a creche - - - - - ServiceManager - - - Save Changes to Service? - - - - - Open Service - - - - - Move to top - - - - - Create a new service - - - - - Save this service - - - - - Theme: - - - - - Delete From Service - - - - - Save Service - - - - - &Live Verse - - - - - Move to &top - - - - - New Service - - - - - &Notes - - - - - Move to end - - - - - Your service is unsaved, do you want to save those changes before creating a new one ? - - - - - &Delete From Service - - - - - Move up order - - - - - Move down order - - - - - Move &down - - - - - Load an existing service - - - - - &Preview Verse - - - - - Move &up - - - - - &Edit Item - - - - - Move to &bottom - - - - - &Maintain Item - - - - - SlideController - - - Move to previous - - - - - Go to Verse - - - - - Start continuous loop - - - - - Live - - - - - Start playing media - - - - - Move to live - - - - - Preview - - - - - Move to last - - - - - Edit and re-preview Song - - - - - Delay between slides in seconds - - - - - Move to next - - - - - Move to first - - - - - Blank Screen - - - - - Verse - - - - - Stop continuous loop - - - - - s - - - - - Theme Screen - - - - - Hide Screen - - - - - Chorus - - - - - SongBookForm - - - Error - - - - - You need to type in a book name! - - - - - SongMaintenanceForm - - - Are you sure you want to delete the selected book? - - - - - Couldn't save your author. - - - - - This author can't be deleted, they are currently assigned to at least one song. - - - - - Couldn't add your book. - - - - - Error - - - - - No author selected! - - - - - Couldn't add your topic. - - - - - This book can't be deleted, it is currently assigned to at least one song. - - - - - Delete Book - - - - - No book selected! - - - - - Are you sure you want to delete the selected author? - - - - - Couldn't add your author. - - - - - Couldn't save your topic. - - - - - Couldn't save your book. - - - - - Delete Topic - - - - - Delete Author - - - - - No topic selected! - - - - - This topic can't be deleted, it is currently assigned to at least one song. - - - - - Are you sure you want to delete the selected topic? - - - - - SongMediaItem - - - CCLI Licence: - - - - - Song - - - - - Maintain the lists of authors, topics and books - - - - - Lyrics - - - - - Type: - - - - - Titles - - - - - Clear - - - - - Search - - - - - Authors - - - - - Search: - - - - - Song Maintenance - - - - - %s (%s) - - - - - Delete song? - - - - - Delete %d song? - - - - - Delete Confirmation - - - - - SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongUsageDetailForm - - - Output File Location - - - - - SongUsagePlugin - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - - - - - SongsPlugin - - - <b>Song Plugin</b> <br>This plugin allows Songs to be managed and displayed.<br> - - - - - Open Songs of Fellowship file - - - - - SongsTab - - - Display Verses on Live Tool bar: - - - - - Enable search as you type: - - - - - Songs Mode - - - - - Songs - - - - - ThemeManager - - - Import Theme - - - - - Create a new theme - - - - - Delete Theme - - - - - Error - - - - - Make Global - - - - - Delete a theme - - - - - File is not a valid theme. - - - - - Edit a theme - - - - - Edit Theme - - - - - Export Theme - - - - - You are unable to delete the default theme. - - - - - Theme Exists - - - - - Delete theme - - - - - Save Theme - (%s) - - - - - default - - - - - Select Theme Import File - - - - - New Theme - - - - - Import a theme - - - - - Export theme - - - - - You have not selected a theme. - - - - - A theme with this name already exists, would you like to overwrite it? - - - - - Export a theme - - - - - Theme %s is use in %s plugin - - - - - Theme %s is use by Service Manager - - - - - ThemesTab - - - Theme level - - - - - Global theme - - - - - Use the global theme, overriding any themes associated with either the service or the songs. - - - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - - - - - Service level - - - - - Global level - - - - - Song level - - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - - Themes - - - - - TopicsForm - - - You need to type in a topic name! - - - - - Error - - - - - Ui_AboutDialog - - - Close - - - - - License - - - - - Credits - - - - - About OpenLP - - - - - About - - - - - Contribute - - - - - OpenLP <version><revision> - Open Source Lyrics Projection - -OpenLP is free church presentation software, or lyrics projection software, used to display slides of songs, Bible verses, videos, images, and even presentations (if OpenOffice.org, PowerPoint or PowerPoint Viewer is installed) for church worship using a computer and a data projector. - -Find out more about OpenLP: http://openlp.org/ - -OpenLP is written and maintained by volunteers. If you would like to see more free Christian software being written, please consider contributing by using the button below. - - - - - Project Lead - Raoul "superfly" Snyman - -Developers - Tim "TRB143" Bentley - Jonathan "gushie" Corwin - Michael "cocooncrash" Gorven - Scott "sguerrieri" Guerrieri - Raoul "superfly" Snyman - Martin "mijiti" Thompson - Jon "Meths" Tibble - -Contributors - Meinert "m2j" Jordan - Christian "crichter" Richter - Maikel Stuivenberg - Carsten "catini" Tingaard - -Testers - Philip "Phill" Ridout - Wesley "wrst" Stout (lead) - -Packagers - Thomas "tabthorpe" Abthorpe (FreeBSD) - Tim "TRB143" Bentley (Fedora) - Michael "cocooncrash" Gorven (Ubuntu) - Matthias "matthub" Hub (Mac OS X) - Raoul "superfly" Snyman (Windows) - - - - - - Copyright - - - - - Ui_AlertDialog - - - Display - - - - - Alert Message - - - - - Alert Text: - - - - - Cancel - - - - - Ui_AmendThemeDialog - - - Shadow Size: - - - - - Slide Transition - - - - - Bottom - - - - - Image - - - - - Height: - - - - - Outline - - - - - Main Font - - - - - Solid Color - - - - - Font Main - - - - - Use Default Location: - - - - - Other Options - - - - - Shadow - - - - - Italics - - - - - Background: - - - - - X Position: - - - - - Center - - - - - <Color2> - - - - - Opaque - - - - - Outline Color: - - - - - Alignment - - - - - Normal - - - - - Bold - - - - - Footer Font - - - - - Theme Maintenance - - - - - <Color1> - - - - - Font Footer - - - - - Font Weight: - - - - - Transparent - - - - - Background - - - - - Vertical - - - - - Width: - - - - - Middle - - - - - Shadow Color: - - - - - Vertical Align: - - - - - Top - - - - - Right - - - - - Font Color: - - - - - Horizontal - - - - - Circular - - - - - pt - - - - - px - - - - - Display Location - - - - - Y Position: - - - - - Show Shadow: - - - - - Font: - - - - - Preview - - - - - Outline Size: - - - - - Wrap Indentation - - - - - Left - - - - - Theme Name: - - - - - Image: - - - - - Transition Active: - - - - - Size: - - - - - Gradient : - - - - - Bold/Italics - - - - - Horizontal Align: - - - - - Background Type: - - - - - Show Outline: - - - - - Gradient - - - - - Ui_AuthorsDialog - - - Last name: - - - - - First name: - - - - - Author Maintenance - - - - - Display name: - - - - - Ui_BibleImportWizard - - - Bible Import Wizard - - - - - Bible: - - - - - Crosswalk - - - - - CSV - - - - - OpenSong - - - - - File Location: - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - - Copyright: - - - - - Verse Location: - - - - - Server: - - - - - Permission: - - - - - Select Import Source - - - - - Set up the Bible's license details. - - - - - BibleGateway - - - - - Username: - - - - - Download Options - - - - - Location: - - - - - Bible Filename: - - - - - Format: - - - - - Importing - - - - - License Details - - - - - OSIS - - - - - Web Download - - - - - Please wait while your Bible is imported. - - - - - Select the import format, and where to import from. - - - - - Proxy Server (Optional) - - - - - Welcome to the Bible Import Wizard - - - - - Password: - - - - - Version Name: - - - - - Ready. - - - - - Books Location: - - - - - Ui_EditSongDialog - - - &Remove - - - - - Alternative Title: - - - - - Add a Theme - - - - - R&emove - - - - - Verse Order: - - - - - Title && Lyrics - - - - - Theme - - - - - Authors, Topics && Book - - - - - Copyright Information - - - - - Topic - - - - - Lyrics: - - - - - Edit - - - - - Authors - - - - - Song Editor - - - - - Delete - - - - - &Add to Song - - - - - CCLI Number: - - - - - Add - - - - - Theme, Copyright Info && Comments - - - - - Song Book - - - - - Edit All - - - - - A&dd to Song - - - - - Title: - - - - - Comments - - - - - &Manage Authors, Topics, Books - - - - - Ui_EditVerseDialog - - - Verse - - - - - Ending - - - - - Number - - - - - Other - - - - - Bridge - - - - - Pre-Chorus - - - - - Edit Verse - - - - - Intro - - - - - Chorus - - - - - Verse Type - - - - - Ui_MainWindow - - - Open an existing service - - - - - &File - - - - - List the Plugins - - - - - &Service Manager - - - - - Open Service - - - - - Media Manager - - - - - Alt+F4 - - - - - Toggle the visibility of the Preview Panel - - - - - &User Guide - - - - - Set the interface language to English - - - - - &Import - - - - - Quit OpenLP - - - - - &Preview Panel - - - - - &New - - - - - Default Theme: - - - - - Toggle Preview Panel - - - - - &Settings - - - - - &Live - - - - - English - - - - - F9 - - - - - F8 - - - - - Save the current service to disk - - - - - Add &Tool... - - - - - &View - - - - - &Export - - - - - &Open - - - - - Toggle Theme Manager - - - - - &Options - - - - - Ctrl+S - - - - - Ctrl+O - - - - - Ctrl+N - - - - - E&xit - - - - - &Help - - - - - Toggle Service Manager - - - - - Ctrl+F1 - - - - - Save the current service under a new name - - - - - &Web Site - - - - - M&ode - - - - - Translate the interface to your language - - - - - Service Manager - - - - - &Theme - - - - - &Language - - - - - &About - - - - - &Plugin List - - - - - &Translate - - - - - New Service - - - - - &Online Help - - - - - Save Service - - - - - Save &As... - - - - - Toggle the visibility of the Media Manager - - - - - F11 - - - - - F10 - - - - - F12 - - - - - Alt+F7 - - - - - Add an application to the list of tools - - - - - Theme Manager - - - - - Toggle the visibility of the Theme Manager - - - - - &Preview Pane - - - - - Save Service As - - - - - Toggle the visibility of the Service Manager - - - - - More information about OpenLP - - - - - &Media Manager - - - - - &Tools - - - - - Toggle Media Manager - - - - - Create a new Service - - - - - &Theme Manager - - - - - &Save - - - - - OpenLP 2.0 - - - - - Look && &Feel - - - - - Ui_OpenLPExportDialog - - - Song Title - - - - - Title - - - - - Select openlp.org export filename: - - - - - Close - - - - - Export - - - - - Lyrics - - - - - Full Song List - - - - - Progress: - - - - - Remove Selected - - - - - Author - - - - - openlp.org Song Exporter - - - - - Song Export List - - - - - Ready to export - - - - - Select All - - - - - Ui_OpenLPImportDialog - - - Author - - - - - Ready to import - - - - - Progress: - - - - - openlp.org Song Importer - - - - - Song Import List - - - - - Import File Song List - - - - - Close - - - - - Select openlp.org songfile to import: - - - - - Lyrics - - - - - Import - - - - - Song Title - - - - - Select All - - - - - Title - - - - - Remove Selected - - - - - Ui_OpenSongExportDialog - - - Close - - - - - Lyrics - - - - - Song Title - - - - - Select All - - - - - Song Export List - - - - - Author - - - - - Title - - - - - OpenSong Song Exporter - - - - - Remove Selected - - - - - Progress: - - - - - Select OpenSong song folder: - - - - - Ready to export - - - - - Export - - - - - Full Song List - - - - - Ui_OpenSongImportDialog - - - OpenSong Folder: - - - - - Import - - - - - Close - - - - - Progress: - - - - - OpenSong Song Importer - - - - - Ready to import - - - - - Ui_PluginViewDialog - - - Plugin Details - - - - - Active - - - - - Status: - - - - - Version: - - - - - TextLabel - - - - - About: - - - - - Inactive - - - - - Plugin List - - - - - Ui_ServiceItemEditDialog - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - Ui_ServiceNoteEdit - - - Service Item Notes - - - - - Ui_SettingsDialog - - - Settings - - - - - Ui_SongBookDialog - - - Name: - - - - - Edit Book - - - - - Publisher: - - - - - Ui_SongMaintenanceDialog - - - Edit - - - - - Topics - - - - - Add - - - - - Authors - - - - - Delete - - - - - Song Maintenance - - - - - Books/Hymnals - - - - - Ui_SongUsageDeleteDialog - - - Song Usage Delete - - - - - Ui_SongUsageDetailDialog - - - Report Location - - - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Ui_TopicsDialog - - - Topic name: - - - - - Topic Maintenance - - - - - Ui_customEditDialog - - - Delete selected slide - - - - - Edit selected slide - - - - - Edit All - - - - - Add new slide at bottom - - - - - Clear - - - - - Delete - - - - - Theme: - - - - - Move slide Up 1 - - - - - Title: - - - - - Credits: - - - - - Edit Custom Slides - - - - - Edit all slides - - - - - Save - - - - - Replace edited slide - - - - - Move slide down 1 - - - - - Set Theme for Slides - - - - - Edit - - - - - Add New - - - - - Clear edit area - - - - - alertsPlugin - - - Show an alert message - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - &Alert - - - - - export_menu - - - &Bible - - - - - &Song - - - - - OpenSong - - - - - openlp.org 1.0 - - - - - OpenLP 2.0 - - - - - import_menu - - - &Bible - - - - - &Song - - - - - OpenSong - - - - - openlp.org 1.0 - - - - - Import songs in openlp.org 1.0 format - - - - - OpenLP 2.0 - - - - - Import songs in OpenLP 2.0 format - - - - - Songs of Fellowship - - - - - Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - - - - - self.ImportSongMenu - - - Import Error - - - - - Error importing Songs of Fellowship file. -OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - - - - - self.splash_screen - - - Starting - - - - - Splash Screen - - - - - tools_menu - - - &Song Usage - - - - - &Delete recorded data - - - - - Delete song usage to specified date - - - - - &Extract recorded data - - - - - Generate report on Song Usage - - - - - Song Usage Status - - - - - Start/Stop live song usage recording - - - - diff --git a/resources/i18n/openlp_en_GB.qm b/resources/i18n/openlp_en_GB.qm new file mode 100644 index 0000000000000000000000000000000000000000..ba67f92d1960c5aacc9ce47122b14b490c06e614 GIT binary patch literal 31723 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 literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_en_ZA.qm b/resources/i18n/openlp_en_ZA.qm new file mode 100644 index 0000000000000000000000000000000000000000..f4c8ca5eafd0a08ce80cc88cf1fed7ed450319f7 GIT binary patch literal 22938 zcmcIs33%1TwV#{Z$#QdZ6C=imF2;C=$p8BH7Hn5dmvIOIz!T zb*o$Lvs!EGT5M~RpQlvxDkXo>s{zWCD$D@ZSa>YpnfQIY zQcX7jo}|=_?*Oh*YRNLdvn;$$sdbz2`*xLg&y#?UsOXi$0AEnipS%e8M-|-?RVos( z@E{9kTX?pLzTATR?tXLg8<)9Q?7a(w2G;wb1|Oip%$KQ;k|0c-_c%lo0^$=5AaiU+^BCV zrHd@ASH~TB1%6Mru*<^hEquQWeo7gYTi*V0X}Hqb~SIwCj9=JntuW2y{J^p{|NI|G(pY( z>vX_Y)v^(EE&7&PbjL3NuU04Q^$y@2YH{%dz!%iwN3T_?xJoVl$7g_ts+0bF1mG04 zqy+RRKEc9sExcbXS@|i_f2~d~K)uC(P$xePx)gt5V64W%8LI8g_mzsBqR#)%p@8ev z1?xbU*cIx^HCqAiQP+R#4}kBgTgITik|WjD@1VVsx#~Bot_OTZy*MQe_i^!=9#{s@?U}8+9^=a@&VsWH%3D`ZcA<}a&=$yDKa`rE- z0sNoHb$d<4@){i3{1y18?C8joQ}zQ~9(n$`Nq`qbUe3D#@b1X#=VG49UNW$}DDuGv ze^jb`R9+EyT$LY}SNZtGfM3r`K8SHuMDvD>{v7a_yx~7ae#QE{Nh`VmZ_it_3~PAr z`n)Ty|1sb>c{d$V3wTrBBRl#4pUnH@vOAO-6wCYj6Hfpho*(}{#y@CQe%Y3dfNSy( zn6nV@^8DoKp!cAA^N(-b4){v`f{`aEwNHNjQr5fAY5D0PmjYgt|HB^4|2|vuAK8KO z`+SxE@>5qRRau+=g}~YQe?6`lzkBlkzKQ9VMT@>{0Q@joUOQH)eG8)p-uM#W(&*4B z3jpto4m)Tw;CslIEPxggxH)=t*^dBEi(YrqF99!z z{AB4>8^Y-qWQwgI+az=?Sgx0Z!5rHueBspeNos9Pl zk6ZYGfd?LF;e0)J_9Gqgb8 zbvM$79$?||fJ|SmAFMbHaGidv>2H9y=x3|u06wkXeDFcQ9r~Rge5uqyds}$Cg&Qq= zxFBy3*4II=6;yPfo?-a~72DqfTu?A*GWd5`x?u1>z<0y0EI9i7TEK@3=H2@m;I@Lr zy%_(ne-td8e}q!Qs|!}P-Vb<8!Rl#{&%;kDIDHN9hi@#{P_!NJM+HB-ehc8k1&`lw zFyLzjjwrM6n1Wx`@1xX+MFrbG#=0KSU8uL82zYbhK}D|v{;qIb$6%!nt|>g`4vg#I zrotJ?3jsR{Pg8|}7g_jlVNVOz#lf!?uKoK$rAC$&o_$UiV140tFGKl}I}0y-cCAu} zv=m_gOBdtc#J z4ZEQB)xzJN^f}-^3t!n(r_`u1g>QZG1Yk$u_O}RcEXv#KZNL|cqMI)R{G>=1jZ
    ME7qq%zK+?yc-ieK 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 F{{i+YlWPC~ literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_hu.qm b/resources/i18n/openlp_hu.qm new file mode 100644 index 0000000000000000000000000000000000000000..c6632c745835ec60cfe298ae528ff8d11cc9f320 GIT binary patch literal 35270 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 IBd?$TFRNd&`Tzg` literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_ko.qm b/resources/i18n/openlp_ko.qm new file mode 100644 index 0000000000000000000000000000000000000000..5a91048541b8c6c29bfe0edd019360a8936f1ff9 GIT binary patch literal 462 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 H?Be|oD>Q=; literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_pt_BR.qm b/resources/i18n/openlp_pt_BR.qm new file mode 100644 index 0000000000000000000000000000000000000000..47d0b78c8865880e9961adf106de12ed8bbc3ff5 GIT binary patch literal 35931 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 literal 0 HcmV?d00001 diff --git a/resources/i18n/openlp_sv.qm b/resources/i18n/openlp_sv.qm new file mode 100644 index 0000000000000000000000000000000000000000..cd3485ece4368db4359f7bbd5bd3df2cf0ccf488 GIT binary patch literal 37049 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 De-u-% literal 0 HcmV?d00001 diff --git a/scripts/generate_pro.py b/scripts/translation_utils.py similarity index 62% rename from scripts/generate_pro.py rename to scripts/translation_utils.py index 3b3cff17f..edc61f5d6 100755 --- a/scripts/generate_pro.py +++ b/scripts/translation_utils.py @@ -36,10 +36,26 @@ ############################################################################### import os +from optparse import OptionParser +import urllib +from PyQt4 import QtCore ignore_pathes = ["./scripts", "./openlp/core/test"] ignore_files = ["setup.py"] - +translation_path = "http://pootle.projecthq.biz/export/openlp/" +translations = [ "af" + , "en_ZA" + , "en_GB" + , "de" + , "hu" + , "ko" + , "nb" + , "pt_BR" + , "es" + , "sv"] + + + def write_file(filename, stringlist): content = u'' for line in stringlist: @@ -49,6 +65,48 @@ def write_file(filename, stringlist): file.close() def main(): + # Set up command line options. + usage = u'Usage: %prog [options]' + parser = OptionParser(usage=usage) + parser.add_option("-d", "--download-ts", action="store_true", dest="download", + help="Load languages from Pootle Server") + parser.add_option("-p", "--prepare", action="store_true", dest="prepare", + help="preparation (generate pro file)") + parser.add_option("-u", "--update", action="store_true", dest="update", + help="update translation files") + parser.add_option("-g", "--generate", action="store_true", dest="generate", + help="generate qm files") + parser.add_option("-a", "--all", action="store_true", dest="all", + help="proceed all options") + + (options, args) = parser.parse_args() + qt_args = [] + if options.download: + downloadTranslations() + elif options.prepare: + preparation() + elif options.update: + update() + elif options.generate: + generate() + elif options.all: + all() + else: + pass + +def downloadTranslations(): + print "download()" + for language in translations: + filename = os.path.join('..','resources', 'i18n', "openlp_%s.ts" % language) + print filename + page = urllib.urlopen("%s%s.ts" % (translation_path, language)) + content = page.read().decode("utf8") + page.close() + file = open(filename, u'w') + file.write(content.encode('utf8')) + file.close() + +def preparation(): stringlist = [] start_dir = os.path.join(u'..') for root, dirs, files in os.walk(start_dir): @@ -73,10 +131,6 @@ def main(): if cond == True: continue -# if file.endswith(u'.ui'): -# line = "%s/%s" % (path, file) -# print u'Parsing "%s"' % line -# stringlist.append("FORMS += %s" % line) if file.endswith(u'.py'): line = "%s/%s" % (path, file) print u'Parsing "%s"' % line @@ -95,6 +149,27 @@ def main(): write_file(os.path.join(start_dir, u'openlp.pro'), stringlist) print u'done.' + +def update(): + print "update()" + updateProcess = QtCore.QProcess() + updateProcess.start("pylupdate4 -noobsolete ../openlp.pro") + updateProcess.waitForFinished(60000) + +def generate(): + print "generate()" + generateProcess = QtCore.QProcess() + generateProcess.start("lrelease ../openlp.pro") + generateProcess.waitForFinished(60000) + +def all(): + print "all()" + downloadTranslations() + preparation() + update() + generate() + + if __name__ == u'__main__': if os.path.split(os.path.abspath(u'.'))[1] != u'scripts': print u'You need to run this script from the scripts directory.'