From a35b50e7277b77104f0764d604fe7b0ae82e4362 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Jan 2011 22:14:56 +0100 Subject: [PATCH 01/90] reindex tool adds 'author unknown' if songs do not have any author --- openlp/plugins/songs/songsplugin.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 545497acb..63d104d24 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -32,7 +32,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.db import Manager from openlp.plugins.songs.lib import SongMediaItem, SongsTab, SongXMLParser -from openlp.plugins.songs.lib.db import init_schema, Song +from openlp.plugins.songs.lib.db import Author, init_schema, Song from openlp.plugins.songs.lib.importer import SongFormat log = logging.getLogger(__name__) @@ -146,6 +146,15 @@ class SongsPlugin(Plugin): counter = 0 for song in songs: counter += 1 + # The song does not have any author, add one. + if not song.authors: + name = unicode(translate('SongsPlugin', 'Author unknown')) + author = self.manager.get_object_filtered(Author, + Author.display_name == name) + if author is None: + author = Author.populate(first_name=name.rsplit(u' ', 1)[0], + last_name=name.rsplit(u' ', 1)[1], display_name=name) + song.authors.append(author) if song.title is None: song.title = u'' if song.alternate_title is None: From 8498b3e2ae4380f3fbed7a965570331702c862ee Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 10 Feb 2011 18:11:14 +0100 Subject: [PATCH 02/90] --- openlp/plugins/songs/songsplugin.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 37f11582a..2bd636097 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -149,12 +149,14 @@ class SongsPlugin(Plugin): counter += 1 # The song does not have any author, add one. if not song.authors: - name = unicode(translate('SongsPlugin', 'Author unknown')) + name = unicode(translate('SongsPlugin', 'Author unknown', + 'Translation must contain a blank character!')) author = self.manager.get_object_filtered(Author, Author.display_name == name) if author is None: - author = Author.populate(first_name=name.rsplit(u' ', 1)[0], - last_name=name.rsplit(u' ', 1)[1], display_name=name) + author = Author.populate( + first_name=name.split(u' ', 1)[:-1], + last_name=name.split(u' ', 1)[-1], display_name=name) song.authors.append(author) if song.title is None: song.title = u'' From 68d6bc46d682d3f87bf9b27461f01f7a8b797eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 14 Feb 2011 13:20:30 +0100 Subject: [PATCH 03/90] Comment 14.02.2011 --- openlp/plugins/songs/forms/songimportform.py | 46 ++++++++++++++++++++ openlp/plugins/songs/lib/importer.py | 7 ++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 433c9abfc..e07b8c019 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -140,6 +140,12 @@ class SongImportForm(OpenLPWizard): QtCore.QObject.connect(self.songBeamerRemoveButton, QtCore.SIGNAL(u'clicked()'), self.onSongBeamerRemoveButtonClicked) + QtCore.QObject.connect(self.foilPresenterAddButton, + QtCore.SIGNAL(u'clicked()'), + self.onFoilPresenterAddButtonClicked), + QtCore.QObject.connect(self.foilPresenterRemoveButton, + QtCore.SIGNAL(u'clicked()'), + self.onFoilPresenterRemoveButtonClicked) def addCustomPages(self): """ @@ -186,6 +192,8 @@ class SongImportForm(OpenLPWizard): self.addSingleFileSelectItem(u'ew') # Words of Worship self.addMultiFileSelectItem(u'songBeamer') + # Foilpresenter + self.addMultiFileSelectItem(u'foilPresenter') # Commented out for future use. # self.addSingleFileSelectItem(u'csv', u'CSV') self.sourceLayout.addLayout(self.formatStack) @@ -236,6 +244,8 @@ class SongImportForm(OpenLPWizard): translate('SongsPlugin.ImportWizardForm', 'EasyWorship')) self.formatComboBox.setItemText(10, translate('SongsPlugin.ImportWizardForm', 'SongBeamer')) + self.formatComboBox.setItemText(11, + translate('SongsPlugin.ImportWizardForm', 'FoilPresenter')) # self.formatComboBox.setItemText(11, # translate('SongsPlugin.ImportWizardForm', 'CSV')) self.openLP2FilenameLabel.setText( @@ -300,6 +310,10 @@ class SongImportForm(OpenLPWizard): translate('SongsPlugin.ImportWizardForm', 'Add Files...')) self.songBeamerRemoveButton.setText( translate('SongsPlugin.ImportWizardForm', 'Remove File(s)')) + self.foilPresenterAddButton.setText( + translate('SongsPlugin.ImportWizardForm', 'Add Files...')) + self.foilPresenterRemoveButton.setText( + translate('SongsPlugin.ImportWizardForm', 'Remove File(s)')) # self.csvFilenameLabel.setText( # translate('SongsPlugin.ImportWizardForm', 'Filename:')) # self.csvBrowseButton.setText( @@ -447,6 +461,16 @@ class SongImportForm(OpenLPWizard): 'file to import from.')) self.songBeamerAddButton.setFocus() return False + elif source_format == SongFormat.FoilPresenter: + if self.foilPresenterFileListWidget.count() == 0: + criticalErrorMessageBox( + translate('SongsPlugin.ImportWizardForm', + 'No Foilpresenter Files Selected'), + translate('SongsPlugin.ImportWizardForm', + 'You need to add at least one Foilpresenter ' + 'song file to import from.')) + self.foilPresenterAddButton.setFocus() + return False return True elif self.currentPage() == self.progressPage: return True @@ -682,6 +706,22 @@ class SongImportForm(OpenLPWizard): """ self.removeSelectedItems(self.songBeamerFileListWidget) + def onFoilPresenterAddButtonClicked(self): + """ + Get FoilPresenter song database files + """ + self.getFiles( + translate('SongsPlugin.ImportWizardForm', + 'Select FoilPresenter Files'), + self.foilPresenterFileListWidget + ) + + def onFoilPresenterRemoveButtonClicked(self): + """ + Remove selected FoilPresenter files from the import list + """ + self.removeSelectedItems(self.foilPresenterFileListWidget) + def registerFields(self): """ Register song import wizard fields. @@ -707,6 +747,7 @@ class SongImportForm(OpenLPWizard): self.easiSlidesFilenameEdit.setText(u'') self.ewFilenameEdit.setText(u'') self.songBeamerFileListWidget.clear() + self.foilPresenterFileListWidget.clear() #self.csvFilenameEdit.setText(u'') def preWizard(self): @@ -783,6 +824,11 @@ class SongImportForm(OpenLPWizard): importer = self.plugin.importSongs(SongFormat.SongBeamer, filenames=self.getListOfFiles(self.songBeamerFileListWidget) ) + elif source_format == SongFormat.FoilPresenter: + # Import Foilpresenter songs + importer = self.plugin.importSongs(SongFormat.FoilPresenter, + filenames=self.getListOfFiles(self.foilPresenterFileListWidget) + ) if importer.do_import(): # reload songs self.progressLabel.setText( diff --git a/openlp/plugins/songs/lib/importer.py b/openlp/plugins/songs/lib/importer.py index 91d3d7e6f..e914cc6ac 100644 --- a/openlp/plugins/songs/lib/importer.py +++ b/openlp/plugins/songs/lib/importer.py @@ -34,6 +34,7 @@ from wowimport import WowImport from cclifileimport import CCLIFileImport from ewimport import EasyWorshipSongImport from songbeamerimport import SongBeamerImport +from foilpresenterimport import FoilPresenterImport # Imports that might fail try: from olp1import import OpenLP1SongImport @@ -71,6 +72,7 @@ class SongFormat(object): EasiSlides = 8 EasyWorship = 9 SongBeamer = 10 + FoilPresenter = 11 @staticmethod def get_class(format): @@ -102,6 +104,8 @@ class SongFormat(object): return EasyWorshipSongImport elif format == SongFormat.SongBeamer: return SongBeamerImport + elif format == SongFormat.FoilPresenter: + return FoilPresenterImport return None @staticmethod @@ -120,7 +124,8 @@ class SongFormat(object): SongFormat.Generic, SongFormat.EasiSlides, SongFormat.EasyWorship, - SongFormat.SongBeamer + SongFormat.SongBeamer, + SongFormat.FoilPresenter ] @staticmethod From cafd7b397d3301431d05ef6a6c01aafaa3798fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 14 Feb 2011 14:01:52 +0100 Subject: [PATCH 04/90] 14.02.2011 --- openlp/plugins/songs/forms/songimportform.py | 17 +++++++++-------- openlp/plugins/songs/lib/importer.py | 5 +---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 6c5c90838..b6c7286bc 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -140,18 +140,18 @@ class SongImportForm(OpenLPWizard): QtCore.QObject.connect(self.songBeamerRemoveButton, QtCore.SIGNAL(u'clicked()'), self.onSongBeamerRemoveButtonClicked) - QtCore.QObject.connect(self.foilPresenterAddButton, - QtCore.SIGNAL(u'clicked()'), - self.onFoilPresenterAddButtonClicked), - QtCore.QObject.connect(self.foilPresenterRemoveButton, - QtCore.SIGNAL(u'clicked()'), - self.onFoilPresenterRemoveButtonClicked) QtCore.QObject.connect(self.songShowPlusAddButton, QtCore.SIGNAL(u'clicked()'), self.onSongShowPlusAddButtonClicked) QtCore.QObject.connect(self.songShowPlusRemoveButton, QtCore.SIGNAL(u'clicked()'), self.onSongShowPlusRemoveButtonClicked) + QtCore.QObject.connect(self.foilPresenterAddButton, + QtCore.SIGNAL(u'clicked()'), + self.onFoilPresenterAddButtonClicked) + QtCore.QObject.connect(self.foilPresenterRemoveButton, + QtCore.SIGNAL(u'clicked()'), + self.onFoilPresenterRemoveButtonClicked) def addCustomPages(self): """ @@ -200,10 +200,10 @@ class SongImportForm(OpenLPWizard): self.addFileSelectItem(u'ew', single_select=True) # Words of Worship self.addFileSelectItem(u'songBeamer') - # Foilpresenter - self.addFileSelectItem(u'foilPresenter') # Song Show Plus self.addFileSelectItem(u'songShowPlus') + # Foilpresenter + self.addFileSelectItem(u'foilPresenter') # Commented out for future use. # self.addFileSelectItem(u'csv', u'CSV', single_select=True) self.sourceLayout.addLayout(self.formatStack) @@ -475,6 +475,7 @@ class SongImportForm(OpenLPWizard): 'You need to add at least one SongShow Plus ' 'file to import from.')) self.wordsOfWorshipAddButton.setFocus() + return False elif source_format == SongFormat.FoilPresenter: if self.foilPresenterFileListWidget.count() == 0: criticalErrorMessageBox( diff --git a/openlp/plugins/songs/lib/importer.py b/openlp/plugins/songs/lib/importer.py index dbbcad596..53ba17de9 100644 --- a/openlp/plugins/songs/lib/importer.py +++ b/openlp/plugins/songs/lib/importer.py @@ -34,11 +34,8 @@ from wowimport import WowImport from cclifileimport import CCLIFileImport from ewimport import EasyWorshipSongImport from songbeamerimport import SongBeamerImport -<<<<<<< TREE -from foilpresenterimport import FoilPresenterImport -======= from songshowplusimport import SongShowPlusImport ->>>>>>> MERGE-SOURCE +from foilpresenterimport import FoilPresenterImport # Imports that might fail try: from olp1import import OpenLP1SongImport From 801a2b17c9a6385da24975f45d6c5624c3076758 Mon Sep 17 00:00:00 2001 From: Matthias Hub Date: Mon, 14 Feb 2011 19:18:51 +0100 Subject: [PATCH 05/90] added initial version of build scripts used for os x to create an installable dmg image to configure adjust the openlp.cfg with the correct environment values and then run make attention: it depends on pyinstaller (currently in the most recent trunk version) modified openlp.pyw to include the plugin directory on os x --- openlp.pyw | 2 + resources/osx/Info.plist.master | 32 +++ resources/osx/Makefile | 28 ++ .../osx/applescript-adjustview-10-5.master | 74 +++++ .../osx/applescript-adjustview-10-6.master | 73 +++++ resources/osx/applescript-seticon-10-5.master | 40 +++ resources/osx/applescript-seticon-10-6.master | 41 +++ resources/osx/build.py | 261 ++++++++++++++++++ resources/osx/expander.py | 195 +++++++++++++ resources/osx/installation-background.png | Bin 0 -> 49278 bytes .../osx/openlp-logo-420x420-background.png | Bin 0 -> 77875 bytes resources/osx/openlp-logo-420x420.png | Bin 0 -> 99649 bytes resources/osx/openlp-logo-with-text.icns | Bin 0 -> 139772 bytes resources/osx/openlp-splash-screen.png | Bin 0 -> 57089 bytes resources/osx/openlp.cfg | 11 + resources/osx/openlp.spec.master | 24 ++ resources/osx/version.master | 1 + 17 files changed, 782 insertions(+) create mode 100755 resources/osx/Info.plist.master create mode 100644 resources/osx/Makefile create mode 100755 resources/osx/applescript-adjustview-10-5.master create mode 100755 resources/osx/applescript-adjustview-10-6.master create mode 100755 resources/osx/applescript-seticon-10-5.master create mode 100755 resources/osx/applescript-seticon-10-6.master create mode 100644 resources/osx/build.py create mode 100755 resources/osx/expander.py create mode 100755 resources/osx/installation-background.png create mode 100755 resources/osx/openlp-logo-420x420-background.png create mode 100644 resources/osx/openlp-logo-420x420.png create mode 100755 resources/osx/openlp-logo-with-text.icns create mode 100755 resources/osx/openlp-splash-screen.png create mode 100755 resources/osx/openlp.cfg create mode 100755 resources/osx/openlp.spec.master create mode 100755 resources/osx/version.master diff --git a/openlp.pyw b/openlp.pyw index 85ba81fba..d3da1c835 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -273,6 +273,8 @@ def main(): qInitResources() # Now create and actually run the application. app = OpenLP(qt_args) + if sys.platform == 'darwin': + QtGui.QApplication.addLibraryPath(QtGui.QApplication.applicationDirPath() + "/qt4_plugins") #i18n Set Language language = LanguageManager.get_language() appTranslator = LanguageManager.get_translator(language) diff --git a/resources/osx/Info.plist.master b/resources/osx/Info.plist.master new file mode 100755 index 000000000..e97e1faf5 --- /dev/null +++ b/resources/osx/Info.plist.master @@ -0,0 +1,32 @@ + + + + +CFBundleIdentifier +org.openlp +CFBundleShortVersionString +%(openlp_version)s +CFBundleVersion +%(openlp_version)s +CFBundleInfoDictionaryVersion +6.0 +CFBundleDisplayName +%(openlp_appname)s +CFBundleIconFile +openlp-logo-with-text.icns +CFBundleExecutable +MacOS/openlp +CFBundleName +%(openlp_appname)s +CFBundleGetInfoString +%(openlp_appname)s %(openlp_version)s +LSHasLocalizedDisplayName + +NSAppleScriptEnabled + +CFBundlePackageType +APPL +LSBackgroundOnly + + + diff --git a/resources/osx/Makefile b/resources/osx/Makefile new file mode 100644 index 000000000..422749da5 --- /dev/null +++ b/resources/osx/Makefile @@ -0,0 +1,28 @@ +all: + python build.py -c openlp.cfg + +view: + python build.py -c openlp.cfg --package-view --compress-view + +package: + + python build.py -c openlp.cfg --package --package-view + +bundle: + + python build.py -c openlp.cfg --compress --compress-view + +clean: + # remove old configuration files + rm -f openlp.spec + rm -f Info.plist + rm -f .version + + # remove old build artifacts + rm -rf build + rm -rf dist + rm -rf Macopenlp.app + rm -rf OpenLP.app + rm -f warnopenlp.txt + rm -f *dmg + diff --git a/resources/osx/applescript-adjustview-10-5.master b/resources/osx/applescript-adjustview-10-5.master new file mode 100755 index 000000000..abc0e5a8d --- /dev/null +++ b/resources/osx/applescript-adjustview-10-5.master @@ -0,0 +1,74 @@ +on saveImageWithItselfAsIcon(icon_image_file) + -- save icon_image_file with itself as icon + set icon_image_file_string to icon_image_file as string + tell application "Image Events" + launch + set icon_image to open file icon_image_file_string + save icon_image with icon + close icon_image + end tell +end saveImageWithItselfAsIcon + +on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) + tell application "Finder" to set f to aFileOrFolderWithIcon as alias + -- grab the file's icon + my CopyOrPaste(f, "c") + -- now the icon is in the clipboard + tell application "Finder" to set c to aFileOrFolder as alias + my CopyOrPaste(result, "v") +end copyIconOfTo + +on CopyOrPaste(i, cv) + tell application "Finder" + activate + open information window of i + end tell + tell application "System Events" to tell process "Finder" to tell window 1 + keystroke tab -- select icon button + keystroke (cv & "w") using command down (* (copy or paste) + close window *) + end tell -- window 1 then process Finder then System Events +end CopyOrPaste + +on run + set icon_image_file to POSIX file "%s" as alias + set dmg_file to POSIX file "/Volumes/%s" as alias + + my saveImageWithItselfAsIcon(icon_image_file) + -- wait for virus scanner + delay 2 + my copyIconOfTo(icon_image_file, dmg_file) + + tell application "Finder" + tell disk "%s" + open + set current view of container window to icon view + set toolbar visible of container window to false + set statusbar visible of container window to false + set the bounds of container window to {400, 100, 1100, 500} + set theViewOptions to the icon view options of container window + set arrangement of theViewOptions to not arranged + set icon size of theViewOptions to 128 + set background picture of theViewOptions to file ".installer-background.png" + if not exists file "Applications" then + make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"} + end if + delay 5 + set position of item "%s" of container window to {160, 200} + set position of item ".Trashes" of container window to {100, 500} + set position of item ".installer-background.png" of container window to {200, 500} + set position of item ".DS_Store" of container window to {400, 500} + set position of item "Applications" of container window to {550, 200} + set position of item ".VolumeIcon.icns" of container window to {500, 500} + set position of item ".fseventsd" of container window to {300, 500} + if exists POSIX file ".SymAVx86QSFile" then + set position of item ".SymAVx86QSFile" of container window to {600, 500} + end if + open + close + update without registering applications + -- wait until the virus scan completes + delay 5 + -- eject + end tell + end tell +end run diff --git a/resources/osx/applescript-adjustview-10-6.master b/resources/osx/applescript-adjustview-10-6.master new file mode 100755 index 000000000..2b5a0c000 --- /dev/null +++ b/resources/osx/applescript-adjustview-10-6.master @@ -0,0 +1,73 @@ +on saveImageWithItselfAsIcon(icon_image_file) + -- save icon_image_file with itself as icon + set icon_image_file_string to icon_image_file as string + tell application "Image Events" + launch + set icon_image to open file icon_image_file_string + save icon_image with icon + close icon_image + end tell +end saveImageWithItselfAsIcon + +on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) + tell application "Finder" to set f to aFileOrFolderWithIcon as alias + -- grab the file's icon + my CopyOrPaste(f, "c") + -- now the icon is in the clipboard + tell application "Finder" to set c to aFileOrFolder as alias + my CopyOrPaste(result, "v") +end copyIconOfTo + +on CopyOrPaste(i, cv) + tell application "Finder" + activate + set infoWindow to open information window of i + set infoWindowName to name of infoWindow + end tell + tell application "System Events" to tell process "Finder" to tell window infoWindowName + keystroke tab -- select icon button + keystroke (cv & "w") using command down (* (copy or paste) + close window *) + end tell -- window 1 then process Finder then System Events +end CopyOrPaste + +on run + set icon_image_file to POSIX file "%s" as alias + set dmg_file to POSIX file "/Volumes/%s" as alias + + my saveImageWithItselfAsIcon(icon_image_file) + -- wait for virus scanner + delay 2 + my copyIconOfTo(icon_image_file, dmg_file) + + tell application "Finder" + tell disk "%s" + open + set current view of container window to icon view + set toolbar visible of container window to false + set statusbar visible of container window to false + set the bounds of container window to {400, 100, 1100, 500} + set theViewOptions to the icon view options of container window + set arrangement of theViewOptions to not arranged + set icon size of theViewOptions to 128 + set background picture of theViewOptions to file ".installer-background.png" + make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"} + delay 5 + set position of item "%s" of container window to {160, 200} + set position of item ".Trashes" of container window to {100, 500} + set position of item ".installer-background.png" of container window to {200, 500} + set position of item ".DS_Store" of container window to {400, 500} + set position of item "Applications" of container window to {550, 200} + set position of item ".VolumeIcon.icns" of container window to {500, 500} + set position of item ".fseventsd" of container window to {300, 500} + if exists POSIX file ".SymAVx86QSFile" then + set position of item ".SymAVx86QSFile" of container window to {600, 500} + end if + open + close + update without registering applications + -- wait until the virus scan completes + delay 5 + -- eject + end tell + end tell +end run diff --git a/resources/osx/applescript-seticon-10-5.master b/resources/osx/applescript-seticon-10-5.master new file mode 100755 index 000000000..738c4b883 --- /dev/null +++ b/resources/osx/applescript-seticon-10-5.master @@ -0,0 +1,40 @@ +on saveImageWithItselfAsIcon(icon_image_file) + -- save icon_image_file with itself as icon + set icon_image_file_string to icon_image_file as string + tell application "Image Events" + launch + set icon_image to open file icon_image_file_string + save icon_image with icon + close icon_image + end tell +end saveImageWithItselfAsIcon + +on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) + tell application "Finder" to set f to aFileOrFolderWithIcon as alias + -- grab the file's icon + my CopyOrPaste(f, "c") + -- now the icon is in the clipboard + tell application "Finder" to set c to aFileOrFolder as alias + my CopyOrPaste(result, "v") +end copyIconOfTo + +on CopyOrPaste(i, cv) + tell application "Finder" + activate + open information window of i + end tell + tell application "System Events" to tell process "Finder" to tell window 1 + keystroke tab -- select icon button + keystroke (cv & "w") using command down (* (copy or paste) + close window *) + end tell -- window 1 then process Finder then System Events +end CopyOrPaste + +on run + set icon_image_file to POSIX file "%s" as alias + set dmg_file to POSIX file "%s" as alias + + my saveImageWithItselfAsIcon(icon_image_file) + -- wait for virus scanner + delay 2 + my copyIconOfTo(icon_image_file, dmg_file) +end run diff --git a/resources/osx/applescript-seticon-10-6.master b/resources/osx/applescript-seticon-10-6.master new file mode 100755 index 000000000..849f02344 --- /dev/null +++ b/resources/osx/applescript-seticon-10-6.master @@ -0,0 +1,41 @@ +on saveImageWithItselfAsIcon(icon_image_file) + -- save icon_image_file with itself as icon + set icon_image_file_string to icon_image_file as string + tell application "Image Events" + launch + set icon_image to open file icon_image_file_string + save icon_image with icon + close icon_image + end tell +end saveImageWithItselfAsIcon + +on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) + tell application "Finder" to set f to aFileOrFolderWithIcon as alias + -- grab the file's icon + my CopyOrPaste(f, "c") + -- now the icon is in the clipboard + tell application "Finder" to set c to aFileOrFolder as alias + my CopyOrPaste(result, "v") +end copyIconOfTo + +on CopyOrPaste(i, cv) + tell application "Finder" + activate + set infoWindow to open information window of i + set infoWindowName to name of infoWindow + end tell + tell application "System Events" to tell process "Finder" to tell window infoWindowName + keystroke tab -- select icon button + keystroke (cv & "w") using command down (* (copy or paste) + close window *) + end tell -- window 1 then process Finder then System Events +end CopyOrPaste + +on run + set icon_image_file to POSIX file "%s" as alias + set dmg_file to POSIX file "%s" as alias + + my saveImageWithItselfAsIcon(icon_image_file) + -- wait for virus scanner + delay 2 + my copyIconOfTo(icon_image_file, dmg_file) +end run diff --git a/resources/osx/build.py b/resources/osx/build.py new file mode 100644 index 000000000..e0e338d46 --- /dev/null +++ b/resources/osx/build.py @@ -0,0 +1,261 @@ +#!/usr/bin/python +# -*- encoding: utf-8 -*- +import time +import os +import ConfigParser +import logging +import optparse +import sys +import platform +import re +import subprocess as subp + +if __name__ == '__main__': + + # set default actions + doBuild = True + doCompressView = True + doPackageView = True + doCreateDmg = True + doCompressDmg = True + doDeployQt = True + + # set the script name + script_name = "build" + + parser = optparse.OptionParser() + parser.add_option('-c', '--config', dest = 'config', help = 'config file', metavar = 'CONFIG') + parser.add_option('-v', '--package-view', dest = 'package_view', help = 'triggers view adjustment scripts for package', metavar = 'PACKAGEVIEWONLY', action='store_true', default=False) + parser.add_option('-y', '--compress-view', dest = 'compress_view', help = 'triggers view adjustment scripts for dmg', metavar = 'COMPRESSVIEWONLY', action='store_true', default=False) + parser.add_option('-p', '--package', dest = 'package', help = 'package application folder to dmg', metavar = 'PACKAGE', action='store_true', default=False) + parser.add_option('-z', '--compress', dest = 'compress', help = 'compresses the existing dmg', metavar = 'COMPRESS', action='store_true', default=False) + parser.add_option('-b', '--basedir', dest = 'basedir', help = 'volume basedir like /Volumes/OpenLP', metavar = 'BASEDIR', default='/Volumes/OpenLP') + + (options, args) = parser.parse_args() + + # if an option is set, false all + if (options.package_view is True or options.compress_view is True or options.package is True or options.compress is True): + doBuild = False + doDeployQt = False + doPackageView = options.package_view + doCompressView = options.compress_view + doCreateDmg = options.package + doCompressDmg = options.compress + + if not options.config: + parser.error('option --config|-c is required') + + logHandler = logging.StreamHandler() + logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s %(message)s', + '%a, %d %b %Y %H:%M:%S')) + logging.getLogger().addHandler(logHandler) + logging.getLogger().setLevel(logging.DEBUG) + + config = ConfigParser.RawConfigParser() + config.readfp(open(options.config, 'r')) + + if not config.has_section('openlp'): + logging.error('[%s] config file "%s" lacks an [openlp] section', + script_name, options.config) + sys.exit(1) + + if not sys.platform == "darwin": + logging.error('[%s] this script only works on Macintosh OS X systems, not on %s', + script_name, sys.platform) + sys.exit(1) + + version = platform.mac_ver()[0] + # we only need the differenciation between leopard and snow leopard + if version.startswith("10.6"): + SNOWLEOPARD = True + logging.info('[%s] using snow leopard scripts (version = %s)', script_name, version) + adjustview_scriptname = "applescript-adjustview-10-6.master" + seticon_scriptname = "applescript-seticon-10-6.master" + else: + SNOWLEOPARD = False + logging.info('[%s] using leopard scripts (version = %s)', script_name, version) + adjustview_scriptname = "applescript-adjustview-10-5.master" + seticon_scriptname = "applescript-seticon-10-5.master" + + if not os.path.isfile(adjustview_scriptname) or not os.path.isfile(seticon_scriptname): + logging.error('[%s] could not find apple scripts for given mac version %s', script_name, version) + sys.exit(1) + + settings = dict() + for k in config.options('openlp'): + settings[k] = config.get('openlp', k) + + # prepare the configuration files + os.system('python expander.py --config %(config_file)s --template openlp.spec.master --expandto %(target_directory)s/openlp.spec' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + os.system('python expander.py --config %(config_file)s --template Info.plist.master --expandto %(target_directory)s/Info.plist' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + os.system('python expander.py --config %(config_file)s --template version.master --expandto %(target_directory)s/.version' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + + # prepare variables + app_name = settings['openlp_appname'].lower() + app_dir = os.getcwd() + '/' + settings['openlp_appname'] + '.app' + + # if the view option is set, skip the building steps + if (doBuild is True): + logging.info('[%s] now building the app with pyinstaller at "%s"...', script_name, settings['pyinstaller_basedir']) + result = os.system('python %s/pyinstaller.py openlp.spec' \ + % settings['pyinstaller_basedir']) + if (result != 0): + logging.error('[%s] The pyinstaller build reported an error, cannot continue!', script_name) + sys.exit(1) + + logging.info('[%s] copying the qt_menu files...', script_name) + # see http://www.pyinstaller.org/ticket/157 + result = os.system('cp -R %(qt_menu_directory)s %(application_directory)s/Contents/Resources' \ + % { 'qt_menu_directory' : settings['qt_menu_basedir'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the qt_menu files, cannot continue!', script_name) + sys.exit(1) + + dist_folder = os.getcwd() + '/dist/' + app_name + # logging.info('[%s] copying the additional app files (from %s)...', script_name, dist_folder) + # result = os.system('cp -R %(dist_directory)s/* %(application_directory)s/Contents/MacOS' \ + # % { 'dist_directory' : dist_folder, + # 'application_directory' : app_dir }) + # if (result != 0): + # logging.error('[%s] could not copy additional files, cannot continue!', script_name) + # sys.exit(1) + + logging.info('[%s] copying the new plugins...', script_name) + result = os.system('cp -R %(openlp_directory)s/openlp/plugins %(application_directory)s/Contents/MacOS' \ + % { 'openlp_directory' : settings['openlp_basedir'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy plugins, dmg creation failed!', script_name) + sys.exit(1) + + logging.info('[%s] copying the icons to the resource directory...', script_name) + result = os.system('cp %(icon_file)s %(application_directory)s/Contents/Resources' \ + % { 'icon_file' : settings['openlp_icon_file'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the icon, dmg creation failed!', script_name) + sys.exit(1) + + logging.info('[%s] copying the version file...', script_name) + result = os.system('CpMac %s/.version %s/Contents/MacOS' % (os.getcwd(), app_dir)) + if (result != 0): + logging.error('[%s] could not copy the version file, dmg creation failed!', script_name) + sys.exit(1) + + logging.info('[%s] copying the new Info.plist...', script_name) + result = os.system('cp %(target_directory)s/Info.plist %(application_directory)s/Contents' \ + % { 'target_directory' : os.getcwd(), + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the info file, dmg creation failed!', script_name) + sys.exit(1) + + if (doDeployQt is True): + logging.info('[%s] running mac deploy qt on %s.app...', script_name, settings['openlp_appname']); + + result = os.system('macdeployqt %s.app' % settings['openlp_appname']); + if (result != 0): + logging.error('[%s] could not create dmg file!', script_name) + sys.exit(1) + + if (doCreateDmg is True): + logging.info('[%s] creating the dmg...', script_name) + dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' + result = os.system('hdiutil create %(dmg_file)s~ -ov -megabytes %(vol_size)s -fs HFS+ -volname %(vol_name)s' \ + % { 'dmg_file' : dmg_file, + 'vol_size' : '250', + 'vol_name' : settings['openlp_appname'] }) + if (result != 0): + logging.error('[%s] could not create dmg file!', script_name) + sys.exit(1) + + logging.info('[%s] mounting the dmg file...', script_name) + output = subp.Popen(["hdiutil", "attach", dmg_file + "~.dmg"], stdout=subp.PIPE).communicate()[0] + logging.debug(output) + + p = re.compile('Apple_HFS\s+(.+?)\s*$') + result = p.search(output, re.M) + volume_basedir = '' + if result: + volume_basedir = result.group(1) + else: + logging.error('could not mount dmg file, cannot continue!') + sys.exit(1) + + logging.info('[%s] copying the app (from %s) to the dmg (at %s)...', script_name, app_dir, volume_basedir) + result = os.system('CpMac -r %s %s' \ + % ( app_dir, volume_basedir )) + if (result != 0): + logging.error('[%s] could not copy application, dmg creation failed!', script_name) + sys.exit(1) + + logging.info('[%s] copying the background image...', script_name) + # os.mkdir(volume_basedir + '/.background') + result = os.system('CpMac %s %s' % (settings['installer_backgroundimage_file'], volume_basedir + '/.installer-background.png')) + if (result != 0): + logging.error('[%s] could not copy the background image, dmg creation failed!', script_name) + sys.exit(1) + + else: + # setting base dir + volume_basedir = options.basedir + dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' + + if (doPackageView is True): + logging.info('[%s] making adjustments to the view...', script_name) + try: + f = open(adjustview_scriptname) + p = subp.Popen(["osascript"], stdin=subp.PIPE) + p.communicate(f.read() % ((os.getcwd() + '/' + settings['openlp_dmg_icon_file']), settings['openlp_appname'], settings['openlp_appname'], settings['openlp_appname'])) + f.close() + result = p.returncode + if (result != 0): + logging.error('[%s] could not adjust the view, dmg creation failed!', script_name) + sys.exit(1) + except IOError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) + sys.exit(1) + except OSError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) + sys.exit(1) + + if (doCreateDmg is True): + logging.info('[%s] unmounting the dmg...', script_name) + result = os.system('hdiutil detach %s' % volume_basedir) + if (result != 0): + logging.error('[%s] could not unmount the dmg file, dmg creation failed!', script_name) + sys.exit(1) + + if (doCompressDmg is True): + logging.info('[%s] compress the dmg file...', script_name) + result = os.system('hdiutil convert %s~.dmg -format UDZO -imagekey zlib-level=9 -o %s' \ + % (dmg_file, dmg_file)) + if (result != 0): + logging.error('[%s] could not compress the dmg file, dmg creation failed!', script_name) + sys.exit(1) + + if (doCompressView is True): + logging.info('[%s] setting icon of the dmg file...', script_name) + try: + f = open(seticon_scriptname) + p = subp.Popen(["osascript"], stdin=subp.PIPE) + p.communicate(f.read() % ((os.getcwd() + '/' + settings['openlp_dmg_icon_file']), dmg_file)) + f.close() + result = p.returncode + if (result != 0): + logging.error('[%s] could not set the icon to the dmg file, dmg creation failed!', script_name) + sys.exit(1) + except IOError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) + sys.exit(1) + except OSError, e: + logging.error('[%s] could not set the icon to the dmg file(%s), dmg creation failed!', script_name, e) + sys.exit(1) + + if (doCompressDmg is True): + logging.info('[%s] finished creating dmg file, resulting file is "%s"', script_name, dmg_file) + diff --git a/resources/osx/expander.py b/resources/osx/expander.py new file mode 100755 index 000000000..fee4138b5 --- /dev/null +++ b/resources/osx/expander.py @@ -0,0 +1,195 @@ +#!/usr/bin/python +# -*- encoding: utf-8 -*- + +# TODOs: +# - defaults for non-supplied expansions: +# template contains + +import ConfigParser +import logging +import optparse +import os +import re +import sys + +# variable expansion: +# - %(dog)s --- normal python expansion +# - %(dog%)s --- no python expansion, leave as is (stripping the trailing %) +# - %(dog:cat) --- if there is an expansion for dog, dog will be used; otherwise if cat exists cat will be used +# - %(dog=cat) --- if there is an expansion for dog, dog will be used; otherwise "cat" will be used +# reConf = re.compile(r'(?[^\(]+?)\)s') +reConf = re.compile(r'(?P%?)%\((?P[^+=:&\)]+?)(?:(?P[+=:&])(?P[^\)]+))?\)(?Ps|d)') + +def expandVariable(match, expansions, errors): + key = match.group('key') + kind = match.group('kind') + default = match.group('default') + typ = match.group('type') + verbatim = match.group('verbatim') + + if verbatim: + return match.group(0)[1:] + + # literal default + if kind == '=': + if key in expansions: + return expansions[key] + return default + + # variable default + if kind == ':' and default in expansions: + return expansions[default] + + if kind == '+' and default in expansions: + if key in expansions: + key = expansions[key] + if typ == 's': + return '%s%s' % (key, expansions[default]) + if typ == 'd': + try: + return str(int(key) + int(expansions[default])) + except: + pass + + if kind == '&' and default in expansions: + if typ == 's': + return '%s%s' % (key, expansions[default]) + if typ == 'd': + try: + return str(int(key) + int(expansions[default])) + except: + pass + + if key in expansions: + return expansions[key] + + if not match.group(0) in errors: + errors.append(match.group(0)) + + return None + +options = None + +if __name__ == '__main__': + + # get config file + parser = optparse.OptionParser() + parser.add_option('-c', '--config', dest = 'config', help = 'config file', metavar = 'CONFIG') + parser.add_option('-t', '--template', dest = 'template', help = 'template file', metavar = 'TEMPLATE') + parser.add_option('-x', '--expandto', dest = 'expanded', help = 'expanded file', metavar = 'EXPANDED') + parser.add_option('-e', '--echo', dest = 'echo', help = 'echo variable', metavar = 'ECHOVAR') + + (options, args) = parser.parse_args() + + if not options.config: + parser.error('option --config|-c is required') + if not os.path.exists(options.config): + parser.error('config file "%s" does not exist' % options.config) + if not options.echo: + if not options.template: + parser.error('option --template|-t is required') + if not os.path.exists(options.template): + parser.error('template file "%s" does not exist' % options.template) + if not options.expanded: + parser.error('option --expandto|-e is required') + + logHandler = logging.StreamHandler() + logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s %(message)s', + '%a, %d %b %Y %H:%M:%S')) + logging.getLogger().addHandler(logHandler) + logging.getLogger().setLevel(logging.DEBUG) + + config = ConfigParser.RawConfigParser() + config.readfp(open(options.config, 'r')) + + if not config.has_section('openlp'): + logging.error('[expander] %s: config file "%s" lacks an [openlp] section', + options.template, options.config) + + expansions = dict() + for k in config.options('openlp'): + expansions[k] = config.get('openlp', k) + + # commandline overrides? + for override in args: + if not '=' in override: + continue + + (k, v) = override.split('=', 2) + expansions[k] = v + + if options.echo: + if options.echo in expansions: + print expansions[options.echo] + sys.exit(0) + else: + sys.exit(1) + + + # closure to capture expansions and errors variable + errors = [] + expanded = [] + + + try: + # try to expand the template + line = 0 + faulty = False + + template = open(options.template, 'r') + raw = template.readlines() + template.close() + + def _expand(m): + return expandVariable(m, expansions = expansions, errors = errors) + + for l in raw: + line += 1 + exp = reConf.sub(_expand, l) + if errors: + for key in errors: + logging.error('[expander] %s: line %d: could not expand key "%s"', options.template, line, key) + faulty = True + errors = [] + else: + expanded.append(exp) + + if faulty: + sys.exit(1) + + # successfully expanded template, now backup potentially existing target file + targetFile = options.expanded % expansions + if os.path.exists(targetFile): + if os.path.exists('%s~' % targetFile): + os.unlink('%s~' % targetFile) + os.rename(options.expanded, '%s~' % targetFile) + logging.info('[expander] %s: backed up existing target file "%s" to "%s"', + options.template, targetFile, '%s~' % options.expanded) + + + # TODO: make sure that target directory exists + targetDir = os.path.dirname(targetFile) + if not os.path.exists(targetDir): + os.makedirs(targetDir) + + # write target file + try: + target = open(targetFile, 'w') + for exp in expanded: + target.write(exp) + target.close() + except Exception, e: + logging.error('[expander] %s: could not expand to "%s"', options.template, options.expaned, e) + + + # copy over file access mode from template + mode = os.stat(options.template) + os.chmod(options.expanded, mode.st_mode) + + logging.info('[expander] expanded "%s" to "%s"', + options.template, options.expanded) + + + except: + pass + diff --git a/resources/osx/installation-background.png b/resources/osx/installation-background.png new file mode 100755 index 0000000000000000000000000000000000000000..8a41d3b68592907c3f6efed2468755e0436e36d5 GIT binary patch literal 49278 zcmXt91yohv(|v?=moyJ}bcZxZHwZ{~mvonOcXvp43rLAH2#A2>10)2byX(97`+uy( z0v>DKd(N4eJ$q*MiBeIPK}R7*0f9j1abQbHsJJiRFre&QLf}J0H#sFK#3eXPOd|X|uFFCY2n>>w6jS$FI_Q>j zgy^KRdeosih$NHmX4f0iIxVP$Vg&Gq?cMQtq3O>$Wzy(qH#M90U)G)aXx{YkBEd zI9=Ss&Z`(tvC2rNBSFImNR&d8hyhprYkWWM7w-jcLV6?;O$NN-T#(>5rYP5_MZt3f z*viL~e-98=&5vEfz&0msH!|KcJrV};2GFvLZL0(Wl?;xdK$vsZF<`mu2(cU+1wmL5 zAWBgXz5cUgAc!(_N67NqX&2K8>7;Yf2p4z*of7Hm!5SII5E5l9NBri){DCue!51$< z#SFpFwPCoRZ?bT(L6SjI+TvK)E{TN7P6qR>WMi#LV~zI19u@ZQBRKau8vb7AIl+T6 zJO4U~Ax%2NzLQLP{mKyU6$7=oq$*yR@h?j9(32E02m%BP2_85b*eG#M)f1bbh_%UZ zo854W%vKA*Umj%Jv_FnQ6Kf!rG?YwHYSLIzs#s+KF-3&A<R8Ty&D|1>L5{YA~zU|EsqI) zE8BJI65jqRbA}~@g*y}(HE7Xe~wl7)H9P{7SHi&S- zMwV7~P{h*L_~K16qpPYrY;-Y7nK{Qa7217T5+`?1!^A}jG9Xbqx1UFI5Y{+w=H1C6 zI#^waic{NTRp;Feqz$(Bsp0A=K!Mbve0{j$NKT~dNGC!W*v0EXU>qxF`AVDY?6S(L zDw`$al6Z6Bz96rBS)#(kl;|*h9wua7Bm_z-4jiM*D0tW)(dj@@A^SS4QNa@IS2LgS zl(gQAvD?d+U!o>Mc&fr&D%U6rCWjedOSv-{8tjIf^!v+t1(2TcS-x&bGiP};!sXRqMh3>x*Tg}+Rpcm0DH%tD#U3>U`~G*_@4{In_sD{a z;MwlkX;7*PZNp6#c`9XPPWT>{5=ozjn&52FlyV;zi7fy-RSdo# zGYRQ`8?AY*6&R>U*@yFB99Z)=+hH%ajRg9e_he?{P0V9Wc2LbX z?`O%$9GE9I9}sA%BpcFtP_G1RNSN_`NaTnHe*<_Nx{^C#xPE+t^d%bDJ zO=uQfq>mfxKgtY0_P=%SmwLP~!^i!%2e9=5b%YBn4-lS`oUzsi| zU~4|#$O_sd0Wg*z1oNRSqe!LcI<$q>(Wy#qfm{N|oeE_d}2m`o_prArWNbN5m@=@)C#u<^OWJeX{b#Yc-uZ&d_S`uWy0zOZ zCS=1LXcC&}Qq4NCI6`PPUgC@+ok<7;0%Enf_P;*N+Rj$@I2m~Ik$MQ^8U467OpbJd z6ileg-?}g`W?lHv{r?FL?grO8#SY-BD^Vz^OTGCx+BYZdZPnS{-o87b{l4xKblscn zu0SW2@(Xl~K2J7auq_4Q*a)^{k$%p$#ijk=yw#!2*L$}8K-q6fq7key2Ef_t1Yvju zmPCOUv;{V@U4;78wl{{!s}wzC%A9IH{bQ{ZeTEBS=Y(Z**4S3CzSwNuh~&0$#L`8tcc6hdiB7E@i)U@q#w?EMXSg+#C`Jill!N3-OcvXt z=xTyPp$c?mf-7o9$>WnK?TW6&n$@#@EPLjhHf_+J+)KqV1W-KnmZ?Xv;pkRVGQ>Lw zu>|8EtediSV2w*!XRneen$Mo7qYBpUJ*_GOE0y@&QHMzven`YWOnrzcPHb3);v)S( zn^b2%ch;gSd%;eK_TvZJk9uj4D4!amIq&|KAD>mwFPN9m5nUF4-8CZS$eyGzlQV?j zu@@16*!VLzk7ue5*+yIO=Lxf1h^J*db?r+SU+1;Zri|`P76kB9fIwJkjItz`E|dl5 z#TfrPj1p8VhM1FL)aa@!gr*{$e75!K$GFGGN7F_m-m0+mfd)IztBc$|T!+`(pmgPN z3F7Hj=*@B=0SFA#c5n89;K7puso-s0TwK(b3m+@7ZF7-asx_)a($fH*^O8knU)L3* zHWghVHrZ-_3&c9RYiRH3Ilj#LY_B)-`Dr27b2ZOQ3~fwRY;|6gIA39RKye$327MJF ze&?!n@9TYfnN4|l`P+|2>=`gY;yg1I8S;bT?0bR#orPDsTQ881n`oPsNR+u(XhEdI zd892@*Vn>5;2Caw4T@?HYY{!_=@U}45=R>JD8`Zdl<@teq;E%>-Ltmd$6rhcfu~ah zICR#HfzJ4yi#1s@Pz))Q0sBGFkp|AK(8#GYQp;?V%}aSz&}I-oK|Al_+peyzAaZA+ zsJJ>>Xowr96%TmCg?i4mKyX4Bt=G zKpcL>Y^kXx7hPucDii#d`$rK8gVki%a80teow#=s@MhdVqIhAv!%$ye-y(X>A+&x% zWw)84)0=xCT$XfY<}7YzxmU=Qg)u4zrXQNST3WU$we6rHf`a!qyVFf%phQTaD$^_@ zO@e?qXVxc09EtxnGgF4@?^J5jSbI;Gu6AD1Ikk zz4qwXthunXRHa!B5@qP_>Uubt$+FZIm2JQA8U;xRQJ4@)2e2QZ z8%rWG;Y+0;buhFz<$F8@oiipPl&sX=AUk6`e=N|`~5H{5qddQU7 zz=?h+e%ONIvY83PrA|K?H(@Z!dL5PGGI1tibRY3)WTkM!E32|vUVF5W#36v_qt7xZ z-Ws~offCaOYAs9EnSFlsj%ga(zk-#6gKeCP?R7LG`)v4=yLN^o&K!;~1#+6hmY`QV zmmBhBzazTnLdY?^MP1Bvcfhn1w~}!rtEBh7QHPD3oP67be@MG?*MZBIp*88AddWkvRpr075Kg3&gI)% zyY1Oi|87IXz)|zFCpHRSxL2UF_VGE(7L}15mv-Zk-UNZQd4hj*U>qb-B2x5nC~@uJ z=)QSJOivGwqql1B7Goh8 z8e-f2bEyKM8J|8;@*lOL`nERps-Hcax_yR1Fdh|DkC`((JZ$(bsPvn=flj(FwQEa> z35$ASL-cgiAX*7Uw;R>z7DB=Xzl&c(cX#)MbFNKxfyl?Z-3$y+B<$~HdMzfJ0s*fU z{0f(UPEQ`h0sokdr_pVTsj&hZD9`Xbp+#qC|2SP(wWsk;3U1e1wx6sItpV^BF4>T4 zv&Ka4kA8nY?nxIkq@dc~n= zp$|KEJT_YL?aL7p;Bt4#PCK!QNo@cm$qO`v%DODL>$j@ln>jbkD9UvGDesDJ5rlT%d z@{FCvy4B^|wT2_oP0;Y;~@RvWV7cPB~=jKTD5|9ddbU)a$1IEGP@ zZEyE5%(t6dIIekrcX!UNJ4>nH(fr*w8AmHwZ_iL(HhRT>Z+PX&Bh=<1rRslwe{H5i z7s^di8Ylh6bLKPbd;EWoONK*BN*%b>Fj7?ld3{_E;^&w9KzYi}j@F;SCloUs<<6Vv z51w{EtkaOO8@}7LGI@XREb>!4*|^(BC~2O5A-(mSq3ib2l8Ch}nrMsN?nvijPR#)^=Xp^fOgC#JCY}+F4b~J? z-Q1jR4i`Y3QmW|j%JOIYt6(GkrDLiA!e9-Y;?qA5F2;iDSU1N#{HLiq?~cmwq}umJ z(SUPz*&WD5nC7Cwu)&;A(D1?+J@mM53wZd;r;c~Ca_G~dcJ&_LzaE8@{^i&J`h!X% zG-ON|US<Tq=Q$yu*5qfWz=?7VmfTuQ$Bqp)h=P8!Fp>R}Ick zAP$x}CA~e1*#ua^&;sBzB7PmP;@Ov`uFXfM;fk~&!Y$aq5wPWP+=Ss|ml?F)KPJh8 zzWVz*xw&0DIOwErjn(-%PB#dM!POMGQK`N{X8Yo1iZJE-@w2O!mn_ol?M^|!&6pL! z&kBN8J@f)zV+Ps{%9oZ_4W-#ncLR;t7>@v}ctdMB93xFv&WB?E&0U3(dasRTz9@_KVkEykSJe-uL**L?gE+Sx3J9~9rVvYJv{4<0B#z2~k$cTKTk6XpVgaRvKoosL+09xhnI(E6Z!h^8H zt7dI!Q}{cHm-jXj&pw+>B@7~IyxR#*MG$s z#007rBah*_eV+aTs&4{{FK3Wqi59=P%$-Kqa?iV*iwe zBRtw__oDCR9=@5P#+!KRWQa)@Wuzi)a}V_3`hFfKLZjXc_jPNd=lK;;+{y==r$qAD zgq`az@DCTe%dLmJ0F?M#qJUNd_&WFEx;hk|eM7rmYT8qEGc^C&0V&@BeLj9$G71W~ zKodghK^RcJ=bi;a%IKQwdGGnd_I4S4e4WpCPJ#+oN1fInZoQG|TMJ^@$$(0u9|G~4 zUB1^xH#ZBdhY4@n*p{gCH$&Qy|8wB-0m81YfCHOwCQY&;){R|x?ip?ZR2dN$3N28Z zBO|`8F<_Jp4y2g+fF*9*vh)#x@!_g5lNzmw8TP^)y<}(jb~bP)!0-O*5HOY<^l8h_ z$%B9G)`ptt?FkUe&J@O2gr`oiz57g*W8ZhB3OXEsvf)zem@l3St=|ewggc}aF}rTR zZhyn$hz_)&|7(+s$X(8@8bR#ieK5H@0XF?YBF3 z6}zMT_gEm<)m?`=FW0BZot1Y5BF?1OM=PDR6P)fVGcjM8nL6t9(zp2Hfw99ic8^Tt zpcdN=jJOb?*-vhz^sR!)j`Xcx-@|&II~}D|xs{rEv(u_}_|=%KIJ3~|68%)KfkjacSVSrja^^tZ%g(}lp345dyF-NY!}@M^yC){{6IFe-U+*{-W3 z6LhT1SBi=$Ny|m3+orfUiYb14{0MD*-Yp1tOIVo|>-4!zhcOMH5LZ*u#w9R7{R0CM zQb6eOES=XXO3Zk=n*XiO72e2iP*3w%7<)Oi?NlQWAM)-pTlUnid2xA(dA&H3t3y=$ z!;MO=@m2o1s5o;679ZnHAq|7pg+D$9k76+bE68z2Hgw|=Fg(;=6))iNk#{iI zT<6D5Onz0BVONmaUf7XSdnCXUv;}Wsdz;Pqy8jY|v&d~YK3!=g0|TNr0sMgu9fx1b zY=|wH9B7f%s%J4gdCSsh2MQYcaMkRTh)|P5+D>BOzn8zCp3s54$HIYb^Qs4V~l{5fuJFfFwg6AL|3sCZfYl z3JfpQHQu061Et#w!oES_l8h~4Tl%QM^(yFjqQ2+H&Uvf-we*mIOn;DF+kLc6_7~+d zl^4&+(Xo+oQRVrtEkDJ=$>aM~;qP5u17cL&=4hNDSRM|x`U%S&$t8PDLLk9>&dc`ty>c^jQVtXGnHI&F45+h9iavRdr)N z)WvVr?4Uz3=%8c>*^&M1*y7IVV$@^i^o7fn82cvou3AEtf{(|upgfJ<7^X5`{5@OG zy_m+VOZ!8PQGgU5Xa3)e|BBfUBZR@yQ`u$i9U)J$uf(5@I@?-wfs*V z!S_>TRdkRhXwCcUtgVCnvet%E8-I$V3j)@th`uAT`9ak4v&zO>`tQ{1u<((mLnk6J zD`;8IK@HZQ;k22d{a{8h<0ND8K6|Xd3KUpVOfIMDui;c@ULnp&4Osn6xxXKu62eV> z*|zlDAF*IfQ&i?1fk#LhGGE%)jRdj1yv}>*(s@DRps&w&8qJF(saMi>1`(BBrCDtj z6?|I4i|lBmH%OG1K99z2z0M39Uk8W^Lf@^+{D9+lP%#(b5Ibp*mY#fM!s}Eb=sf?t zO4#TaRFxHQ(@$X!b>PVXC`~lT4MEjF zqXoD9QY**D$Lr4@Ca6Q(%fp!qQ41kXvo07Uws3(q**h5qJ*rX0jGipLye)mWhe z`I9!vh`W!)DNL9tIEc)KJDFZ2QO~0CTXYI}){CUN=mZKDC6~nLW#VeHND?mo<)VqxHnQ$zMlgdPjYnqaD`JH zOy}#Zwad5gNW18NfF#;k=L?XwKE(_SuB|ht417<}{g9H$=hmv>QYb4Ibczr!LkH zk@!TR$z%{l`9SSa7@)Ua?@ArC1dBB8Q%F4Z4Y{vABNSJv(bJ$+kkU}0RLo;lD8(!9wUOcs6e)w+|z9;Mbh(ilNx`@9b zuG`Ny!swz>gtm4&vP$Q@kYdbX!iRy-d4r9IDo4T3nhZelqM;n%o+vb()MHLk5yU3H z*4ZN%`t+8k^D)Xohs~!@PPTYz;kS(wY5TqI^OT4*rdMs}BhO*!#CxOf+wDHu#6)x` zVgyOwZ2K(ou*+={Wc)-N1MV)Ou+FwJjCiVEK??zQF_>4Hx$uIE{?{=A)*y6Ryz{Vd zh>kyt2mf^M`1@4onD2+NDeJ!N`GNVOLub7*?HTH%W~zK?@uMbBzf9@vX*->TKZ+pw zz#Zc_O?#{+%6P9=GOzSUobukN-42oD?1DSC0dZJ!;*H2$p}Ol>cw{i)(>pZr0SZvm z=Nef$qBg&a*RrR}50^9L%`q{k`8z$2vw~u4__Ken!WXh$!t3-Wl8;mZor@!`rM7I=U^Qp z5wn&ON{0nXvI6pe|Fi&aGu}r_fYWtk1(*|OOt5Mf%sD#xWQ)!1 zO6P-LWrD$Wj`l6YgL-?A9o_5ICR`YBEKOohL&k<%up)BhzKsd8e!l`UdnU zIvj%o$5pD6E_5iJVhz)xvDXIO_knZUruG;S%u-e zgVgw^;cxawV1k@nT-56S*hl0WU8*j>RN7wPA*>|MlZTenUhavcCYN$6@#*HjCiK~^ zvuQ?6QReOXA|ealExiKj6lCFE?XbUnBF|fa9blIG0P?K5v1$bO#&x7E^XUCntZ)sZ zIFj+spUXH;|6O3^JFQlA2DPvp|K z#0yV=P6x~=G%WoR2G^4TPtBWrdU|?5$8y}_bq2k|OKn~g&H<4p`d-?#vnh$h@LJNL+rS2Y zrTrilU&=cuhEaTEdwcuIBZRtb9+H@up;{!*u~fxqXN6bf5Oom@vBPA9NfxfeiN+Jh zMh(39h!g!f*{=@lK4vFH7d0SKh7+2)G+)y3)4U*A(uJVD1l@B1Be7+lg<9u&03ATp z%JlPe3AUf@FKoS$YKT3J^Fk)t7U=TrAFrMYVFGg(i{`}%pF+*=C#3DKlch)hfF;$I z1kYUkbcAv&O&KMg;gsO!X6s&OY3=?0?ZQc3J{G?Xa{J{B6MGoT6okl*$C+5alRf9LHunVbY8UcDAueXkaCy^#^^Ok1Q>kP zWA8}oVaAoFW%FWj$cnsb^bi~lO9I%AfozrpLS%VU!)m-v>LC|wEqHK}{-puT|2=8d zmstEX-26LH%NLY=r0l5^V?RzxTe>#*99&&pJ(=bzOy`*K^{Iv> z;Y=n6{+bHlbw!?bL76kbw8W9jdDN7lpL*5*RxGkn^IPMvT*1p?fFvKOQp8cCoFk1X zrT<)p)zWR!Y3G*3Iu4-I(b1);{b=2_xL<0ANx^%ewS((4v|a2H^>33kQa0OrZjbW7 zNawZDkq|j@cdQ$JP6D}*^H>4|W(!&{R#v2?K{jB?ipSo+z!Iy}8D;MEl6N*v5;?+V z$y$_8c6@QhX$Lw!hL6C?{irJWA{&OJlPH<=nLG=I*xi2-m>%K5uLCK}S%_CPcGdU~ z4MUePT)h9wI;8r5dYCZ0klxk`4EN2`sGE@>#*p}-?=v`9rQks*D2V|q8Y z&yC`~0`RE!^1wg^!*joGtWIExJd=-*3g~cbZ=rvEa^}mf$R0g^cx{xs?CJKk5Mve) zQ4#3J4|ed=u}R6PK}{pcr21Ik^fNBQZQFSL_*v@t;y>`@bm|pKW6zo>;Y&ISlUM5!Eo^a%y^exLY#?Q=cg(!2ns2e98pN09-Dw~QZZdTsY9 z)wJOSQJe+4TIb7b;)ge@tE-Lt`Gq?V;J#@Y9auFlZZRJqB|$0;8Ge0F<}1ZGNS~#b zi{u;6Nc-Zd8g4RGy=pE*-ji!5)uJmbu<#?&Go5caK-0vvz+I%eqG5FE^UC{gb&T@D z^#Q%f5;|CPR7v7_4b-x_$NTEr*`x?DzP20PgFQB>*M8%-%L}es1nGvCLPXDxCQ1zTZUm+$)o1Bs(V=JaWoMDjxj0CI<7== zt$Y{$gJq~jfsLjHpAoC7z9u@)r0}JpX04&&9~+X5vXsu!mV|lX=m|>G?ZMmkMZaEY zOS^9xz{J=4J8)e$sd!-WgP_A3;pB8vX5Rh!>Z)q1>+q+C;~yx`{}!W=*~^pxv_Dl- zMJoK=hq}-OSiZD!_G!Mf-r$ol9zTQD%eo~G58Y3akHK9qA+9J$AAIm z{5rLoT0S-j0_u(x63fL5?vHY6kc;({l>5;|^q5xPlqu^A99=_a(s|n!k2Ye`D6Lmz z%6ssdi`91=-^eqoMShV%HtGvRNWxWXHH|2EvQV{FY#Lw&(ScZs)amMNwO5+qRw9YV zi^r7|;}a3_&#aE92pOq`Itgpmj9smTWy%6NjsC~loCVA%FM==>4cHZC6Y}D%f$te3 zjXOdo#K(u`dLGIwF4*@qy0nz+`jB6kis6=W8-f9 z%DuPa86n_s4-Y#SSxjk8)xEexNTU&1X}7yZ2nmA78FdT82Pzv~kr)Hv15EXjK<_3# zRRLecQN7Ok-MabjYz?z9HX@lWeAKTPvX$W zgob12xy+gzx@1T*R*=2zTsswM-`A$@rRlTwD_Ozve4zb81krJOGVV1=r;!57PD}HUxxn2k zsqYu91Y9km#Ba8?wtDEIHw{IHmDUF>24~1d1vf0}S?1H#=%FE?Y|Q1!p|er_AY$%q z+6WgIjefd4w-O)eY@-t$k>xR$It@Y3EPojj>2o3cW?f=xR!5Hjb@2m=pRG6EN#yPe z72D_4f78AZ2nBNdP54}`Y&3tl^GI1aYb%2YEgF&1BObV{0Fs_gZB_8c#^RNN6ba%) zYZojwZCQGgOgM&>iVy@SWL3=9hdYYy=XNS_;;V=9*G;>MZzm@UCfy9!GR7R^b-yiW zSdlXK3_xDJs9D!&IZOz{naBE*`kad(QJ7@`xfDh8nvA7!wv+{1L68X=S85u|Tor6k zBLgL;!D2jg_ubv&S9|E>jRY_SO2E8UxJ4_8BqZSA@IsKKgg>vwqYg_KS&7;wz-1+~ za%fzdI!ULWi8ANVpT88MN=Qg(PPWeU2w>+y>(}C0vyK9^L_h)U>Z+!pF~berf>{Hk z2vVy0lk?2crlo!oWCStbMBf22*)ycNzdxjW*|QY$om<861_AH`6shcF(t2uPvadr@ zvBVCNewPGk+kKBsYU9%|k6pIB#mY@CPKv%TgV_j*qe(queGBiA(Ekw9(QVQO#g{tW zXG?(j#H;c-CmgRLQWCI>;$=c~5gM%kWl6iLLyPYI+aQharE$82Sf4OX{nZOkKMq>L z#y0k9ciLTZEBUrkBMsX-Iy$xy$Bbv#z3Ti;^A&sg%Yd1J`O+hfvE_aAH(*Fgm8fkt z(XJlt%tKQBN3r5C_5&f9_O;UAD^R^+kV1)s z9yhh;0weR$q7%#4XQ-o1+x3?!@T2)DTbsHb3Hm;)FMK0Y5SoNz)0^7AWFGUWE6DZf z_W#nug5sAQV7lQNpVoUP#MX{0Va`MuC4v$(MvH(3D;?!JYtWacI68xDe$nMBhrYm4 zp5-{!UAVVB`Sw{6$@_i~nbN$75LZVmLH0#@anR{Mtw%tIQc6W71gPe z2R!!VNa>aug=r|Tu_?y?mJ*fbJMUL%vmO2UdcqNN^u^!hdlF6`O%gRV&eZOkcayAm zQVaw!jz-5IGl09x5I0Z)E<2!r$>n7mzOKE^N0~E0N=_~^CD>7hacRoIR-!0cd3NuW z(|0m3V9F&1yB=A3z9>7#2JPNiI%7;3Jvcs|uO9pxikm$m7wrv`xS-eUCiF)lz|@hw zb1Q?@4452(0{i>>{dml>e>idX9%TR^PiV>BEw2EGuDtGj-eHB(eSF_s+25b=h~eJ( zC|5tvrF2e&K~LHSxZ`Y1gdgm*uZAQ~Y3a%PuJ}Hg@=(;^JA9nB7K}lPGCCwFFgQ%? z2R3%roVoNgL**;f_33cy`AX3^t7*7c4dc)vlG9<_y^B1D)6*Sf1EMKF)ik+@AiVd}E>*#sBaLvtG7KIr@N+tRZ=#o-OH9IX z)scQHV*mPyjwKTyLY{hx2Rn^^j$xTb&Zc>=k_$ch8dqtArTp$4ks0tP9XW0#D=MbH zi-ADn181EDfj>S4QmI0ZC4ve9Y;p6O!x}PMk%_gXQlal1w8-WL8~?c%CB8E^@+c30z#7oq{kpp$G~0$fIDX(I!3K| z_U4aNnJg874~~vR#_qcdF#t(#ipq%xVii7vYRIQ?8c6R1qzv}-? z*A)HlrLPg^-5E+-?Q_Z&Nt8ir6V-?1b(WbK0)Mz*sGp!_yM-Uqxy5b6U1y2V5JIfd zYuET3fV5M+_(cjX@#iZ+W`@8Lsz|3ystvdlfS60;+ow81Wzs`g%Ke}d+NG$VZ@aq;po7ChWZ3%M)*9oNjJ_ciPQ*O6 zhiMKAETW~gY>KH2V_MCw1}Q4OuM+jQlWNg^)04`Po4_Qq9x(e&z_>;N&v7Wwx6Bva|+G1&>(WfYgFf2?Z6G`y3&mn%9sg8OWvfj(+?~iSLFI03uRbOfHC_=H!*ZPd)oxbF zXYuIz{^PK7{={Y)#3mr1N0;@ReHAFZbt^t0d16+I$)RIp+mE_DDR3Y`-qfBhs*J0z zpzJ1sv4TVPBski2dF{%Y#wy!`^9055qG+o6-h5cFjlyn?Px%eA)Zk0h4WOcOWda^B z@@?%;1&!Qv%tx@$WQKg{oMo+kB2q?2YV0sR4kOd%3MVeYUQUS=GZH1!(5(e9))LC0 z%-p$MSy`F06z=^RCAsqhK1qx@A1mPJE>#Hp(rdqSSQ2q}f}pm9K@n6}2CCOy=i~z< zcZP)VL&a0F$t5Yp1nhs&&DD7T{?e7o4&1?MV%C_!pP&i_kZiNRy$pk-#YJ_4?~6Of z_w8u>-`;E2P52pF_6G9>6U{3N3w#Suf*X7^5jjjg4kJ+qrYz(|0ja-|rV6$=_g3j6 zU?+VlcX`S(uC8iaMc&%+J;N`A3jMwA<>OT{*;<@ zV@*9~S-aoZj_>i`B_=hzb5|U|>Oz1(62)7~XN=*nsH)36aP3YaUXu#{8^}AJ%%ZLI z!V?NEt&HrP-!uK4TEFfho0dNJwZFlH}(-JI8(KEi?_} zh;7S{9(-#&xDb!FM+z2Wr-J&uVgnx@pYEWlDnN=e`-H$gN2VxDlE?wrT&RsbM2p)5 z+FD1_WDEMXP8m+LU4$`#o*=Nya?r2sjz8G}Y8$$FNbnCh=zIj5H7CBbKnC;?&Zd}ngL7XhU6#%<-qpp;|bB{$S~h5Rn8;w9wDICPwk8Ke@) zx~=TjY*uC1^2#455A#;6l(U|bv$0Q8-`;&JwccKo^5r8H39*v`IxDCa@kfJCHN1p~_ZFMlFKzf5!Vr6CxQQ|z z94I~><79OCaID|CRIRdws2C%v_;fjrXz^i&C}dr``%9Oa#%1MOMY&`QOiZRN@ey=z zWsY@UHm~)(cg_fyK1;TGDE7-68G$#Vwpx3;Y||auQihmvORnMQ9^?2-t9og#wr}9) zBaM}0`_3V%Ee>jvXMZDR-t&->l7hZTa-j92A&@wIdTBqO#rEDqx!j0jY3s&X0V#5O zEar~LuR`4)=R)lctXKsXR@|0oxFOcg25y>>%0aD%9vvadQ))NIcFcRh$i1BCA${VdW=MP0( zglPFbtwoD=N5>An7feTy_%8O*ZBnwxY$f>MM6WDqee*;+MZ}gH3YCL16SUX4 zH02rA4?8cfuOfhAX&Jv0zr;VL&50{+v@NV?^=#j86X#xoYBhn>dZ87PM%xcI!AJiB zwL3|QwUz;s;wP|CH2?P8hduVru2)5^s?KyjfBHXVeasURLh2QFqn4#jkwowxqEX+) zTHs>%gH^jO_u330CnWT!W@h&$B&sOeKO7Lu0yzj5kj*zELtE*Zq$~9pw^d-<)%Jiv zeD=hIPfIHHmtDp;9O+mE-5cVvunb$lr~c9GNi8ukW987ZXsl^F9zYmgZ$ZUyh-3P_ zOI=LVw1!gEJhAD#FXle%PMd9XCTfCLU?3ufs5~-9EkW9Btm*rfOKEEHue_0LM}{~e zl$RqPCwY)wFw=nx?C+)(Nk`0lz^Rb9yXma4iGXPa2v=-fT^(A#SJAtAwaOcu2xz{m zIF@lZCx_}fp`tg0p4AK|NJWoPHd;K<+yE6ahHFX{@{V9sVzdI4Y5r^ym!u1K zp%spR0yt6}g!EE^f{nRRm4E@7a>Ba`4 zU9N88Ln{>5@AX*p3#54uW5$&0=Uqv67(_bkcznIQv>CVIaIJ#-*6LDbg5MMU2xLeo zg&x9+HZQ`9bNBZVzw8gt7a`3l#SWpk>Qt-#*mAjXBF`7Fb8wjZumyJa3T(Hb`mpml z1JGPC)IGq9E&Trd+xi!kIn$Zl&U@NqaH%}A6*5P=tdhmA8E``#U14z%8-zegmN7mu z3Qe|Z1bl%)*_+Lv5hSLjTbC>u5w0CkU*b>{8dyYMRkiKXemKGDx@cWvjQ&#La3OQW z;=_SFJlV%jMt&8l)|aRv;vCRVfHi%sl4efKKymwx+xe#huo``rN zYDgqn(G#K=+n^J5?E?I}teH0?Hq!FEd#1Fcd#@RU_=ABVPseKkGja znAX0gELx#%iYeHB#8x;&liu-mCx>F((85nn_R!vZM9{v{)1&)&se9sjQdz)gul03rIafHDmnB3@P@ z;o6MNt*-3zUVBMUU^sq8smd}pFAozTq&&G69BKzhEf4IRNp-&Oir>aTEQ%;(Gk-r> zhtIl+zn)omiV9;#9^{;f4zKXG)^5RSUy($&<~)}pMStL8AL=shUv)qQ(c+?W;l21? zEVqh0%h>dIrTazhBW99t4L)!MDN#UjJIw|kpjSg~*Ra3Sh>ZENa|;TXqR-Ux-_>dg z0$5-ks-uZ;S~p*<=hmYh%3KQEd1HP%9f*l22WMJK6hdK>s1euRpu;AYoSK;gT6FveSop&|u)^Q$%U9MNvdL$`N9{@pkcv9_wwS z9By)4Hh9sOQ8gZ`z7cK3Kn>5Nm3zI;7oqJ#b{Ty%M6OmksvTUNO=0uR84h^!MX6U79!2i4ByLQ~j17QIAds{fM07{ChA#Byo%&`l{VAVvs?8KIc!YliPEIo~=+5 zZIDW>VM_S@htGuUGi7B;$l63nxbR|F@Mn>OCTwW}=FK`Y+;k~XWjRcb%yD#0Wq_=r zR-Li-){HU~xPfQhyr^6*!GJpOT1aBT8jAeXev|?xGG!1B@^&8h=EHO0 z%E9PEOvBF>*o;_yDn&Z29&s*_l{?s1$6CF|Movb@G5nKud97A{_Xonmo2L_j=ZoxR zO7w(geDVOu*SxVgQBO>l;E!iYlaJ*XQzqa}l&TE1=uEfAZjdy`On{L~=Hcaq`_+rP z(>Rc?*h~1)Elep8zB>{Q0Wp*V)Ihehdu6WUz)hSC0aji)zYh$f4i3g!^M-G(Ca~Wc zE8Lf{S&SLfbHY_s0kTiVG`{?1(rDe09T>%TLRKAX90+XFU?u@}Yo6~ylmAE4RWL-= zMcW~Sp@)!;0cnu#?viei5b5r&p+mZqF6r)&QbH8z25ITe5d`O5zW3h!19RrwbI;y; z?X}j{Q6WPiVCg}VIi(7G3(7pP?_#jn-MXk4(0AZ1NZTz)oQ_Ykxz?Y@xq8?tUO5?O zDG!nZSi-<(A1Fc6_rBu|o!l#IXsMgxzF2c!>sK_)_E&_?I4D1f34eLKqBr82n41{~ zi0YO+n|{FoCD_=O@^Ctw3P&JMH*`4M*kSDMzfmYbZh!uUW3Ow3nmR|s(WUjW(^2)8 z;#a=Vl;6{@h)pn<*tN~+*Z}w@?Yrd|O$>7!K+2!9w-OJ-afrT)9WnX-&6W=tq+wiq zz-S~!`?SLkTtHpYWj>Hl_{Fb(jKWg(lK_30_!4o1rpyctxyCTnU|&5l!`HwLN&&h5=HN zrvE^q^I|VCL5{)G588d)94`9OM#%~etkf;OcBA{Db6W@v@YOtQXl&#z#l7&cBI8m! zdUzkjCp`-*O7X)67y1p_ViuPAP+pNn-eibkHv$?#OIel8Yk{;Z>qdD3% zRSTd!@6-;$)|aN;DCPOVfZXtyztaDBfjB{YqiNf`VqpAMzbN_Yh(oq1GA8Hpm{=L( zbVdq1(&X;%FG8L$@23KY#p_Lb0Nq21LL#d6nUI}xJ{8y7E7gaq_bApOGcKz<6I#_2 zF~i&3fP`d>2T4xNBborSS<3Ho})V@&+>C^^p&=6+l^%h@!S&@P{vrxBG<2c zwFN?p0Zq|IvHg6tK=S;qanhC#)tm~QEO8sqPc$z%eqK!spzROjc-GwBmn^+I9~9Pv zHqaFAjPu6|NM;Nbr{890Zg&(j6TO#LsXY2>bjKv8fV)!ErWX1UICn4+fQU__W%XK1@A=ZeVa34ht#_s2 zZ|9n{58#zH&i@{#71N2r(TfY9QdfRcKha!cCPfF)CH-~K;*(19t1HNh6*DBjaQB;gZV=*Ukp)Y<43`H`*kLN>+A~@akjH(`6t! zEyco*ou+M&Iv6N%)^#dZ8Yj&^(@MGERj?~~E8=0U&dAdg{ah;=_)Oh9iHdOBAyPaG z-`s^Lga19e)|=z+h9@K>golT}$;g45Wplz8m$VZ8qEc)G6XOGyY}4~OA#s;CnHhjM z>UE0t0+(t!|I=NJZ*u+&CtX{94(VD-H#_IUR!;bj%+tTfv-c;W@ySlnMIt&LK5D#ocP+My+R+5u6bNLzvrTgxS1Ix|=g;XEp8o;ov$=E- z^X)T&d>Ibh+9ejAEm*Y;z+nCOp-jjK`W&6*HUkgy7-Y`4V&*tQk4E-G%}U+j?Z#qe zY9=hcAoYBiUES@Yu3&$EBaRQi>Wq3`XQ}S~`Sa)D;aBzZz!BtVJ2RTM)Yh*2T{(BmMz1B)@my<<$1zHPufY#{2W6D3a| zlDFd{FV(gSa?aZB09*r{+gA=e-)68N&^ZP_+T0fuh;R*4MrUVQ7`1J8KwO%srTQe# z(dlN2_vZmftI_oQjk@NcHP1VV0-Ja{#=JAb24m|bZ16cHz7WLsYi)#718I0nJIY(T zfs^CLMem9eO%p-XP{rE@V0&uyfop_)wC;$*q4GpX{qt(RDkB921rRnTUb;9t14OW^ zD-TY&559_nf-TwG)+F8%N}qoqyL=Jj+nFy6vl5Q7dUH#4uXn2muWgK?aEOiU~=C%zOriB zmQSS=xdqU``&pz*TGF~afp4mZu1-)VVGsa-^f%+wg>7rTE{C&!c*_QbEL?$L-|(JR^pI-Iz&ycEOXmH>Q$j%4QSESXE*1CleCwe+rMqQH7^;b zIYu(M0gb0sXCE&j^XIqIK0Fb(e3;Z)TqhLb7FFuBnX?^E&o}0l{0CC(ipriM*BB{E zsVP>)kqgT=Kn$%+K!myRIPX?bBbwOEhrDSA^&S74Q?n$e`j9_#tl)ltlk(-~vx%!e z_(qssA5)_Gyz-$Dq*0r5`h4UG{C+ywW7ZrW02%yemr3WmjU6iXl}1NKk=mxlnCE z<)m(cktR&gT_82MvGRx)?LVlY=9wLrDi$f*hs)-@KB3UU^dHMT7;^Mrq<*)44^svv z)EcxU$~1`=NKFt*b1()%&{bVPkz)9dulgI`w5TXO!F<$! zUeqGO+0a!-gqukW841*xOVaMiTpD+3cuUYbr}KgZ1nnn0*CsU;2{+aWUx^)wqc*b4 zu}P}8BcHfRrKb(}NE4B)Qo1Ei6*l|D0vmDF_jrEw+P15es$G!l-wERGigWKWl7 zJNwSJW|?nnW@bjavZb^0Zr=s|Zc_hr>JX6Z}x+XmVcjpS>-;rOZ8#{E|2((E$7W7@RuN~saY=G=#c6xZvB zIzn@7>BIA+zOzKDqrN{$NqqqeN`Xn1uWyO|WT@;+?U8a`ZhjULJ0&U5Uhv+>(Tb_S zS_uPWxK6gw%rMOM(@F)_*rL4>CKgnQn z1Ri1+53w3@H{{amuCVI zaA%^FE2_|VIX(ve$6(8M&IP>{O32Ot26SwWbg0SkVN|bLkS}Zn-acycA#G$}UhUrH z-vUj5?6%~i0s38T@*fGK%pDsxXD5|TZC?&t;3js99U$nNtvfQ^BX?YIs}K!h)NuTI zgUQ@29czkC-hlE11o|hVMR%?hwsnmTVW5`k@>34D+tiyZQeIYX5D&w&!F3fdZW*Oy zWnYZMxdgF`P2u7IsasbAONPzA_3eoB4{Zyb{n2()h)2Y|6&DX84PlFTTmDf%@JCaP zoe>}-n6pn3+Bp{s@%05j@*t9EQ5L#wEmXkL?VA^~7v(~c^M=I)ab1)#q4Q=6nv15p zVGQ5K!c%8>$~U~++>&F|nnt~Mk1)p3TLtPFZcp4ZAml@`DPZxlXycE9o}YbZETu}(=T0MlOI(?9w|(B*%-H zKn$>OM59LfQr8E~4ivbd61 z^A)}VLd30ssN};US^V_~?bA_ALd@VH9z$+!j|BBt2FhPfz8n=16=frSKW2S}-~2p7 zWhhO^F!LEV3!0aSKb3GHu2ni3)2lXBS%$WBlU)buZ>QcLofk8$ta!5AS*pqO<*;IX z2{sU$H2;tazBZdLR`{IGE+C>V2%fNisT zee7VM*ur=TQ1DjF%TCBM9hU2MxW2hn22fGm#0h|D;YnV+!|bCx*aLiO^#W9RRe(=d zA0^^nkZ4DvVRBp~_O}%4k`1A{8acHz&w;!1E1|SacpE0Nr&nFa85H8wpD zg95H}CJR>b{A%C09Oc`I=5)PY2|CWWJ4TBDUVy9ft2eahiJ$-NX8w_*LppCiIc)(r z&6Z;1iE}mdnQ?cjj4!}nwR?S@n9-s?wOwCUd#lb+VlzeAojLM%qun}$K|-08{9-4p zgk<{5*eH2l9}=Q0JUirx<{1V4*kKv)$AZS_H?mcY4Lp)tq@9MnJ5KK{j=Bb=rqQn7nD;_*F5`8rmX@ z^p=Y9+8P4ZBI+ShXbpUc#r0BgYR`64+#uI8rD)1)bJ>Z}mtc1SeE}0g2CM;tKq+Za zg=9KbhDFTa{a1kkIT`c^ZdQn-u*X%E)?6yJGJc}RqTQ}|2t^jr=uWeYzyJp2 zVjIPe`*CGL{Y~-%bSBc0bgg?tGu*l{#mX*t-DiCDEFto5rZNw_^tP_<^sp{pKZ%Ps zyV22hn76HPDy;E1lpUN(yFUcMMnRDz<$BwXCveQvw?EWi{>R)DkaBXBd{Gi#ozu(E zd!3aL;Esd#{p~TnkLcdjKqq`S;cYTDPq<~W-@kopdDG!x3c>NaJVZMsHYpnIJrX={ z_rB(&vF%$o><$SoOC3e(K2E9_UlwnP5g8*5X)$`aDIW8X)c%`*-*aa)I&yBzK5p7o z%q6P~li8b&A*xPYT__`aWdH}%@W#8Kr_RLer+Pe@qKLRO1USp%olYxzO~L$X9@hR% zTJ>$KZ-q3^6-o)2M#Ct39bcIl8iEI0ol2CzWHh4yi{FmCR9AtSo=+){pD)6kS>`}A zz)P;%!{P4hOPkLiIt!6Zdoo=;DA*00V}89RcC6Hw5a@~!KJ$APH6j#6IneN))d*kD zRq}0c|5r#j)G;8qdFfgleiCbZeA*g(H>Yr4W0%dtZH<(?e@vkHTtwVX@J;VgqL0$IE5g|L~yZV zUAln>;NkvkmVqsgKT+1G_C^Aw6zR_XS+7zVRE-6ryuKR-xKoi>sWv^tsJ9 z$)f1$Q41i+qd5Sz?qqJF*WPv3t5#wmube4H-LiwWF-pt#^Je(>pOImy1%?$iScFW zK{qi#9IyAP7#N_@7G!zyCCK<_Xn;~DvdfAxt9vR_Xa`&hGFLcqviQ7A$bKI$P&hYs zl&}Jhwo9Bg9-Y5@CEl=}+(fSOo-ACK;e65{nB8Ccur++cpf)o^%-Bs;&nogr8PUPj3`(>-aTy7dzD1*vVo;S59R*6Cy34$-L0r zDs%UF&w+v>=fJ6qv!xfl);;}rkp81~T;1y9B{>MhWkGSame*Ljb|ehGBf)!x*h4(t z52@e;81$lNAGDUiH#VDXCh|*tvP5{D|Lm9G)sL%D#+J%9zfjPYhJdwEVb`aN?${sH z!)LPyWT%%Zjhy(5)_(h1dt2|;ieN+}cMz6lO)M8f1~h4py`iqj`aTDg-%+AYnkjc9 z;0>P*u6hKvhHj~c-FGMY06r;S>Wh3D)2uPA(g1h^kpwel9%-|2Qs>{yg8)6mXOg)< zeTq@CY>|CoJHDRUtwb5FwC}k)hndVTxKhf6YT%o={H zl3}zWaN{_f@|gE&2I}Sf3)%!-r!L=w4B^TJyP4bD1qV8_@@8pFu%X1KexnrlTjTBq zn(hB0`3~5@xv`#a6Z#ADf*f^l*C4xY_!+@#+;`*9RZ|oYs49KUkh-AY`*BE{(ThKQ z{|e^%9_GAPtit=ElP~t_1^fKZ8;m&$xR;+isvb50x@)ed{cs6qH%dMn@P&xx7V~nB z6IdyZR7k~Q$&13`t^1+lD(qS`>hjiDHS6-{CnTBNe>GKFNuwm)$JjL3)dWk;#P_2Fr_YumTu@Ym*+D;T%=cLO* zdq6b5s^Z|k99yObeTPdMy8??Kq?aPzbw1c^V`YB(j=cCUvjkWxQ2mgx25~D zPhi}pF23;=oy*qPM>w3=e$6|AfTG~sf96HREO~y_r1dCM#Gl|1{DI{60&3FzLhm5w z$!?tc;&TBRZMHbdVAsSj675l&3p~__i|$H09ZrK=|1QZ+>c7o>%QBi0e|_KiU;3Jm zwRzjGltwQQ+mH|wk2@v-*k3PvDjKlFFyTyBKkvj2e>T2{wYbB_)oGp)fmV6-B8pjz zHZMvL1YU<9)%M>^e7&VPReD_)u+tT7m_0(JhWAbc9yD)zSF5jC*Ge{^Ff+qnx`eA6 zIZu&)6q%5@?kx)f%amy@+oQ+Hge9}3|3Q*XjDKOF1dfRJNZeww$aVXTEljufkrGdK zeEUdeA;U9FhV;^Ym1@+;?tLf-3PBzj+Db!#NZ}@yu6AI?LOPI*SY^!b-1mvg@9Lg`h9Mv_*+yqoLRmf< z=pX|BO=MA1eYaKpFX~Yv$bgI`N6Z5nJ%%boMyR;1Qt$)Qyg>Cq9(zQ7FZ*LX0{x#& z$X>}CEPwOQ^lK}i{wUC-@j?;r(M;a-p(8Q92P(gSMcoNobMup>YRo=f%A9 z7cozkxOXewoKk!}Whf(o^qBH|EXQ@mnB8i#=Fz3`AcGwid=?8zC@FDgpCe$x!5!;;HF$LaHa zE`cleG&UoBp$buoB>Y+`o+d>RpjZn$a7-a{A!}TfwmfaN3KG(`QbY#@QW%VmpJx-i z|66J6`jf@}k7euHa$eik(|??ZLlQFy_J{J2y=|Jnhkx_)^UJ&Hq$LAW6qW9Qtz8Vo z&vkTkY`C(P+8zO47XQoN-!Zf)(Ml)2LF49=fmW>B^ULfY>6iQ`C3o?F- z484q@EcTHGL7HA~4^RL3p-}20dy5%`jU$ix*b7>dLeHcz*R7ZYEy zANB2XO)$QGjAMu#6jccM(${YSLboSDl^I4|01_sU5hCfq^AGL6k@b`X8O&5r3tl8B zIu~n0(~*&;oT4EhXgUGtQv@=s5E;TNk+g%)3gpH zQD3-1Npm21<#eE^$~D7m!_}IW&nGnF7k5WJh~1Ds%^|mVl8*=FqX5pFmy@%yylk|( zNL)6)$(!qYwo*DgzBaH^&HMiS`|><9RdA>Gi4kMk-TexabU$tv?nDHE`YT$C@1P80 zc6Z+tU_)>Rlc{w+&A74?f#TzXQcjX$;%Sk)oWY=C@|l}ra+zVe6&Pgej+S;yAcD3u z&hCvp1htn2btLI5ci!&@%EkKHH-=ciiRb}J@JmdQI^Wz z_f#lh;B*4{qI6Ap+H~zk@#JF7NNtsp7nr3H1pWEva@cHQUvPo%fK^Fr3kH({D<}NZ zaz~C84^Q_=p4BRo#mQSw)77wxPotYrqZkaL^M=B5A#(Di3w4Q309@$r60&dLu!Feo z1FFc&f`8Y|8ktRr9Fs+c>~(b{j}nBuw~x*}rfkGK$*88wFn*Qj~hS&gJ`#5T5eD}R3zC5s3o|6 z3tLW0TnXlys1+)VOxtgmE(wmIOwrU^c&;W$6^#x+d(ta7%cjiv!YW!3%qyU-E6_V* zsnqyS%$Mlf7$l-^L>aDns=&B~tfjg|aRjS{>CBi~%+LQxBw3)~v${!rp~T082@$Iy zvV%fm?BKQ zTgt6#_f{Fp*XUci1fZsi^@kqBdAQ_54_;GZUDaU*n}M~B&HJIPLxm}tny>R$11^05 z!g}nceZk^D(s;OYC^XKrj#%6NmL%AI%b|v1M~j~ygT@?-`4l1tU6R#h>+@hELUA?7 z(x9)r5N1e3v3~OV+0bOS-+9<5a&O~byd@A)`U4|K{dhi=s}fV;{~V#Mr>3R5+Rzjq z&F*O;i9HZy%LQx9o6K@85q@nzBwtje@|@ukL=?$dRZLLKtg96%E5*V<1>R?MQKgC) zsoOBNd_GK!gv|7Dkhh`vcTx-t%E%JqR)(~hXNVm80t?1G{alnD6d|{hfkBphdJqdb z4@SaD9q)<99ZaJrD{J`^9QG1k>4tm0Pzq{i^IfUKWKOcMr*Ha{en$gL&$=uy(INuRD) zUha|HsK>#6VG;(6c(-ABYPx$Q!ocJX@ZV(!?Qnhs>4D5Vi_=iP9BMolGDzr*9B(_8 zf=K?mkbvGkJrZ)vg=e{@yk13>mR<)6t2}i%=2u`kNFIjxflYFDF9v;4yzR1j8j=R_ zQ5b{VuH2>LSK|$>4yj)>I@CyIjO?lIs9kx{i7p@$I0J04vSdHYLM~FC@=uK8M^YXo zRU+npb9Qd=a;R<~$~R`+sVl##;J?L)eaJ)pT`l-Ht6I5uE(@~6H8nIqjiXx=YTGEV zFXi97USC^Y`|KCw=IwoZ-Rlqm*|ZOQJpVj!DLC=j6FKRsp=AbwRP!4R14nyL<+kZ} z(~3n5lM%iq#5BxSo`h%oqmoj543cm}Q3G+Z$GEWTc!|icuNF0&J#PLY9RgeesX{I= z<}EaabOM=*Vi>D2lGOP2kT5!KisBc)YYxBEYNhEJd$>wB?+xHn#QUi8vj$we1xj{B zf>i!Okr5FPQ248DVLz#e95Z#Sy7fCLzg2wL!(ZerzL);~1wmIBcFMPDC#htiJ#GOW zE)zxkp5SZu#U#hEaT-F;#kDn46He?f z+f3GOnLKFDdFmGF+gK{8EnJCTu3`uBDOFcYZ<0-#V zOrkYKRZO`0Z5KPP%*QQTK4hLcw{CI~*-d!E1j??0AV*Y05JV0dO0g6bR;42sVd{Yk zKSqdFViXJT=$$SeM3DlW%jWzuU*rpHR(ni*k?OyRwCk}npP0;3B>F#N62*L6->Z;ka7$>FCqJrJWnO=la=nZ z^~EP0{8HUQfZK5kmib9eiO7Yx! zdKd}*$x6z$$*JV8i^J60El`JrlD-EhV-wW;Gm zK^kH=LMdG0!sP_u684A+ROscOnc9rx>z0?$gF6uu`>Y>tl{gp7*Qs<~1;l%h7Yj`1 zg?-!aQ^t$zFr;&5>zXF>Mc3sLU${y?n#^F1UG<&n+jAp-&xP}h#WJ@0<9@651RfaN zJJHs5BrczE)x30<6^cp2Tngkyyu7?XzqQ(dA|W$mgdGeD?x&Uv>S@*M_PbJ$D3DC3 z{s3{`9!@CHp;YMblu?lhpB-T_q8n8>UFGGYjY!_ljZyfid=sG*fQ_68>zx3}8Of#} z^>2+4$wkt?@4-}Ip_SVHr-%yEmSKiKbvuYrnM+|xa?NtcDzl1N5S1=Qh2s`_sLAL* zT`rlLKEefBv`8=;7<$%r#~mj%81ykMnvU^9Y=^}$p`3Cw>eg{IGh2$HCyKJi_wj#e zl^;|^kukia@H*v8irpkRl25&{|2k#UkEMMI-c!DQvv4|k7qHjm{Rq8y2#T?_NPhJ{($6) za28F*mV|Q`v6cNS#YQZ2(;<3l zZ@a1F-dWMVhODNc9MomVO}i{B!F~EWlu8JtX)&riQ<>A?Q$13{iQlIE*pW9!+I=YI zj0%>5f*Jod)0pHGj8Vf0R3^=Re0;o|O6Fbh`Vh;zr}N%-yEoNXSXkxwwSa?xy6f+El}Ry5n&%O=ALujJ`1AslMJ-t92-HD? z`51CF4bQwiF-212)Ij6HNMC&osEnpH{At3#3h`MlRQfGP{6@5{VT|dTDi!<4YSIlc zf1WW&vBc6nqeD$`#2YGcPJBo4gV_uEyr6&l6ZHy-Smh}FsuPWlW{RWq-1q&6$DQYL z={Cu_W>Ft8wa3aDZ2(c?#MMATZT5nT;8iU55ggI;S2-<;Fh*O1m-oe_xs}(Wt0!3I zcC|U<>-=qP&H`XQ5glyqkbV0FoyO9%S4?DRQ|%Q~6e8nOdXza>%d7V3jCkBo6tntd z#r+aj!Vim&5zaxSg~*U@yQzjUW0NuDz9^|+rnk&xjquRb`yr%=o9i(}o8tC6xBNB; z)L3n~MaPUvsz{JU7NPw+SCjnYJpFRNq&4$T#`&ClHM1Li(^|x2etwQ&GJCjY-8lZ&^{YH^V3NqJpVL;QXq1rFTHrKNiZ&BP|sX4F-kDR7$ZyQ|^kGBa$n~1ZY8Gbwe=v zxt6qs$<-pd9`0xEQExuqxR)Xx9zTa{udO4(@#;;eC{9V#3S}#GjZ9297mOw?fJd!ERU6dft|D^s@*Y#1LT+vb{Eq|U|M*Mm+4{p$2cMvbUp6D-VcJzW6oX)SqGzD~ z{q|i|a&?PeRN8!r*fMJ~&j|31oTWfw1uU5OxwO-)_*~dRrGry{dwUU;MTcKDqtx^{K&E_)V46bFi)?iZm@$XcRPpHDElRRC(z!o?lRp9Z za`RCrU+h;KknQ*~C}-`n4(+e~sA{&6kH-lfnHQ)MSIdpKe0>EE{<}u=cyiX$`Nb6? zqN=8*rmmi;Qrg;jquuH?c`0J~@cn9T?Cb5xn+3qZD*CSg;3St6{O3DheuuTP6I73l zP9~1830($O%MRybTEqxUku|CM8s=R^#lu{`EiK&9ISE2b;D6R=# zMs5;aFEWbOfQZ0* zI1M?^@zIDSy)794)a=X4_s)0yyIMD8e}}>qv6=}5oqsj3JH(s;hTlmN_smxhcg-Ih zn2ltR(tx6dy;IA=+P<$t&)SopJLKx)F5G|`oNt^OA^soNiLx{3V@4V2M&|^ z^gx6KRzlBsQ%VXo$s<&CGTJCKBWDk(K`kqxhGWr1i=#P}m~K6qGeiqGV1_VWITjY$ ze$rMa6UyrcD7Nf6-Xru{c9@Kn-tH&%#Vuj%3;Z3!L8n@}_jLDWa8tqv&n*^A2J^lp zb8DVCQQD;kk=VerI$XW)QO^J{M!j-w?>FJ)7t!XBhv@Z?z44!RgtGT5g2KXNB?HUj zYoYrMjjaZYb-%iTt=!zSeijb+qqMuMk6Sn6_1Te&)V6}O-92?}BIps`p)q7N67bZmXpU%?75)b@}aHcqOh&yYJ5xk^^} z&OUkF=c!1N!akq?if7%7Dk+@Dgx+0g$n0T)QSIwrwR4B2D_D=P_T{3ZMkvrXeID7t zG2^xD7@aOvi{IhAf0yevF5I#T0sB(xJSRt0EgD4cov?OIWw4*6&3>VL!ZKx-fCECU z;y=6bmv_uuED;rC1S)>S7Y#`h33!^M#M47vB3pYFME>$@w7xGVhvQeb-;7(Xd5@<+ z&f`?MDHmPnzKn8LS{e5HIU~u!VT{3723r9yil``epNoL;}pXIg@wYO7m zefePf!GZO0e>3aiRig-P3!B(;4L6V#MX@X45Z$MeVY9hJ_t<7V`TI+i|!;QHO;dZ(oJV6v^_ z(^F$q3y3|Poea8c4l9O#FOA+Le7((kvj8NO(U-;P)1p47lqp-T0&8D;tC`6PnM+fj zKNbHJ9CGU6GDuQ<#%ZY{6fj%BO4+)3&6axlIEMS-P)m6>%F_`IKPRUB`~ERCQsr$D zsssPo&=1qa`pBuTj<*Gm0~#Th;Z~!R2S_gqCi)Qn{=S+!JUp~7LZS7?svaC z7P%hH*Qzq|rjz6q6!=i?z31$6Zuuq4_y0A@MzbT)??B_x;{4M&;H(&q#2IFdAcbtj;{-z}Isa`4Ntm7Or>kAHIo{BT( zfG;J5{JB{$bGdnuVX=%Z)E|_X3ehk|Tm{u+W=!DvWP%UbJL47%6 z3MHKe4kSJ+6hqecfz*~INvoH`=pkzMU&EyASqp ze8R|nTY{7yO7P@u7&=}7F=phOcIQ}+Ka9ocYoC1p+p3_OF^k6U zf3q;~+{i1i|3eU%-YIoR&kzBlY!3L85|WKL{=PSJzNXC08uvVjBD=AZ`rXm1_hz-? zHmJ(SIq7lO#zQc(DSC0Ibuhp+zOph_s|-C9cXTviZf>r1Y&Cz~`GdV^DQEr5vDFSY z*_jr>z}m>jXTUA>=Tf?4hf1WmplfF1juvE_O;^qIbefq2HC5#0(>wu~PsM>^F5{-| zW0!@)>sLv)Jp|n_5LkMop!e5HgVkWP@XL}jwZ|KpiJj)~TfZ8CZu=5gy`Tq~hrfH^ zyLa#S4gkt!_tm)Q=;&BRMn>ycUVic12exPUwT6aA3y-5=HFshAn{ z3vvz*mK1%t0lp@>svdgor-MV|42`g@LI%}6tw%w61o5y}AJkWU?qdDp%c)5{EZJ!F z@$@cn56*)BQ)GEUBJc6|FK=dL?%TR5{$EBV=kH3BJ>m~4W2Zi$17m&t_VOGSjM&)N zswq|u?pAIF>idF#agfgIy?GOR>#ntk$FmT`_cW#nvs#+KWn7n&$v#hHJcJlTXA*)8 zD`Vvmpas&n+#+c$BIw{1%J|(Rd^00eB-F?WaaAwq3m4-R%}|bJg!KMENQUfzMLJ7AcH4+ydy^B+2M1x2CVJJ4;6AM$obszyn^}O>B*5nov~k9 zp%;OtJ77{?QN#BaA5&~TZe+j z{V(C@T5$s`qkK3ZR}&JDZX~^I=0oCt?a%U1?JB#tz38o+13&6LW6E;3(6on4mAtI5 zWW*4sDV#DlFHVHonaF;^^yDIl8$+$s$3^{dJLEh(Y28dIM%s8Y5ukbk=t>S+jCSWH zy2~>A>q*%yaaDEoL@=;CFZij+rbxHx%DW41&w#o4zQ02sUKv z2QYQB?lqwkNqQAqR};`AAH%^hecpdS>Hto$Ki!W=&yt6$9;1e{{K86IgV;JRF1kCG zzJ6_4-RhG*qZ9j}{Y4|j5_F`Hhrn{*{!^X43kSh}r)NQ~NB5T5q_<}0KpX`4!u}?p z2$G2CKiDYK1Me4dUVrN%OFiM_+&+g<&G(-Q}vS;X`PPg7+b zxV(T1eIw_LlsaYHS8nJTwKvU_CtDbr9{wDmd;fp^q7GP$at@K2PMVALx-=^O1MDx7 zRKWUHJgf{7N>t1nxLlBI=2B^)(eDK?Edm^)6lMa>D;5cxV^U-g9}w5&1wl>eUe^{u z&w#PKP60GhvnGfQmEsau@!Iv_*w|hpoQt2|>+~9!eU~TdL+5F@L_|hSYk^18XSlxD z?E@bN8u;Jy{oLHR)4o3(zDFNxYd;g)lumYK7b3Lb^d_J6v|$o%dwSsx&PqSgWDSrC z*MuPCxP&s0caWxDVLMEQYz5DZIBgcP%VZJlG4Bm8jg{POv!Kot4ooFa`0i}TKe)sl z&|h=;Vj0BUvA1teR$je&W#?HjYb1%-F?f$P17x-muV0*8 zTwIv_{hri&e^|Zce8acaCS*63i3PBcew;@(p%B+h}Y*rJMa5|I+#|=RH1q|Ar**9o=Xpe{sqqL)t;8QozIn?asB^FzF`7 z01<-OY}49C+U{tNa^TMY>g9Xq{{k!vGFhjgoZ6?+!t*0jwdvqVqEwAO7aQ{gD2hSj8>ieFyjxoxTM;`+R=9h1?(pFjUjE}Mo`db>T zW?6YbG894-8I!KczsB^Tj9zm7eVy_ApQ8d3NmO!R!4D*e{bs!NEK&Ns3tc2+5a7Hr zXMf`#RB!A+S#F0^)*bCQoGUK*w8-7D9AqlfZlkM*hGkpC+#X)tPc>jB6dV<&CNnb= zC|)^3ZuEdo?6xOmO=BP$2yiL{WlVay>IAEC#HCB#rAemPZ1TiqE*Yo}>u@L?DQ5nvm<$T$zch8C|_Ow_Jd1#D;Zs)vR+@<3z@4acpRn z+e>q*cj%Baw3>Iqbq*MprTY^94H3gKpSeyCMT|B=P#X%RV`kWzN_75+DzE%7Gxd2nRirF&Q z332@u6|1SlL$<8oJD&-ke{jj5jxMdBhd^|Y zkuIBd8oBs)xMYi+gP~AMDi3dKcYAx*oU#1J96W%%>U459syBfJf^L(-&sMYY^2ATC zxQ4Y^aHCH}rr?qnK@x$8wc0oB`uh6R!R@INuNR2-fI)9oudAw5{-Xpq3jpRJz>z2c zhEu-z?Co{G>T?!tZphv`j!u5gEGNXxCk0PAZG2NCw@^{UhRG1dL{KFpZU1prv!h6} zrrueXTAXmQFvK;)J6J&U$Dk`jDxIy>zDFF)NB^xUQCO7Mi{ly+wRwMkfAxW_jsm*z z^>`3CR_dBU_W-6=Pb0B8qJfPgd3V7CWUWANCAhPTmp9`x&l5!tkiOn_rKbWV&%CuP zX;kl-AbCRG>hzC$XATDh(C8N0iwu70IlgSYFIu<-8g%87r9{Q4%;`~NMlvahQs-|) zA^fh<`74E7uJ;Vkk^&>o>tkqGil5sQy?pHc*)GNX-&Y$(&($j=QJ-oYu zBf^sIcj-XC5Xm&3C-l?2?R#X*NP^)B3JCfV;fCeJOmqRR*jId$g4Q6k4LAr3X;yb= zva(1XJEcFu7+blt^ynS{9%pBD$)T(nMxFB_5B{}+tM~6)Z8+z75`_gt`NhS91g;C2 ze*n1&kc2EOEEMzwKK{P@v8=F}7vQtIw}&2*3d|?$1M+~NyPXeA`&&}XZj{m7`jzdW zkeNv<;!nU$f**zkOlpcmqjhLCT5_D9wVSc}@R0P);!Jne1BCRDe1}vmJNa1#Rg>tQ zeOwV+)iQ0Y+~sl_2nqB=sGb89CUv^-sKyd_2U)`3G9k3moBpqPHqHv!4n+d^Sh*D59(bHqCn$Xiz^OeDU?~=r) z_6kMrSW5R*#;|nJhW|`;pK-vg`%8?Snrr(xUj1my+?75N!T3uR?9i( z^Lq^m*9HJIxpEq%)YHxF;ztG>U|lhh-)H=Wv)cnP{`KouSo0rXQXs%W=9EB8Q`K#L?e-Oop<$ zYz6ce(~>(3L4Hw2dTJY|H{LhP*4ie;YUk22z3!Zx}(OQTeB6Y*YUMBJSbI#msG1 zpng+qoQQt1*&iGK<{zU!=u`XtKDNHUiVKdZ(@*f8R4OfDlBbD)=oqle>dl$vCok=i zP(d00dw|lC@i%Fx{if26bE4Kh7 zzwOd{SEdms3%|mGEY~R1%COWUK&6k0Hjf}WVJ0(o0;m^ znvQ

`Q&9a{VuYQY5T?GTpzzZ#;=~;yk|dfP{kfyWSnfHTcaLP8WB$Y7;TwK)!}T zKwk{YZvtu$=1uFwgE})?$2ylPv$C>g3ei;#0ImqCNFeYv0SF6_B`Wp;B5InTYpvX^ zNrZ$B;cIy9_8dfp@or8yWM1nnT=<{1-niN5|v!u47bk_mZ56s9Q(Z zu1o&0ME_;0oj+B%g;Pr{(gKP;HG ziAw+L6#ru*USwp;NbvVh0cYIw@SGv@jN#%vv}kdq$%Gn=`}h%xZCYeSqFc8KkoE)4 zWa|8yRz&6}WFOPM2h#JYqU?-k&Em@3s#=G|%#x4?<pc2YYxLIt3{uKqn0hfX_8( zp@A@*-V2A#owxT5zg&$RBE0t{au)CE12GT6Hm_3vQNHPW_Ssb^z=rdYvv`QLBu+}` zeN0yH06V)LP0z8hy~AY_D6r^!(Ixnm+Rn=Wz*9HyH#9H^luWBq6{AaLO=4y&BdvNey?03P?lo7N=MwCf$Uv@ypA1TiIS`;G;+ujDrL@$g)(vvi0@# z1%-J#yM2w(5~%dlo|_0%Gnpiu4W9($nqs-R!3^A8UFtKYWO<%UHC-ijj0RM~A;-#%e@UxiSA9H<@?-kl*q;f;E8lopZd zz$X03xBsm&Ez$F@SPO=bu?3@mii&7^>*Bl;Ah}mwXAhviMnS@)u8vyyy@ifM?)XM1 znmQdf2ro&-agiphvEy1A^jHsP__oT+m4B*+e!>l+rb4E2LH*H%lqiGFkNlmT#0#s! z{6w+{KY}-*A0@}z3cK(b%Lo0J9(|9}DA)rpI!B2Zi{grOEPG+rIb+-hthqg$>56pk zaGQGA$=HmYM|hiTp$X24|5}=D3dbquL&dd{;pXSwLb;<9vtME{P$o}JM`Ni2`U8Wr zP-K4SCp>gf=A+tjWN*m+*w8Z{%6t4HpcnqyyqaY&5fbtyfMBbA=FCRPF@SYs zz{Dhx36XSC@|FAW!=6U--E(guP6N#(R(cw?`wx|h8h-s)YMgtRv*ANGQ}Wlq%$19C zR^Da{C>y!4^c}SYB8RxS7?8tUIsR+C1*xWl$$3$zX>leZI7;=H}&9xOy

2i_Pvp2pzD9QSG#4Bt8$ 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 RUdRye$Vn+nR*4%2{||)!0EYko literal 0 HcmV?d00001 diff --git a/resources/osx/openlp-logo-420x420-background.png b/resources/osx/openlp-logo-420x420-background.png new file mode 100755 index 0000000000000000000000000000000000000000..1008621d63d2891ce9fc2382b7eea205a46148c6 GIT binary patch literal 77875 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%0Atl}`ht*$J3U?VQW-Za2_ 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 literal 0 HcmV?d00001 diff --git a/resources/osx/openlp-logo-420x420.png b/resources/osx/openlp-logo-420x420.png new file mode 100644 index 0000000000000000000000000000000000000000..85457d8fb83e955a4dcc3b0d79eac3d5319d87bf GIT binary patch literal 99649 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 Ks+2Sh{(k`c1q*lp literal 0 HcmV?d00001 diff --git a/resources/osx/openlp-logo-with-text.icns b/resources/osx/openlp-logo-with-text.icns new file mode 100755 index 0000000000000000000000000000000000000000..6066b111e7e516d94a30124b884c984c23a76c80 GIT binary patch literal 139772 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 z zA4lVl!xJ$-J-~u?gDv>4pD)<%A0EJmL#x1l|9t)70VWjtzlTFv9gBrz?CeMVe@%vg z`UO*;9nHej^FJrUc;IUfG=JhBW|;gx@bTxxOv4iB+rYH^-)DnA`~_Q%uYegH{eQ^A zHeg3_0G0*+A9);L0ShoG2oHDupU)H)gg5xU`hUhU#=Jr-EG*z-|Ig3YDNsK3f7{yc z#J=Kt_Cu5J_wWAcU(hm)(7ykVoA~q7*gk|V{1c`B_PYxR-T!aj{nPL7|N8h}ozJhX z_gDG(i~IGf^6;zj_N(&ztNQZG`iOo}-vQv)>?{H`ROa2tN`fL6gH|@;mSKC0;DLXQXEtoYdnK}*@Ua-W ziFOk@P#S@0*%}g-fk+sWKYtpb4y6#7+0?L|h>5_u6ER~NY$=3tC{eM^XOsL30}#Zm zU=x;RaVi^A?dP0 zMO{miq_IR@RYgfwOjJxGaQ}(yH9RE5nm&I4BD_FS1Of}<5JAkW7Fov=Z8X&N4UG(- zs!o4ULtR}>RYgU4)hdz_*Q%8=LPV|5lY8x1S&$efVj&QoB7Jz8hZFi3wj9}JsiAKI zC3ypVeZ8NbS5jK3xMGEZ!U}l_{#A)*QlXHslou#GLdFC!!~wgdo(D-a19LMIV@l7G@cS58|K4O1Okv2yE*ly{Ai;K#er`Ufa@2C6D|R> zJI0Uze9odXq?ZeEN#7MhOIQhnQ-~jk%Oa8YP_mk(PG@vu6RFv-wQZfc5iYABU%1fE zYVUXI-{nD61ST#dB)ELJfB^5E6-XJ#pFnwsS-UI4=kb;9s_!@S8QNMhgi?Pym4q$s+Y@M&ZvI0ffGa+1ovY|D-&ZqZ>3)Ej5h=R30*=t4J3{>I1VRy7 z0Go~$UUqVGad9QNcv!CgvlW15ap=3!isN*&4P4Uz;hk$!aXtRY6wVk2#)5!xf_!(D z;NIdOXdVeM6$hocxw*QyI$5PwHp5G|xNgkseH$I6v!mzpYVB`6=-UR(C<$GLE&D1_}1Lnvs6ORBpM4&>r$=X9#I9?J2cf(#j><8*d*byCPdYKFKu27Q^a z?K8fH?yqLt#CK7kOEkC7R%qBF>__tnh!3qQ+vw!(O@hj=I|I!s_(=!euSUlLS;N-^ zSY71Kp`EHmIQxFoPKMku%r!&s<}i@Bu+Ri8Lxg>Zi@=H&zW7}GFahAaJU!gq-C(n{ zoh*|p+v;&JT;>3*0|z6MDV-zNG!5yF>)YyPbZKV0NOF8Xs4MVMbjdAF2qpF+4$xAx zr@Ex1tnTqv7Y`p#l7|W4!LHdk9&c}Mm?IMmGzxj3)It~VW|&Fm=6Btl(JPV+7w+C> zjhl$VNq7yEP=J;ZSmcp$%g4{9rJu{||J?54?mfFeLszSS$CM^$=7ZJYGKg~$%5YR_ z4<%637;GsnkD$kNMgDG&zWG0rGzZ;Y;P#X!!2>C>KxZnLIf$>GeEJNCW#y$64KI>i z-Ju@^_7E27;%vFCs;jAmv3E0wR4R=|8Oc&JnRN{e;{gT=w}H48fc2QsH6Xt}br&_D4F~o4<<--swf6$&yE}Y8lhr z{10A(j`__mIPMOc|2&0$8aO_YqZDHUc3REd@wa zTwYRwGZx3JtRz(}s&09g!B{F?XgMqrt7rf^BRW)SDou#mLk`rQ@#r8!b4`qjGHKPq zAKA+;B`G6$20{dY6q(O%s9gVk77|uT_l(uGZ6CATT)lDjE(P{F*cFq>ZQmf%X+o6Y zObs&#p}xgXbKL=H)dIR*W9%qNW}dXPK!$nRyahQ(4Z5PxzVc5vUqO0szRvjKn!5Iq z96Bc56u4RY-tU`5%%pLUM=$G`&IW-Xwj}L^xZKXNmb8lfn+qbz&XbXoJ&w>4LN@q( zHlkb&zQQ?xbhnmLx2&UVmz#?hF1fhqT5hiF>j3?rQnP4ml)+DyMyAFjBX-6TK~YFr z?6ZarxXS*`_N2%W1oL!F351>Smgo|Maw|U3;b!FKo2Mq#vo~~B>~?qd!uh(u)y>hS zkkZ`=csptHs6AbQy5`0JC`XTT8J=QJBtj2#7y-DvoPyFJgg6OVNS(mSBwqP`4j`SM z--EJ-#;)o;9aBuvugo^|RodP(OgNr51=S7jLi z;1od*qiR3maNlH6mAN?`l4L}{wNX!x zq{}z!wPr)WRVtd0Wt^9e41lAYXV!#nJMp5j5^oQ~S^7;tA)J`&dfVE1+K&4;(M8AI z#U`IJK*^@@kVh{VSgu};qnhAnMfyTXdaU$7fTX#Eu8|-1q0TUWWq{6 z7m@T?=@9`*iw^cKa}EKsju^s>uC9LS`L%%Q;qKvTlhZi>>tv-4 zrWx9hELdTsW@aQ)7GSXv$#8*z0pnx>qD0alXvu+bgN9rJfgOpS2+NGojE#$pj3k|Z z-`G$CHP?R#3mJ}|JlK8F-_aX()YH-J@?Z}og@&jpWDaOlJZEHMWob!Y>uO7q6~84g z+YAiu_anEa+(9|;jj3p!G;+y`+_Wh!EmkUSb3#Vpp@Llp@7MJ8G}F&&KgEf7#6hBR zQwDl22jI{ip0=UyNAQSXFl9o1w3{;Y#@5Q(3J14z3f;0}$M)^pwr<_D!OPkd-fGa( z)z;S4R}TzE3aN+(IK184$!%>|T>R!uo8q_R9^Y!dC>0qHWB(j%Z)|AzTiA#@W$1XM z4D?j$z!`0E$8Rg7^6^o+XKyQQ><8QB1M*_a`AEtNExk7h;}qLgiMZx z4DW))xxncZqyfkWtgLM89G$&_qY_ES;`z{gvkhA_HwCLQBeiQyEgenxOB3It$k~8E z62SXz1moad&aUVBzhoe22N$2f8!-n{P3*0$ZR~d}+le??)Z^EgD~ocnv9c{d#dK74 z0-E>e^|kC!=-an*4arwSBAI958lKe5yrN^_i;%}}7fU)iTkv3u9^KJnR|+*9B$v|P z_xn00Z*Na8`_Q@^#DtL8B!xtqPagfv)ZW(CF_k|PaWTP6n5|5C7R;Z|K93z`^WsYd zP@&SdB~_L0Z{|e?rtu=boUk=PVKMRXiHY0tPwFH6!l)f*OFGGIfcib8%mR|GcqycUcf$&Z64aHgr8~%1U^IUx_6|H zil54AYCEKvGPXF`+S%FK*g3iTg=|bb<&B(*H*MHJx>VLhZfpA%Q>M|Fx*_D^1l+q3 z9&6Ta@t8qP1$Wxp8f4><&YyzVxI_ftbwUQRlk8#uW~QU$}#rnY9hHF`HXCXK16S?U9KoS=q&pJI8vVL%ypHPC+Rxgr@FxT6cE}Z3(4s z=uTqrb}t-Se4;Cz#z`HF=J(@;5E;2AdU^%A@j&;HfGzj@d29q$r8wk9LNbt%+Ehcw zEv*}SX5=KY0C3s(QXq2$GKElP1^81^ z$vlcFf{?bNl2oBk+tgO`xG>CC&%k0`0CEr6%EuMu>7>DmED}#&LmST=K6>of@uK!p zv;iaI?8YpYf1OOkq4|8X2l~iqv=H)eH8&Id#!!!!i))!;2oxBYkcQeKz@7)uG!6`Z z_LR|md1)2$?w0uv)ybnp=2RliT*0We1wCWWuuP?wjJgLAo;KnfC)Hd+ke>+y z9lZWHy3jzXU;`I~JNDFC$;NhaV}mnF+QGxO#lpnQeFu_B2}LgUP6egI!!+7wWQ^{N zkZ9a==&?*3dYPw;B&T!rD6oTrj7faM=HRuHNkQ8LEtb%+i)OJee8RCyy8KbiOvpPY zsHktCTt!#9mkaFBQPnozBFvT^hTPpW738h+K95wRdwQs<4~|dx!Wrli6}DVNA>O3E zet7+B2Hr@Qhm(VY*H$(K@d(i2=h2M_eFir_euOO#B3mx(pvN?G9X^B@?Jv*)Oho+a zn`0ZTLzPi#ByxAwRMSwAmGvw}C#HCLdTHHr;KjauKYh=XZxj zdmc%X#c-UNhwzjI{mGcCGU(8Bh$#dZ+JA22USaAq&Se1=+Fqog{wTPROS7sezCLtbW&4qx^h6?8W zfFJlH{`Y`&27j`py}fCYPXN1yHf?pVvW07s%tMfqjbk8k#rnQ;AM7ZN+%x{nhLf8s zo{EX%o1Zl8vp{G?h!P3G1ylCo3qaG^P~I&5?{tl`0`_;7eLwGf3k!h#2Qd+`(Z;q8 ztPpMc`T!;TaU?0w!+!N@=>4FmuQv(6T@`bquX&la?ivIJB|f%??CXGQ5J?> z^$CzdOeDm$)PWmvzkr`V%m0g{Pi!ThOUVAHmQ*1zBlzFL67m&v33{2a(UJO1NP4K} zK4M8h%bC&E+-PKLuA&{HjqFMCye-(Q8v*kQ@UI+s?7*ySlyk8#@w70kROjM%OY!ey9 zAZfHmZHeFdKpa7Af|5=nkh>>dXK`l&APHH3_ciB%+7FHjzhX$-UN~UF38kzW49(vI z+=fA3<&jYlj>zE6Mb%%rD7_ES(cx6;a$0u@I)x3@UQXV=beRH2n2Q;XDULxqbUKX% zWKcW{Su;Vqj)pD&LRcq(b>8=dW>w(!{PSn3DXN6qRKCZWcud_)J&E>pj{}p3MhCh& z$z)jQ(V;YoP!&A%zvs=H8ioY~2OGylCC1@$DLg&^Ie|Gw!Bi;4&wQz|Hy)XjdSp9@2x}Z9i^YKI!HQe0NeW0)h(j|BR z++CHKzK5{u5t;P9FO8-_`EsInoUT*zRtgIW5rw$9#FfPNOf!I!CWgw~6z)wy*ZQCh zp5|o*hv>W$4;$DBNNTr*lOxGV*4aHUl^3}s`P$jod#~TT^XRQlZ7#?gqf)y%dU_xn zgk?hj+%uXn#xmG5)|Ua9g(2D`pk^a6CS-DuB8l&8G8mOFl};{oCBb=BVuC>X#hM zgXZgcua6FJRb)nT(c#v{x>{-~8hXZ#L7Q_<-uqBXhF2&?hx@zXjY>Sg&w#TFfH7w? zi7}&X!uWgW}433+E9l{eEy$Hzv8`Ug|T&^QU+GbKz+40d;q zk|vgokCSgkxg^}74EIsG2kSe#yS{8v3dPSV_}NUNz=UMSZ13QZ;wa(Z;OOY&<_<4W z;qOr4hi3quDULD{1ZrxjszOi^Qk0bx6%iJaR@QS0OFR7g+xm{aF}%Z-)|Jvp=<0%l z10|KrN9mpT(r{z{nRgxC)b4H?t!t=OjD9*>4%>Ke%Qi;qHr)2*4DWea<8N)j+h-|S zX_~nj^S@VZQdbJXOO#Tgg8a*tEtgd{^Gn!s;m?|`-mx#^BZGak6!Ic?#SGr@p!ARR z)mL?tFctN>=&^pW(L8PZRr@@0^`pcgj5$l|Z~!b|-WYB#(SOd4Ps97r3~ z9q6NVwKmpPl)Q(Ri|^gMbmj>31}7y%t@rnKv$rzU*HTrKCNASzL_kbTEL;+5wxO9P z?|f?M>Kz*BNuv=cU!CaL1Yrng7QQLLv$As?_)KXMs)wv_^lNJ)wX=Yc?M&%PA!{>E zp55I&z29Fr8lRkmHCmzKXEm680;O#c zq)yV&O2`jo*8UgRxpjn@y#8)lIyH@wPF@B-<0oGn9$t4E8iv=H$3}+wVNI;Vg^&r# zKr0E0?&~y{%%))H#G^kHdcGaDZqOFeU!LwH(|Y>*dr07hzZjR|NvxH4mhQn!GWVy@ z^2d@9o(iB+FVL8%6cTwE?9{;6moJk84IiFAf7J+5M*WN+50^>LGR8E)Z3?r#n;xwF zn4H2Hjjs|2o?s9Zfz$lp=-9-U;jX%8$CCp*T-N7ad*9qcp$t#bpt`jH(w9&NlBg>I z!gD?J&)J}FgbQiRux1ijmI7CvjgC)_b+?v3IGr6~Eyul(L%}=eVg1PD_yCnUG*O!` zxkDXl1~>#{fb(nrNlxZ&*vwI#ng6C3p+jeyAyAYA<8#>o-307kZPjK1{FdWBUlV>I=g!ZhQ}sH zddbz#F7My6##~L3kDH5Q(Sms#Li+0tJZlDP*GDCT-6q3(<5k%z%!qY9iZie$KssF( z&)*-cp+o)<%KdGpQz_;^qq}c#WMXWvx9!uzb9u3ztJTB>`FVMl6X9}2-lhBs_KD{| zbdOF9_fSA_aYF-$6jiK#hcFfA72{ZP1%Wn?f@wYk99%gU%* zMHN129030U@=eLdccpuDK`AVEt`m={{f0##NOyr^5`Yj0;~ zV{L`!Mj1)>8TwF3g;xRPSLyqZ&VTHHu&4*$@&cL^PJH<74&_B~^#UIcH#gAdV9;NH z3&4CnsKYIUn(+!SOiQks*yF^3`b=`&$OzKwx*Ez#TGrva?^X7Wj1EAAN1^Ve$pGQ8 zp*P!wQQK6Hwun<0J#1$=e_9DO4a&8@9cEcq!5bD;Z^@13�WeQIBdAtgrfEZlx3LOiK<`tMS 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

rGnDl*jqp<>f(+mSPI$jVH6>d
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
  • m`3t!*3(D_*`~|n& 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 !oCZ#Hy0fN7PniVvQ&1N{EclUyHVit{b*I^7j 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 i56}?u|9!#jzh Date: Mon, 14 Feb 2011 22:26:49 +0100 Subject: [PATCH 06/90] fixed code according to the merge remarks: - style guide - use of OpenLP class instead of native QApplication --- openlp.pyw | 2 +- resources/osx/build.py | 537 +++++++++++++++++++++++++------------- resources/osx/expander.py | 61 +++-- 3 files changed, 384 insertions(+), 216 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index d3da1c835..dba7f0ee0 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -274,7 +274,7 @@ def main(): # Now create and actually run the application. app = OpenLP(qt_args) if sys.platform == 'darwin': - QtGui.QApplication.addLibraryPath(QtGui.QApplication.applicationDirPath() + "/qt4_plugins") + OpenLP.addLibraryPath(QtGui.QApplication.applicationDirPath() + "/qt4_plugins") #i18n Set Language language = LanguageManager.get_language() appTranslator = LanguageManager.get_translator(language) diff --git a/resources/osx/build.py b/resources/osx/build.py index e0e338d46..c20f15505 100644 --- a/resources/osx/build.py +++ b/resources/osx/build.py @@ -1,5 +1,81 @@ #!/usr/bin/python # -*- encoding: utf-8 -*- + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Khler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # +# --------------------------------------------------------------------------- # +# 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 # +############################################################################### + +""" +Mac OS X Build Script +--------------------- + +This script is used to build the OS X binary and the accompanying installer. +For this script to work out of the box, it depends on a number of things: + +Python 2.6 + This build script only works with Python 2.6. + +PyQt4 + You should already have this installed, OpenLP doesn't work without it. The + version the script expects is the packaged one available from River Bank + Computing. + +PyInstaller + PyInstaller should be a checkout of revision 1355 of trunk, and in a + directory which is configured in the openlp.cfg. The revision is very + important as there is just included a fix for builds on OS X. + + To install PyInstaller, first checkout trunk from Subversion. The easiest + way is to do a + + svn co http://svn.pyinstaller.org/trunk + + Then you need to copy the two hook-*.py files from the "pyinstaller" + subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks" + directory. + +openlp.cfg + The configuration file contains settings of the version string to include + in the bundle as well as directory and file settings for different purposes + (e.g. PyInstaller location or installer background image) + +To start the build process do a + + make + +inside the resources/osx directory. The result should be a {openlp_dmgname}.dmg +file in the same directory. If something went wrong - this sometimes happen +with the graphical commands in the Apple script - do a + + make clean + +and start the build process again. If you want to execute only parts of the +build process you can specify different make targets + + make view -- runs the Apple scripts to set the icons + make package -- creates the dmg file and copies the application files + make bundle -- compresses the dmg file and sets the dmg file icon +""" + import time import os import ConfigParser @@ -10,44 +86,251 @@ import platform import re import subprocess as subp +# set the script name +script_name = "build" + +def build_application(settings, app_name_lower, app_dir): + logging.info('[%s] now building the app with pyinstaller at "%s"...', + script_name, settings['pyinstaller_basedir']) + result = os.system('python %s/pyinstaller.py openlp.spec' \ + % settings['pyinstaller_basedir']) + if (result != 0): + logging.error('[%s] The pyinstaller build reported an error, cannot \ + continue!', script_name) + sys.exit(1) + + logging.info('[%s] copying the qt_menu files...', script_name) + # see http://www.pyinstaller.org/ticket/157 + result = os.system('cp -R %(qt_menu_directory)s \ + %(application_directory)s/Contents/Resources' \ + % { 'qt_menu_directory' : settings['qt_menu_basedir'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the qt_menu files, cannot \ + continue!', script_name) + sys.exit(1) + + dist_folder = os.getcwd() + '/dist/' + app_name_lower + # logging.info('[%s] copying the additional app files (from %s)...', + # script_name, dist_folder) + # result = os.system('cp -R %(dist_directory)s/* ' + # + '%(application_directory)s/Contents/MacOS' \ + # % { 'dist_directory' : dist_folder, + # 'application_directory' : app_dir }) + # if (result != 0): + # logging.error('[%s] could not copy additional files, cannot ' + # + 'continue!', script_name) + # sys.exit(1) + + logging.info('[%s] copying the new plugins...', script_name) + result = os.system('cp -R %(openlp_directory)s/openlp/plugins \ + %(application_directory)s/Contents/MacOS' \ + % { 'openlp_directory' : settings['openlp_basedir'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy plugins, dmg creation failed!', + script_name) + sys.exit(1) + + logging.info('[%s] copying the icons to the resource directory...', + script_name) + result = os.system('cp %(icon_file)s \ + %(application_directory)s/Contents/Resources' \ + % { 'icon_file' : settings['openlp_icon_file'], + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the icon, dmg creation failed!', + script_name) + sys.exit(1) + + logging.info('[%s] copying the version file...', script_name) + result = os.system('CpMac %s/.version %s/Contents/MacOS' % (os.getcwd(), + app_dir)) + if (result != 0): + logging.error('[%s] could not copy the version file, dmg creation \ + failed!', script_name) + sys.exit(1) + + logging.info('[%s] copying the new Info.plist...', script_name) + result = os.system('cp %(target_directory)s/Info.plist \ + %(application_directory)s/Contents' \ + % { 'target_directory' : os.getcwd(), + 'application_directory' : app_dir }) + if (result != 0): + logging.error('[%s] could not copy the info file, dmg creation \ + failed!', script_name) + sys.exit(1) + +def deploy_qt(settings): + logging.info('[%s] running mac deploy qt on %s.app...', script_name, + settings['openlp_appname']); + + result = os.system('macdeployqt %s.app' % settings['openlp_appname']); + if (result != 0): + logging.error('[%s] could not create dmg file!', script_name) + sys.exit(1) + +def create_dmg(settings): + logging.info('[%s] creating the dmg...', script_name) + dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' + result = os.system('hdiutil create %(dmg_file)s~ -ov -megabytes \ + %(vol_size)s -fs HFS+ -volname %(vol_name)s' \ + % { 'dmg_file' : dmg_file, + 'vol_size' : '250', + 'vol_name' : settings['openlp_appname'] }) + if (result != 0): + logging.error('[%s] could not create dmg file!', script_name) + sys.exit(1) + + logging.info('[%s] mounting the dmg file...', script_name) + output = subp.Popen(["hdiutil", "attach", dmg_file + "~.dmg"], + stdout=subp.PIPE).communicate()[0] + logging.debug(output) + + p = re.compile('Apple_HFS\s+(.+?)\s*$') + result = p.search(output, re.M) + volume_basedir = '' + if result: + volume_basedir = result.group(1) + else: + logging.error('could not mount dmg file, cannot continue!') + sys.exit(1) + + logging.info('[%s] copying the app (from %s) to the dmg (at %s)...', + script_name, app_dir, volume_basedir) + result = os.system('CpMac -r %s %s' \ + % ( app_dir, volume_basedir )) + if (result != 0): + logging.error('[%s] could not copy application, dmg creation failed!', + script_name) + sys.exit(1) + + logging.info('[%s] copying the background image...', script_name) + # os.mkdir(volume_basedir + '/.background') + result = os.system('CpMac %s %s' + % (settings['installer_backgroundimage_file'], + volume_basedir + '/.installer-background.png')) + if (result != 0): + logging.error('[%s] could not copy the background image, dmg creation\ + failed!', script_name) + sys.exit(1) + + return (volume_basedir, dmg_file) + +def unmount_dmg(settings, volume_basedir): + logging.info('[%s] unmounting the dmg...', script_name) + result = os.system('hdiutil detach %s' % volume_basedir) + if (result != 0): + logging.error('[%s] could not unmount the dmg file, dmg creation \ + failed!', script_name) + sys.exit(1) + +def compress_view(settings, seticon_scriptname, dmg_file): + logging.info('[%s] setting icon of the dmg file...', script_name) + try: + f = open(seticon_scriptname) + p = subp.Popen(["osascript"], stdin=subp.PIPE) + p.communicate(f.read() % ((os.getcwd() + '/' + + settings['openlp_dmg_icon_file']), dmg_file)) + f.close() + result = p.returncode + if (result != 0): + logging.error('[%s] could not set the icon to the dmg file, \ + dmg creation failed!', script_name) + sys.exit(1) + except IOError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation \ + failed!', script_name, e) + sys.exit(1) + except OSError, e: + logging.error('[%s] could not set the icon to the dmg file(%s), \ + dmg creation failed!', script_name, e) + sys.exit(1) + +def adjust_package_view(settings, adjustview_scriptname): + logging.info('[%s] making adjustments to the view...', script_name) + try: + f = open(adjustview_scriptname) + p = subp.Popen(["osascript"], stdin=subp.PIPE) + p.communicate(f.read() % ((os.getcwd() + '/' + \ + settings['openlp_dmg_icon_file']), + settings['openlp_appname'], + settings['openlp_appname'], + settings['openlp_appname'])) + f.close() + result = p.returncode + if (result != 0): + logging.error('[%s] could not adjust the view, dmg creation \ + failed!', script_name) + sys.exit(1) + except IOError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation \ + failed!', script_name, e) + sys.exit(1) + except OSError, e: + logging.error('[%s] could not adjust the view (%s), dmg creation \ + failed!', script_name, e) + sys.exit(1) + +def compress_dmg(settings): + logging.info('[%s] compress the dmg file...', script_name) + result = os.system('hdiutil convert %s~.dmg -format UDZO \ + -imagekey zlib-level=9 -o %s' \ + % (dmg_file, dmg_file)) + if (result != 0): + logging.error('[%s] could not compress the dmg file, dmg creation \ + failed!', script_name) + sys.exit(1) + + if __name__ == '__main__': # set default actions - doBuild = True - doCompressView = True - doPackageView = True - doCreateDmg = True - doCompressDmg = True - doDeployQt = True - - # set the script name - script_name = "build" - + do_build = True + do_compress_view = True + do_package_view = True + do_create_dmg = True + do_compress_dmg = True + do_deploy_qt = True + parser = optparse.OptionParser() - parser.add_option('-c', '--config', dest = 'config', help = 'config file', metavar = 'CONFIG') - parser.add_option('-v', '--package-view', dest = 'package_view', help = 'triggers view adjustment scripts for package', metavar = 'PACKAGEVIEWONLY', action='store_true', default=False) - parser.add_option('-y', '--compress-view', dest = 'compress_view', help = 'triggers view adjustment scripts for dmg', metavar = 'COMPRESSVIEWONLY', action='store_true', default=False) - parser.add_option('-p', '--package', dest = 'package', help = 'package application folder to dmg', metavar = 'PACKAGE', action='store_true', default=False) - parser.add_option('-z', '--compress', dest = 'compress', help = 'compresses the existing dmg', metavar = 'COMPRESS', action='store_true', default=False) - parser.add_option('-b', '--basedir', dest = 'basedir', help = 'volume basedir like /Volumes/OpenLP', metavar = 'BASEDIR', default='/Volumes/OpenLP') + parser.add_option('-c', '--config', dest='config', help='config file', + metavar='CONFIG') + parser.add_option('-v', '--package-view', dest='package_view', + help='triggers view adjustment scripts for package', + metavar='PACKAGEVIEWONLY', action='store_true', default=False) + parser.add_option('-y', '--compress-view', dest='compress_view', + help='triggers view adjustment scripts for dmg', + metavar='COMPRESSVIEWONLY', action='store_true', default=False) + parser.add_option('-p', '--package', dest='package', + help='package application folder to dmg', metavar='PACKAGE', + action='store_true', default=False) + parser.add_option('-z', '--compress', dest='compress', + help='compresses the existing dmg', metavar='COMPRESS', + action='store_true', default=False) + parser.add_option('-b', '--basedir', dest='basedir', + help='volume basedir like /Volumes/OpenLP', metavar='BASEDIR', + default='/Volumes/OpenLP') (options, args) = parser.parse_args() # if an option is set, false all - if (options.package_view is True or options.compress_view is True or options.package is True or options.compress is True): - doBuild = False - doDeployQt = False - doPackageView = options.package_view - doCompressView = options.compress_view - doCreateDmg = options.package - doCompressDmg = options.compress + if (options.package_view is True or options.compress_view is True + or options.package is True or options.compress is True): + do_build = False + do_deploy_qt = False + do_package_view = options.package_view + do_compress_view = options.compress_view + do_create_dmg = options.package + do_compress_dmg = options.compress if not options.config: parser.error('option --config|-c is required') logHandler = logging.StreamHandler() - logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s %(message)s', - '%a, %d %b %Y %H:%M:%S')) + logHandler.setFormatter(logging.Formatter( + '%(asctime)s %(levelname)-8s %(message)s', + '%a, %d %b %Y %H:%M:%S')) logging.getLogger().addHandler(logHandler) logging.getLogger().setLevel(logging.DEBUG) @@ -60,25 +343,29 @@ if __name__ == '__main__': sys.exit(1) if not sys.platform == "darwin": - logging.error('[%s] this script only works on Macintosh OS X systems, not on %s', - script_name, sys.platform) + logging.error('[%s] this script only works on Macintosh OS X systems,' + + 'not on %s', script_name, sys.platform) sys.exit(1) version = platform.mac_ver()[0] # we only need the differenciation between leopard and snow leopard if version.startswith("10.6"): SNOWLEOPARD = True - logging.info('[%s] using snow leopard scripts (version = %s)', script_name, version) + logging.info('[%s] using snow leopard scripts (version = %s)', + script_name, version) adjustview_scriptname = "applescript-adjustview-10-6.master" seticon_scriptname = "applescript-seticon-10-6.master" else: SNOWLEOPARD = False - logging.info('[%s] using leopard scripts (version = %s)', script_name, version) + logging.info('[%s] using leopard scripts (version = %s)', script_name, + version) adjustview_scriptname = "applescript-adjustview-10-5.master" seticon_scriptname = "applescript-seticon-10-5.master" - if not os.path.isfile(adjustview_scriptname) or not os.path.isfile(seticon_scriptname): - logging.error('[%s] could not find apple scripts for given mac version %s', script_name, version) + if not os.path.isfile(adjustview_scriptname) \ + or not os.path.isfile(seticon_scriptname): + logging.error('[%s] could not find apple scripts for given OS X ' + + 'version %s', script_name, version) sys.exit(1) settings = dict() @@ -86,176 +373,50 @@ if __name__ == '__main__': settings[k] = config.get('openlp', k) # prepare the configuration files - os.system('python expander.py --config %(config_file)s --template openlp.spec.master --expandto %(target_directory)s/openlp.spec' \ - % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) - os.system('python expander.py --config %(config_file)s --template Info.plist.master --expandto %(target_directory)s/Info.plist' \ - % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) - os.system('python expander.py --config %(config_file)s --template version.master --expandto %(target_directory)s/.version' \ - % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + os.system('python expander.py --config %(config_file)s \ + --template openlp.spec.master \ + --expandto %(target_directory)s/openlp.spec' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + os.system('python expander.py --config %(config_file)s \ + --template Info.plist.master \ + --expandto %(target_directory)s/Info.plist' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) + os.system('python expander.py --config %(config_file)s \ + --template version.master \ + --expandto %(target_directory)s/.version' \ + % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) # prepare variables - app_name = settings['openlp_appname'].lower() + app_name_lower = settings['openlp_appname'].lower() app_dir = os.getcwd() + '/' + settings['openlp_appname'] + '.app' # if the view option is set, skip the building steps - if (doBuild is True): - logging.info('[%s] now building the app with pyinstaller at "%s"...', script_name, settings['pyinstaller_basedir']) - result = os.system('python %s/pyinstaller.py openlp.spec' \ - % settings['pyinstaller_basedir']) - if (result != 0): - logging.error('[%s] The pyinstaller build reported an error, cannot continue!', script_name) - sys.exit(1) + if (do_build is True): + build_application(settings, app_name_lower, app_dir) + + if (do_deploy_qt is True): + deploy_qt(settings) - logging.info('[%s] copying the qt_menu files...', script_name) - # see http://www.pyinstaller.org/ticket/157 - result = os.system('cp -R %(qt_menu_directory)s %(application_directory)s/Contents/Resources' \ - % { 'qt_menu_directory' : settings['qt_menu_basedir'], - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy the qt_menu files, cannot continue!', script_name) - sys.exit(1) - - dist_folder = os.getcwd() + '/dist/' + app_name - # logging.info('[%s] copying the additional app files (from %s)...', script_name, dist_folder) - # result = os.system('cp -R %(dist_directory)s/* %(application_directory)s/Contents/MacOS' \ - # % { 'dist_directory' : dist_folder, - # 'application_directory' : app_dir }) - # if (result != 0): - # logging.error('[%s] could not copy additional files, cannot continue!', script_name) - # sys.exit(1) - - logging.info('[%s] copying the new plugins...', script_name) - result = os.system('cp -R %(openlp_directory)s/openlp/plugins %(application_directory)s/Contents/MacOS' \ - % { 'openlp_directory' : settings['openlp_basedir'], - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy plugins, dmg creation failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the icons to the resource directory...', script_name) - result = os.system('cp %(icon_file)s %(application_directory)s/Contents/Resources' \ - % { 'icon_file' : settings['openlp_icon_file'], - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy the icon, dmg creation failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the version file...', script_name) - result = os.system('CpMac %s/.version %s/Contents/MacOS' % (os.getcwd(), app_dir)) - if (result != 0): - logging.error('[%s] could not copy the version file, dmg creation failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the new Info.plist...', script_name) - result = os.system('cp %(target_directory)s/Info.plist %(application_directory)s/Contents' \ - % { 'target_directory' : os.getcwd(), - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy the info file, dmg creation failed!', script_name) - sys.exit(1) - - if (doDeployQt is True): - logging.info('[%s] running mac deploy qt on %s.app...', script_name, settings['openlp_appname']); - - result = os.system('macdeployqt %s.app' % settings['openlp_appname']); - if (result != 0): - logging.error('[%s] could not create dmg file!', script_name) - sys.exit(1) - - if (doCreateDmg is True): - logging.info('[%s] creating the dmg...', script_name) - dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' - result = os.system('hdiutil create %(dmg_file)s~ -ov -megabytes %(vol_size)s -fs HFS+ -volname %(vol_name)s' \ - % { 'dmg_file' : dmg_file, - 'vol_size' : '250', - 'vol_name' : settings['openlp_appname'] }) - if (result != 0): - logging.error('[%s] could not create dmg file!', script_name) - sys.exit(1) - - logging.info('[%s] mounting the dmg file...', script_name) - output = subp.Popen(["hdiutil", "attach", dmg_file + "~.dmg"], stdout=subp.PIPE).communicate()[0] - logging.debug(output) - - p = re.compile('Apple_HFS\s+(.+?)\s*$') - result = p.search(output, re.M) - volume_basedir = '' - if result: - volume_basedir = result.group(1) - else: - logging.error('could not mount dmg file, cannot continue!') - sys.exit(1) - - logging.info('[%s] copying the app (from %s) to the dmg (at %s)...', script_name, app_dir, volume_basedir) - result = os.system('CpMac -r %s %s' \ - % ( app_dir, volume_basedir )) - if (result != 0): - logging.error('[%s] could not copy application, dmg creation failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the background image...', script_name) - # os.mkdir(volume_basedir + '/.background') - result = os.system('CpMac %s %s' % (settings['installer_backgroundimage_file'], volume_basedir + '/.installer-background.png')) - if (result != 0): - logging.error('[%s] could not copy the background image, dmg creation failed!', script_name) - sys.exit(1) - + if (do_create_dmg is True): + (volume_basedir, dmg_file) = create_dmg(settings) else: # setting base dir volume_basedir = options.basedir dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' - if (doPackageView is True): - logging.info('[%s] making adjustments to the view...', script_name) - try: - f = open(adjustview_scriptname) - p = subp.Popen(["osascript"], stdin=subp.PIPE) - p.communicate(f.read() % ((os.getcwd() + '/' + settings['openlp_dmg_icon_file']), settings['openlp_appname'], settings['openlp_appname'], settings['openlp_appname'])) - f.close() - result = p.returncode - if (result != 0): - logging.error('[%s] could not adjust the view, dmg creation failed!', script_name) - sys.exit(1) - except IOError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) - sys.exit(1) - except OSError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) - sys.exit(1) + if (do_package_view is True): + adjust_package_view(settings, adjustview_scriptname) - if (doCreateDmg is True): - logging.info('[%s] unmounting the dmg...', script_name) - result = os.system('hdiutil detach %s' % volume_basedir) - if (result != 0): - logging.error('[%s] could not unmount the dmg file, dmg creation failed!', script_name) - sys.exit(1) + if (do_create_dmg is True): + unmount_dmg(settings, volume_basedir) - if (doCompressDmg is True): - logging.info('[%s] compress the dmg file...', script_name) - result = os.system('hdiutil convert %s~.dmg -format UDZO -imagekey zlib-level=9 -o %s' \ - % (dmg_file, dmg_file)) - if (result != 0): - logging.error('[%s] could not compress the dmg file, dmg creation failed!', script_name) - sys.exit(1) + if (do_compress_dmg is True): + compress_dmg(settings) - if (doCompressView is True): - logging.info('[%s] setting icon of the dmg file...', script_name) - try: - f = open(seticon_scriptname) - p = subp.Popen(["osascript"], stdin=subp.PIPE) - p.communicate(f.read() % ((os.getcwd() + '/' + settings['openlp_dmg_icon_file']), dmg_file)) - f.close() - result = p.returncode - if (result != 0): - logging.error('[%s] could not set the icon to the dmg file, dmg creation failed!', script_name) - sys.exit(1) - except IOError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation failed!', script_name, e) - sys.exit(1) - except OSError, e: - logging.error('[%s] could not set the icon to the dmg file(%s), dmg creation failed!', script_name, e) - sys.exit(1) + if (do_compress_view is True): + compress_view(settings, seticon_scriptname, dmg_file) - if (doCompressDmg is True): - logging.info('[%s] finished creating dmg file, resulting file is "%s"', script_name, dmg_file) + if (do_compress_dmg is True): + logging.info('[%s] finished creating dmg file, resulting file is "%s"', + script_name, dmg_file) diff --git a/resources/osx/expander.py b/resources/osx/expander.py index fee4138b5..77b0d1441 100755 --- a/resources/osx/expander.py +++ b/resources/osx/expander.py @@ -15,12 +15,15 @@ import sys # variable expansion: # - %(dog)s --- normal python expansion # - %(dog%)s --- no python expansion, leave as is (stripping the trailing %) -# - %(dog:cat) --- if there is an expansion for dog, dog will be used; otherwise if cat exists cat will be used -# - %(dog=cat) --- if there is an expansion for dog, dog will be used; otherwise "cat" will be used -# reConf = re.compile(r'(?[^\(]+?)\)s') -reConf = re.compile(r'(?P%?)%\((?P[^+=:&\)]+?)(?:(?P[+=:&])(?P[^\)]+))?\)(?Ps|d)') +# - %(dog:cat) --- if there is an expansion for dog, dog will be used; +# otherwise if cat exists cat will be used +# - %(dog=cat) --- if there is an expansion for dog, dog will be used; +# otherwise "cat" will be used +# re_conf = re.compile(r'(?[^\(]+?)\)s') +re_conf = re.compile(r'(?P%?)%\((?P[^+=:&\)]+?)' + + '(?:(?P[+=:&])(?P[^\)]+))?\)(?Ps|d)') -def expandVariable(match, expansions, errors): +def expand_variable(match, expansions, errors): key = match.group('key') kind = match.group('kind') default = match.group('default') @@ -74,10 +77,14 @@ if __name__ == '__main__': # get config file parser = optparse.OptionParser() - parser.add_option('-c', '--config', dest = 'config', help = 'config file', metavar = 'CONFIG') - parser.add_option('-t', '--template', dest = 'template', help = 'template file', metavar = 'TEMPLATE') - parser.add_option('-x', '--expandto', dest = 'expanded', help = 'expanded file', metavar = 'EXPANDED') - parser.add_option('-e', '--echo', dest = 'echo', help = 'echo variable', metavar = 'ECHOVAR') + parser.add_option('-c', '--config', dest='config', + help='config file', metavar='CONFIG') + parser.add_option('-t', '--template', dest='template', + help='template file', metavar='TEMPLATE') + parser.add_option('-x', '--expandto', dest='expanded', + help='expanded file', metavar='EXPANDED') + parser.add_option('-e', '--echo', dest='echo', + help='echo variable', metavar='ECHOVAR') (options, args) = parser.parse_args() @@ -89,13 +96,14 @@ if __name__ == '__main__': if not options.template: parser.error('option --template|-t is required') if not os.path.exists(options.template): - parser.error('template file "%s" does not exist' % options.template) + parser.error('template file "%s" does not exist' \ + % options.template) if not options.expanded: parser.error('option --expandto|-e is required') logHandler = logging.StreamHandler() - logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s %(message)s', - '%a, %d %b %Y %H:%M:%S')) + logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s ' + + ' %(message)s', '%a, %d %b %Y %H:%M:%S')) logging.getLogger().addHandler(logHandler) logging.getLogger().setLevel(logging.DEBUG) @@ -103,8 +111,8 @@ if __name__ == '__main__': config.readfp(open(options.config, 'r')) if not config.has_section('openlp'): - logging.error('[expander] %s: config file "%s" lacks an [openlp] section', - options.template, options.config) + logging.error('[expander] %s: config file "%s" lacks an [openlp] ' + + 'section', options.template, options.config) expansions = dict() for k in config.options('openlp'): @@ -125,12 +133,10 @@ if __name__ == '__main__': else: sys.exit(1) - # closure to capture expansions and errors variable errors = [] expanded = [] - try: # try to expand the template line = 0 @@ -141,14 +147,15 @@ if __name__ == '__main__': template.close() def _expand(m): - return expandVariable(m, expansions = expansions, errors = errors) + return expand_variable(m, expansions = expansions, errors = errors) for l in raw: line += 1 - exp = reConf.sub(_expand, l) + exp = re_conf.sub(_expand, l) if errors: for key in errors: - logging.error('[expander] %s: line %d: could not expand key "%s"', options.template, line, key) + logging.error('[expander] %s: line %d: could not expand ' + + 'key "%s"', options.template, line, key) faulty = True errors = [] else: @@ -157,17 +164,18 @@ if __name__ == '__main__': if faulty: sys.exit(1) - # successfully expanded template, now backup potentially existing target file + # successfully expanded template, now backup potentially existing + # target file targetFile = options.expanded % expansions if os.path.exists(targetFile): if os.path.exists('%s~' % targetFile): os.unlink('%s~' % targetFile) os.rename(options.expanded, '%s~' % targetFile) - logging.info('[expander] %s: backed up existing target file "%s" to "%s"', - options.template, targetFile, '%s~' % options.expanded) - + logging.info('[expander] %s: backed up existing target file "%s" ' + + 'to "%s"', options.template, targetFile, + '%s~' % options.expanded) - # TODO: make sure that target directory exists + # make sure that target directory exists targetDir = os.path.dirname(targetFile) if not os.path.exists(targetDir): os.makedirs(targetDir) @@ -179,8 +187,8 @@ if __name__ == '__main__': target.write(exp) target.close() except Exception, e: - logging.error('[expander] %s: could not expand to "%s"', options.template, options.expaned, e) - + logging.error('[expander] %s: could not expand to "%s"', + options.template, options.expaned, e) # copy over file access mode from template mode = os.stat(options.template) @@ -189,7 +197,6 @@ if __name__ == '__main__': logging.info('[expander] expanded "%s" to "%s"', options.template, options.expanded) - except: pass From 628bb0adbefea4d0bd2e763a05d4639594b994be Mon Sep 17 00:00:00 2001 From: Matthias Hub Date: Mon, 14 Feb 2011 22:55:38 +0100 Subject: [PATCH 07/90] fixed line length removed old pyinstaller version comments --- openlp.pyw | 3 ++- resources/osx/build.py | 28 +++++++++------------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index dba7f0ee0..ad06cfe0f 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -274,7 +274,8 @@ def main(): # Now create and actually run the application. app = OpenLP(qt_args) if sys.platform == 'darwin': - OpenLP.addLibraryPath(QtGui.QApplication.applicationDirPath() + "/qt4_plugins") + OpenLP.addLibraryPath(QtGui.QApplication.applicationDirPath() + + "/qt4_plugins") #i18n Set Language language = LanguageManager.get_language() appTranslator = LanguageManager.get_translator(language) diff --git a/resources/osx/build.py b/resources/osx/build.py index c20f15505..dfe0b897a 100644 --- a/resources/osx/build.py +++ b/resources/osx/build.py @@ -35,28 +35,28 @@ Python 2.6 This build script only works with Python 2.6. PyQt4 - You should already have this installed, OpenLP doesn't work without it. The - version the script expects is the packaged one available from River Bank - Computing. + You should already have this installed, OpenLP doesn't work without it. + The version the script expects is the packaged one available from River + Bank Computing. PyInstaller PyInstaller should be a checkout of revision 1355 of trunk, and in a directory which is configured in the openlp.cfg. The revision is very important as there is just included a fix for builds on OS X. - To install PyInstaller, first checkout trunk from Subversion. The easiest - way is to do a + To install PyInstaller, first checkout trunk from Subversion. The + easiest way is to do a svn co http://svn.pyinstaller.org/trunk Then you need to copy the two hook-*.py files from the "pyinstaller" - subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks" - directory. + subdirectory in OpenLP's "resources" directory into PyInstaller's + "hooks" directory. openlp.cfg The configuration file contains settings of the version string to include - in the bundle as well as directory and file settings for different purposes - (e.g. PyInstaller location or installer background image) + in the bundle as well as directory and file settings for different + purposes (e.g. PyInstaller location or installer background image) To start the build process do a @@ -111,16 +111,6 @@ def build_application(settings, app_name_lower, app_dir): sys.exit(1) dist_folder = os.getcwd() + '/dist/' + app_name_lower - # logging.info('[%s] copying the additional app files (from %s)...', - # script_name, dist_folder) - # result = os.system('cp -R %(dist_directory)s/* ' - # + '%(application_directory)s/Contents/MacOS' \ - # % { 'dist_directory' : dist_folder, - # 'application_directory' : app_dir }) - # if (result != 0): - # logging.error('[%s] could not copy additional files, cannot ' - # + 'continue!', script_name) - # sys.exit(1) logging.info('[%s] copying the new plugins...', script_name) result = os.system('cp -R %(openlp_directory)s/openlp/plugins \ From e75c24bdd785d060e35a6e9ddd3121ab239b70ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Fri, 18 Feb 2011 21:40:07 +0100 Subject: [PATCH 08/90] Changed 18.02.2011 --- openlp/plugins/songs/forms/songimportform.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index b6c7286bc..361a076da 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -256,7 +256,7 @@ class SongImportForm(OpenLPWizard): self.formatComboBox.setItemText(11, translate('SongsPlugin.ImportWizardForm', 'SongShow Plus')) self.formatComboBox.setItemText(12, - translate('SongsPlugin.ImportWizardForm', 'FoilPresenter')) + translate('SongsPlugin.ImportWizardForm', 'Foilpresenter')) # self.formatComboBox.setItemText(11, # translate('SongsPlugin.ImportWizardForm', 'CSV')) self.openLP2FilenameLabel.setText( @@ -711,7 +711,9 @@ class SongImportForm(OpenLPWizard): self.getFiles( translate('SongsPlugin.ImportWizardForm', 'Select FoilPresenter Files'), - self.foilPresenterFileListWidget + self.foilPresenterFileListWidget, u'%s (*.foil)' + % translate('SongsPlugin.ImportWizardForm', + 'Foilpresenter Song Files') ) def onFoilPresenterRemoveButtonClicked(self): From ac8e435f93d22cab32c66fe722a68f2b15396963 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 19 Feb 2011 19:25:14 +0100 Subject: [PATCH 10/90] --- openlp/plugins/songs/songsplugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 3620fcf82..ef89212f1 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -35,6 +35,7 @@ from openlp.core.lib.ui import UiStrings from openlp.plugins.songs.lib import SongMediaItem, SongsTab, SongXML from openlp.plugins.songs.lib.db import Author, init_schema, Song from openlp.plugins.songs.lib.importer import SongFormat +from openlp.plugins.songs.lib.ui import SongStrings log = logging.getLogger(__name__) @@ -147,8 +148,7 @@ class SongsPlugin(Plugin): counter += 1 # The song does not have any author, add one. if not song.authors: - name = unicode(translate('SongsPlugin', 'Author unknown', - 'Translation must contain a blank character!')) + name = unicode(SongStrings.AuthorUnknownUnT) author = self.manager.get_object_filtered(Author, Author.display_name == name) if author is None: From 6208587b939333766412500d6552f2394598ed99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Sat, 19 Feb 2011 22:34:51 +0100 Subject: [PATCH 11/90] foilpresenterimport - some changes --- openlp/core/ui/wizard.py | 1 + openlp/plugins/songs/forms/songimportform.py | 12 ++----- .../plugins/songs/lib/foilpresenterimport.py | 36 +++++++++---------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/openlp/core/ui/wizard.py b/openlp/core/ui/wizard.py index 2960607e4..fc1edeecb 100644 --- a/openlp/core/ui/wizard.py +++ b/openlp/core/ui/wizard.py @@ -54,6 +54,7 @@ class WizardStrings(object): SoF = u'Songs of Fellowship' SSP = u'SongShow Plus' WoW = u'Words of Worship' + FP = u'Foilpresenter' # These strings should need a good reason to be retranslated elsewhere. FinishedImport = translate('OpenLP.Ui', 'Finished import.') FormatLabel = translate('OpenLP.Ui', 'Format:') diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index bc3e28a33..06de08a93 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -410,12 +410,8 @@ class SongImportForm(OpenLPWizard): return False elif source_format == SongFormat.FoilPresenter: if self.foilPresenterFileListWidget.count() == 0: - criticalErrorMessageBox( - translate('SongsPlugin.ImportWizardForm', - 'No Foilpresenter Files Selected'), - translate('SongsPlugin.ImportWizardForm', - 'You need to add at least one Foilpresenter ' - 'song file to import from.')) + critical_error_message_box(UiStrings.NFSp, + WizardStrings.YouSpecifyFile % WizardStrings.FP) self.foilPresenterAddButton.setFocus() return False return True @@ -613,9 +609,7 @@ class SongImportForm(OpenLPWizard): """ Get FoilPresenter song database files """ - self.getFiles( - translate('SongsPlugin.ImportWizardForm', - 'Select FoilPresenter Files'), + self.getFiles(WizardStrings.OpenTypeFile % WizardStrings.FP, self.foilPresenterFileListWidget, u'%s (*.foil)' % translate('SongsPlugin.ImportWizardForm', 'Foilpresenter Song Files') diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 919901694..635137b00 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -94,6 +94,7 @@ import os from lxml import etree, objectify from openlp.core.lib import translate +from openlp.core.ui.wizard import WizardStrings from openlp.plugins.songs.lib import VerseType from openlp.plugins.songs.lib.songimport import SongImport from openlp.plugins.songs.lib.db import Author, Book, Song, Topic @@ -110,32 +111,27 @@ class FoilPresenterImport(SongImport): Initialise the import. """ log.debug(u'initialise FoilPresenterImport') - SongImport.__init__(self, master_manager) - self.master_manager = master_manager - self.FoilPresenter = FoilPresenter(master_manager) - if kwargs.has_key(u'filename'): - self.import_source = kwargs[u'filename'] - if kwargs.has_key(u'filenames'): - self.import_source = kwargs[u'filenames'] + SongImport.__init__(self, master_manager, **kwargs) + self.FoilPresenter = FoilPresenter(self.manager) def do_import(self): """ Imports the songs. """ self.import_wizard.progressBar.setMaximum(len(self.import_source)) + parser = etree.XMLParser(remove_blank_text=True) for file_path in self.import_source: if self.stop_import_flag: return False - self.import_wizard.incrementProgressBar(unicode(translate( - 'SongsPlugin.FoilPresenterImport', 'Importing %s...')) % - os.path.basename(file_path)) - parser = etree.XMLParser(remove_blank_text=True) - parsed_file = etree.parse(file_path, parser) - xml = unicode(etree.tostring(parsed_file)) - if self.FoilPresenter.xml_to_song(xml) is None: - log.debug(u'File could not be imported: %s' % file_path) - # Importing this song failed! For now we stop import. - return False + self.import_wizard.incrementProgressBar( + WizardStrings.ImportingType % os.path.basename(file_path)) + try: + parsed_file = etree.parse(file_path, parser) + xml = unicode(etree.tostring(parsed_file)) + if self.FoilPresenter.xml_to_song(xml) is None: + log.debug(u'File could not be imported: %s' % file_path) + except etree.XMLSyntaxError: + log.exception(u'XML syntax error in file %s' % file_path) return True class FoilPresenter(object): @@ -325,9 +321,9 @@ class FoilPresenter(object): for test_temp in test: author_temp.append(test_temp) for author in author_temp: - author = re.compile( - u'^[\/,;\-\s]+|[\/,;\-\s]+$|\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s]*$' - ).sub(u'', author) + regex = u'^[\/,;\-\s]+|[\/,;\-\s]+$|'\ + '\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s]*$' + author = re.compile(regex).sub(u'', author) author = re.compile( u'[0-9]{1,2}\.\s?J(ahr)?h\.|um\s*$|vor\s*$').sub(u'', author) From af6c792354e68cb4c275ced6e4bc31700dcd9a17 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sun, 20 Feb 2011 14:25:14 +0000 Subject: [PATCH 12/90] Cleanups --- openlp/core/ui/printservicedialog.py | 3 ++- openlp/core/ui/printserviceform.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/printservicedialog.py b/openlp/core/ui/printservicedialog.py index ec4e054c3..87a8276f4 100644 --- a/openlp/core/ui/printservicedialog.py +++ b/openlp/core/ui/printservicedialog.py @@ -29,7 +29,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon, translate, SpellTextEdit from openlp.core.lib.ui import UiStrings -class ZoomSize(): +class ZoomSize(object): """ Type enumeration for Combo Box sizes """ @@ -45,6 +45,7 @@ class ZoomSize(): translate('OpenLP.PrintServiceDialog', 'Fit Width'), u'100%', u'75%', u'50%', u'25%'] + class Ui_PrintServiceDialog(object): def setupUi(self, printServiceDialog): printServiceDialog.setObjectName(u'printServiceDialog') diff --git a/openlp/core/ui/printserviceform.py b/openlp/core/ui/printserviceform.py index 882e39fca..f4ad81884 100644 --- a/openlp/core/ui/printserviceform.py +++ b/openlp/core/ui/printserviceform.py @@ -174,7 +174,7 @@ class PrintServiceForm(QtGui.QDialog, Ui_PrintServiceDialog): self.previewWidget.zoomIn(0.25) settings = QtCore.QSettings() settings.beginGroup(u'advanced') - settings.setValue(u'display size',QtCore.QVariant(display)) + settings.setValue(u'display size', QtCore.QVariant(display)) settings.endGroup() def copyText(self): From 29088db51633403762ca8cd0a55387b551e25fbd Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 20 Feb 2011 15:35:52 +0000 Subject: [PATCH 13/90] Start to move DisplayTag dialog --- openlp/core/ui/__init__.py | 1 + openlp/core/ui/displaytagdialog.py | 51 +++++++++++++++++++ .../{displaytagtab.py => displaytagform.py} | 7 +-- openlp/core/ui/mainwindow.py | 18 ++++++- openlp/core/ui/settingsform.py | 22 ++++---- 5 files changed, 83 insertions(+), 16 deletions(-) create mode 100644 openlp/core/ui/displaytagdialog.py rename openlp/core/ui/{displaytagtab.py => displaytagform.py} (98%) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 45218802e..5763b3470 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -67,6 +67,7 @@ from displaytagtab import DisplayTagTab from aboutform import AboutForm from pluginform import PluginForm from settingsform import SettingsForm +from displaytagform import DisplayTagForm from shortcutlistform import ShortcutListForm from mediadockmanager import MediaDockManager from servicemanager import ServiceManager diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py new file mode 100644 index 000000000..f7d4b5175 --- /dev/null +++ b/openlp/core/ui/displaytagdialog.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, Frode Woldsund # +# --------------------------------------------------------------------------- # +# 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 # +############################################################################### + +from PyQt4 import QtCore, QtGui + +from openlp.core.lib import translate, build_icon +from openlp.core.lib.ui import create_accept_reject_button_box + +class Ui_DisplayTagDialog(object): + def setupUi(self, settingsDialog): + settingsDialog.setObjectName(u'settingsDialog') + settingsDialog.resize(700, 500) + settingsDialog.setWindowIcon( + build_icon(u':/system/system_settings.png')) + self.settingsLayout = QtGui.QVBoxLayout(settingsDialog) + self.settingsLayout.setObjectName(u'settingsLayout') + self.settingsTabWidget = QtGui.QTabWidget(settingsDialog) + self.settingsTabWidget.setObjectName(u'settingsTabWidget') + self.settingsLayout.addWidget(self.settingsTabWidget) + + self.buttonBox = create_accept_reject_button_box(settingsDialog, True) + self.settingsLayout.addWidget(self.buttonBox) + self.retranslateUi(settingsDialog) + QtCore.QMetaObject.connectSlotsByName(settingsDialog) + + def retranslateUi(self, settingsDialog): + settingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', + 'Configure OpenLP')) diff --git a/openlp/core/ui/displaytagtab.py b/openlp/core/ui/displaytagform.py similarity index 98% rename from openlp/core/ui/displaytagtab.py rename to openlp/core/ui/displaytagform.py index 30c593d36..5216fcd61 100644 --- a/openlp/core/ui/displaytagtab.py +++ b/openlp/core/ui/displaytagform.py @@ -33,10 +33,11 @@ import cPickle from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsTab, translate, DisplayTags +from openlp.core.lib import translate, DisplayTags from openlp.core.lib.ui import UiStrings, critical_error_message_box +from openlp.core.ui.displaytagdialog import Ui_DisplayTagDialog -class DisplayTagTab(SettingsTab): +class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): """ The :class:`DisplayTagTab` manages the settings tab . """ @@ -44,7 +45,7 @@ class DisplayTagTab(SettingsTab): """ Initialise the settings tab """ - SettingsTab.__init__(self, u'Display Tags') + #SettingsTab.__init__(self, u'Display Tags') def resizeEvent(self, event=None): pass diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index aedd9cf4f..82d95dd40 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -34,7 +34,7 @@ from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \ icon_action from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, \ - ShortcutListForm + ShortcutListForm, DisplayTagForm from openlp.core.utils import AppLocation, add_actions, LanguageManager, \ ActionList @@ -242,6 +242,8 @@ class Ui_MainWindow(object): self.SettingsShortcutsItem = icon_action(mainWindow, u'SettingsShortcutsItem', u':/system/system_configure_shortcuts.png') + self.DisplayTagItem = icon_action(mainWindow, + u'DisplayTagItem', u':/system/system_settings.png') self.SettingsConfigureItem = icon_action(mainWindow, u'SettingsConfigureItem', u':/system/system_settings.png') mainWindow.actionList.add_action(self.SettingsShortcutsItem, @@ -277,7 +279,8 @@ class Ui_MainWindow(object): add_actions(self.SettingsLanguageMenu, self.LanguageGroup.actions()) add_actions(self.SettingsMenu, (self.settingsPluginListItem, self.SettingsLanguageMenu.menuAction(), None, - self.SettingsShortcutsItem, self.SettingsConfigureItem)) + self.SettingsShortcutsItem, self.DisplayTagItem, + self.SettingsConfigureItem)) add_actions(self.ToolsMenu, (self.ToolsAddToolItem, None)) add_actions(self.ToolsMenu, (self.ToolsOpenDataFolder, None)) add_actions(self.HelpMenu, (self.HelpDocumentationItem, @@ -361,6 +364,8 @@ class Ui_MainWindow(object): translate('OpenLP.MainWindow', '&Language')) self.SettingsShortcutsItem.setText( translate('OpenLP.MainWindow', 'Configure &Shortcuts...')) + self.DisplayTagItem.setText( + translate('OpenLP.MainWindow', '&Configure Display Tags')) self.SettingsConfigureItem.setText( translate('OpenLP.MainWindow', '&Configure OpenLP...')) self.ViewMediaManagerItem.setText( @@ -476,6 +481,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.settingsmanager = SettingsManager(screens) self.aboutForm = AboutForm(self, applicationVersion) self.settingsForm = SettingsForm(self.screens, self, self) + self.displayTagForm = DisplayTagForm() self.shortcutForm = ShortcutListForm(self) self.recentFiles = QtCore.QStringList() # Set up the path with plugins @@ -523,6 +529,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.SIGNAL(u'triggered()'), self.onToolsOpenDataFolderClicked) QtCore.QObject.connect(self.settingsPluginListItem, QtCore.SIGNAL(u'triggered()'), self.onPluginItemClicked) + QtCore.QObject.connect(self.DisplayTagItem, + QtCore.SIGNAL(u'triggered()'), self.onDisplayTagItemClicked) QtCore.QObject.connect(self.SettingsConfigureItem, QtCore.SIGNAL(u'triggered()'), self.onSettingsConfigureItemClicked) QtCore.QObject.connect(self.SettingsShortcutsItem, @@ -716,6 +724,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): path = AppLocation.get_data_path() QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + path)) + def onDisplayTagItemClicked(self): + """ + Show the Settings dialog + """ + self.displayTagForm.exec_() + def onSettingsConfigureItemClicked(self): """ Show the Settings dialog diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index afea928b6..3fd640acd 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -47,17 +47,17 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): QtGui.QDialog.__init__(self, parent) self.setupUi(self) # General tab - self.generalTab = GeneralTab(screens) - self.addTab(u'General', self.generalTab) + generalTab = GeneralTab(screens) + self.addTab(u'General', generalTab) # Themes tab - self.themesTab = ThemesTab(mainWindow) - self.addTab(u'Themes', self.themesTab) + themesTab = ThemesTab(mainWindow) + self.addTab(u'Themes', themesTab) # Advanced tab - self.advancedTab = AdvancedTab() - self.addTab(u'Advanced', self.advancedTab) - # Edit Display Tags tab - self.displayTagTab = DisplayTagTab() - self.addTab(u'Display Tags', self.displayTagTab) + advancedTab = AdvancedTab() + self.addTab(u'Advanced', advancedTab) + ## Edit Display Tags tab + #self.displayTagTab = DisplayTagTab() + #self.addTab(u'Display Tags', self.displayTagTab) def addTab(self, name, tab): """ @@ -71,9 +71,9 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): Add a tab to the form at a specific location """ log.debug(u'Inserting %s tab' % tab.tabTitle) - # 15 : There are 4 tables currently and locations starts at -10 + # 14 : There are 3 tables currently and locations starts at -10 self.settingsTabWidget.insertTab( - location + 15, tab, tab.tabTitleVisible) + location + 14, tab, tab.tabTitleVisible) def removeTab(self, tab): """ From 264c7fb585547a2d57c0128acddc3681ce54560f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Sun, 20 Feb 2011 18:45:58 +0200 Subject: [PATCH 14/90] Handled extensions to log. --- openlp/plugins/media/mediaplugin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index ee413aa8c..274bce2b4 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -62,6 +62,8 @@ class MediaPlugin(Plugin): type = mimetype.split(u'video/') self.video_list, mimetype = self._addToList(self.video_list, type, mimetype) + log.info(u'MediaPlugin handles audio extensions: %s', self.audio_list) + log.info(u'MediaPlugin handles video extensions: %s', self.video_list) def _addToList(self, list, value, mimetype): # Is it a media type From 338efdc54372f3cb803dbc8eefc8f71efa9aee5f Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 20 Feb 2011 17:06:58 +0000 Subject: [PATCH 15/90] DisplayTag Updates --- openlp/core/ui/displaytagdialog.py | 245 ++++++++++++++++-- openlp/core/ui/displaytagform.py | 155 ++--------- openlp/core/ui/mainwindow.py | 2 +- ...aytabeditdialog.ui => displaytabdialog.ui} | 56 ++-- 4 files changed, 287 insertions(+), 171 deletions(-) rename resources/forms/{displaytabeditdialog.ui => displaytabdialog.ui} (86%) diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index f7d4b5175..3e76b39d2 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -27,25 +27,234 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, build_icon -from openlp.core.lib.ui import create_accept_reject_button_box +from openlp.core.lib.ui import UiStrings, create_accept_reject_button_box + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + _fromUtf8 = lambda s: s class Ui_DisplayTagDialog(object): - def setupUi(self, settingsDialog): - settingsDialog.setObjectName(u'settingsDialog') - settingsDialog.resize(700, 500) - settingsDialog.setWindowIcon( - build_icon(u':/system/system_settings.png')) - self.settingsLayout = QtGui.QVBoxLayout(settingsDialog) - self.settingsLayout.setObjectName(u'settingsLayout') - self.settingsTabWidget = QtGui.QTabWidget(settingsDialog) - self.settingsTabWidget.setObjectName(u'settingsTabWidget') - self.settingsLayout.addWidget(self.settingsTabWidget) - self.buttonBox = create_accept_reject_button_box(settingsDialog, True) - self.settingsLayout.addWidget(self.buttonBox) - self.retranslateUi(settingsDialog) - QtCore.QMetaObject.connectSlotsByName(settingsDialog) + def setupUi(self, displayTagDialog): +# displayTagDialog.setObjectName(u'displayTagDialog') +# displayTagDialog.resize(700, 500) +# displayTagDialog.setWindowIcon( +# build_icon(u':/system/system_settings.png')) +# self.settingsLayout = QtGui.QVBoxLayout(displayTagDialog) +# self.settingsLayout.setObjectName(u'settingsLayout') +# self.editGroupBox = QtGui.QGroupBox(displayTagDialog) +# self.editGroupBox.setGeometry(QtCore.QRect(10, 220, 650, 181)) +# self.editGroupBox.setObjectName(u'editGroupBox') +# self.updatePushButton = QtGui.QPushButton(self.editGroupBox) +# self.updatePushButton.setGeometry(QtCore.QRect(550, 140, 71, 26)) +# self.updatePushButton.setObjectName(u'updatePushButton') +# self.layoutWidget = QtGui.QWidget(self.editGroupBox) +# self.layoutWidget.setGeometry(QtCore.QRect(5, 20, 571, 114)) +# self.layoutWidget.setObjectName(u'layoutWidget') +# self.formLayout = QtGui.QFormLayout(self.layoutWidget) +# self.formLayout.setObjectName(u'formLayout') +# self.descriptionLabel = QtGui.QLabel(self.layoutWidget) +# self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) +# self.descriptionLabel.setObjectName(u'descriptionLabel') +# self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, +# self.descriptionLabel) +# self.descriptionLineEdit = QtGui.QLineEdit(self.layoutWidget) +# self.descriptionLineEdit.setObjectName(u'descriptionLineEdit') +# self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, +# self.descriptionLineEdit) +# self.tagLabel = QtGui.QLabel(self.layoutWidget) +# self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) +# self.tagLabel.setObjectName(u'tagLabel') +# self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.tagLabel) +# self.tagLineEdit = QtGui.QLineEdit(self.layoutWidget) +# self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) +# self.tagLineEdit.setMaxLength(5) +# self.tagLineEdit.setObjectName(u'tagLineEdit') +# self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, +# self.tagLineEdit) +# self.startTagLabel = QtGui.QLabel(self.layoutWidget) +# self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) +# self.startTagLabel.setObjectName(u'startTagLabel') +# self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, +# self.startTagLabel) +# self.startTagLineEdit = QtGui.QLineEdit(self.layoutWidget) +# self.startTagLineEdit.setObjectName(u'startTagLineEdit') +# self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, +# self.startTagLineEdit) +# self.endTagLabel = QtGui.QLabel(self.layoutWidget) +# self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) +# self.endTagLabel.setObjectName(u'endTagLabel') +# self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, +# self.endTagLabel) +# self.endTagLineEdit = QtGui.QLineEdit(self.layoutWidget) +# self.endTagLineEdit.setObjectName(u'endTagLineEdit') +# self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, +# self.endTagLineEdit) +# self.defaultPushButton = QtGui.QPushButton(displayTagDialog) +# self.defaultPushButton.setGeometry(QtCore.QRect(430, 188, 71, 26)) +# self.defaultPushButton.setObjectName(u'updatePushButton') +# self.deletePushButton = QtGui.QPushButton(displayTagDialog) +# self.deletePushButton.setGeometry(QtCore.QRect(510, 188, 71, 26)) +# self.deletePushButton.setObjectName(u'deletePushButton') +# self.newPushButton = QtGui.QPushButton(displayTagDialog) +# self.newPushButton.setGeometry(QtCore.QRect(600, 188, 71, 26)) +# self.newPushButton.setObjectName(u'newPushButton') +# self.tagTableWidget = QtGui.QTableWidget(displayTagDialog) +# self.tagTableWidget.setGeometry(QtCore.QRect(10, 10, 650, 171)) +# self.tagTableWidget.setHorizontalScrollBarPolicy( +# QtCore.Qt.ScrollBarAlwaysOff) +# self.tagTableWidget.setEditTriggers( +# QtGui.QAbstractItemView.NoEditTriggers) +# self.tagTableWidget.setAlternatingRowColors(True) +# self.tagTableWidget.setSelectionMode( +# QtGui.QAbstractItemView.SingleSelection) +# self.tagTableWidget.setSelectionBehavior( +# QtGui.QAbstractItemView.SelectRows) +# self.tagTableWidget.setCornerButtonEnabled(False) +# self.tagTableWidget.setObjectName(u'tagTableWidget') +# self.tagTableWidget.setColumnCount(4) +# self.tagTableWidget.setRowCount(0) +# item = QtGui.QTableWidgetItem() +# self.tagTableWidget.setHorizontalHeaderItem(0, item) +# item = QtGui.QTableWidgetItem() +# self.tagTableWidget.setHorizontalHeaderItem(1, item) +# item = QtGui.QTableWidgetItem() +# self.tagTableWidget.setHorizontalHeaderItem(2, item) +# item = QtGui.QTableWidgetItem() +# self.tagTableWidget.setHorizontalHeaderItem(3, item) +# +# self.buttonBox = create_accept_reject_button_box(displayTagDialog, True) +# self.settingsLayout.addWidget(self.buttonBox) +# self.retranslateUi(displayTagDialog) +# QtCore.QMetaObject.connectSlotsByName(displayTagDialog) + displayTagDialog.setObjectName(_fromUtf8("displayTagDialog")) + displayTagDialog.resize(717, 554) + self.editGroupBox = QtGui.QGroupBox(displayTagDialog) + self.editGroupBox.setGeometry(QtCore.QRect(10, 320, 691, 181)) + self.editGroupBox.setObjectName(_fromUtf8("editGroupBox")) + self.updatePushButton = QtGui.QPushButton(self.editGroupBox) + self.updatePushButton.setGeometry(QtCore.QRect(600, 140, 73, 26)) + self.updatePushButton.setObjectName(_fromUtf8("updatePushButton")) + self.layoutWidget = QtGui.QWidget(self.editGroupBox) + self.layoutWidget.setGeometry(QtCore.QRect(20, 50, 571, 114)) + self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) + self.formLayout = QtGui.QFormLayout(self.layoutWidget) + self.formLayout.setMargin(0) + self.formLayout.setObjectName(_fromUtf8("formLayout")) + self.descriptionLabel = QtGui.QLabel(self.layoutWidget) + self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) + self.descriptionLabel.setObjectName(_fromUtf8("descriptionLabel")) + self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.descriptionLabel) + self.descriptionLineEdit = QtGui.QLineEdit(self.layoutWidget) + self.descriptionLineEdit.setObjectName(_fromUtf8("descriptionLineEdit")) + self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.descriptionLineEdit) + self.tagLabel = QtGui.QLabel(self.layoutWidget) + self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.tagLabel.setObjectName(_fromUtf8("tagLabel")) + self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.tagLabel) + self.tagLineEdit = QtGui.QLineEdit(self.layoutWidget) + self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) + self.tagLineEdit.setMaxLength(5) + self.tagLineEdit.setObjectName(_fromUtf8("tagLineEdit")) + self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.tagLineEdit) + self.startTagLabel = QtGui.QLabel(self.layoutWidget) + self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.startTagLabel.setObjectName(_fromUtf8("startTagLabel")) + self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.startTagLabel) + self.startTagLineEdit = QtGui.QLineEdit(self.layoutWidget) + self.startTagLineEdit.setObjectName(_fromUtf8("startTagLineEdit")) + self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.startTagLineEdit) + self.endTagLabel = QtGui.QLabel(self.layoutWidget) + self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.endTagLabel.setObjectName(_fromUtf8("endTagLabel")) + self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.endTagLabel) + self.endTagLineEdit = QtGui.QLineEdit(self.layoutWidget) + self.endTagLineEdit.setObjectName(_fromUtf8("endTagLineEdit")) + self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.endTagLineEdit) + self.addPushButton = QtGui.QPushButton(self.editGroupBox) + self.addPushButton.setGeometry(QtCore.QRect(600, 40, 71, 26)) + self.addPushButton.setObjectName(_fromUtf8("addPushButton")) + self.newPushButton = QtGui.QPushButton(self.editGroupBox) + self.newPushButton.setGeometry(QtCore.QRect(600, 70, 71, 26)) + self.newPushButton.setObjectName(_fromUtf8("newPushButton")) + self.buttonBox = QtGui.QDialogButtonBox(displayTagDialog) + self.buttonBox.setGeometry(QtCore.QRect(540, 510, 162, 26)) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) + self.buttonBox.setObjectName(_fromUtf8("buttonBox")) + self.deletePushButton = QtGui.QPushButton(displayTagDialog) + self.deletePushButton.setGeometry(QtCore.QRect(630, 280, 71, 26)) + self.deletePushButton.setObjectName(_fromUtf8("deletePushButton")) + self.tagTableWidget = QtGui.QTableWidget(displayTagDialog) + self.tagTableWidget.setGeometry(QtCore.QRect(10, 10, 691, 271)) + self.tagTableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.tagTableWidget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) + self.tagTableWidget.setAlternatingRowColors(True) + self.tagTableWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) + self.tagTableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) + self.tagTableWidget.setCornerButtonEnabled(False) + self.tagTableWidget.setObjectName(_fromUtf8("tagTableWidget")) + self.tagTableWidget.setColumnCount(4) + self.tagTableWidget.setRowCount(0) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(0, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(1, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(2, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(3, item) + self.defaultPushButton = QtGui.QPushButton(displayTagDialog) + self.defaultPushButton.setGeometry(QtCore.QRect(550, 280, 71, 26)) + self.defaultPushButton.setObjectName(_fromUtf8("defaultPushButton")) + + self.retranslateUi(displayTagDialog) + QtCore.QMetaObject.connectSlotsByName(displayTagDialog) + + def retranslateUi(self, displayTagDialog): + displayTagDialog.setWindowTitle(translate('OpenLP.displayTagForm', + 'Configure Display Tags')) + self.editGroupBox.setTitle( + translate('OpenLP.DisplayTagTab', 'Edit Selection')) + self.updatePushButton.setText( + translate('OpenLP.DisplayTagTab', 'Update')) + self.descriptionLabel.setText( + translate('OpenLP.DisplayTagTab', 'Description')) + self.tagLabel.setText(translate('OpenLP.DisplayTagTab', 'Tag')) + self.startTagLabel.setText( + translate('OpenLP.DisplayTagTab', 'Start tag')) + self.endTagLabel.setText(translate('OpenLP.DisplayTagTab', 'End tag')) + self.deletePushButton.setText(UiStrings.Delete) + self.defaultPushButton.setText( + translate('OpenLP.DisplayTagTab', 'Default')) + self.newPushButton.setText(UiStrings.New) + self.tagTableWidget.horizontalHeaderItem(0)\ + .setText(translate('OpenLP.DisplayTagTab', 'Description')) + self.tagTableWidget.horizontalHeaderItem(1)\ + .setText(translate('OpenLP.DisplayTagTab', 'Tag id')) + self.tagTableWidget.horizontalHeaderItem(2)\ + .setText(translate('OpenLP.DisplayTagTab', 'Start Html')) + self.tagTableWidget.horizontalHeaderItem(3)\ + .setText(translate('OpenLP.DisplayTagTab', 'End Html')) + self.tagTableWidget.setColumnWidth(0, 120) + self.tagTableWidget.setColumnWidth(1, 40) + self.tagTableWidget.setColumnWidth(2, 240) + self.tagTableWidget.setColumnWidth(3, 200) + + displayTagDialog.setWindowTitle(QtGui.QApplication.translate("displayTagDialog", "Form", None, QtGui.QApplication.UnicodeUTF8)) + self.editGroupBox.setTitle(QtGui.QApplication.translate("displayTagDialog", "Edit Selection", None, QtGui.QApplication.UnicodeUTF8)) + self.updatePushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Update", None, QtGui.QApplication.UnicodeUTF8)) + self.descriptionLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Description", None, QtGui.QApplication.UnicodeUTF8)) + self.tagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.startTagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Start tag", None, QtGui.QApplication.UnicodeUTF8)) + self.endTagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "End tag", None, QtGui.QApplication.UnicodeUTF8)) + self.addPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Add", None, QtGui.QApplication.UnicodeUTF8)) + self.newPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "New", None, QtGui.QApplication.UnicodeUTF8)) + self.deletePushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Delete", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(0).setText(QtGui.QApplication.translate("displayTagDialog", "Description", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(1).setText(QtGui.QApplication.translate("displayTagDialog", "Key", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(2).setText(QtGui.QApplication.translate("displayTagDialog", "Start Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(3).setText(QtGui.QApplication.translate("displayTagDialog", "End Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.defaultPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Default", None, QtGui.QApplication.UnicodeUTF8)) + - def retranslateUi(self, settingsDialog): - settingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', - 'Configure OpenLP')) diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index 5216fcd61..491c60693 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -41,18 +41,26 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): """ The :class:`DisplayTagTab` manages the settings tab . """ - def __init__(self): + def __init__(self, parent): """ - Initialise the settings tab + Constructor """ - #SettingsTab.__init__(self, u'Display Tags') + QtGui.QDialog.__init__(self, parent) + self.setupUi(self) + QtCore.QObject.connect(self.tagTableWidget, + QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onRowSelected) + QtCore.QObject.connect(self.defaultPushButton, + QtCore.SIGNAL(u'pressed()'), self.onDefaultPushed) + QtCore.QObject.connect(self.newPushButton, + QtCore.SIGNAL(u'pressed()'), self.onNewPushed) + QtCore.QObject.connect(self.updatePushButton, + QtCore.SIGNAL(u'pressed()'), self.onUpdatePushed) + QtCore.QObject.connect(self.deletePushButton, + QtCore.SIGNAL(u'pressed()'), self.onDeletePushed) - def resizeEvent(self, event=None): - pass - - def preLoad(self): + def exec_(self): """ - Initialise values before the Load takes place + Load Display and set field state. """ # Create initial copy from master DisplayTags.reset_html_tags() @@ -66,137 +74,10 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): for t in user_tags: DisplayTags.add_html_tag(t) self.selected = -1 - - def setupUi(self): - """ - Configure the UI elements for the tab. - """ - self.setObjectName(u'DisplayTagTab') - self.tabTitleVisible = \ - translate(u'OpenLP.DisplayTagTab', 'Display Tags') - self.displayTagEdit = QtGui.QWidget(self) - self.editGroupBox = QtGui.QGroupBox(self.displayTagEdit) - self.editGroupBox.setGeometry(QtCore.QRect(10, 220, 650, 181)) - self.editGroupBox.setObjectName(u'editGroupBox') - self.updatePushButton = QtGui.QPushButton(self.editGroupBox) - self.updatePushButton.setGeometry(QtCore.QRect(550, 140, 71, 26)) - self.updatePushButton.setObjectName(u'updatePushButton') - self.layoutWidget = QtGui.QWidget(self.editGroupBox) - self.layoutWidget.setGeometry(QtCore.QRect(5, 20, 571, 114)) - self.layoutWidget.setObjectName(u'layoutWidget') - self.formLayout = QtGui.QFormLayout(self.layoutWidget) - self.formLayout.setObjectName(u'formLayout') - self.descriptionLabel = QtGui.QLabel(self.layoutWidget) - self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) - self.descriptionLabel.setObjectName(u'descriptionLabel') - self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.descriptionLabel) - self.descriptionLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.descriptionLineEdit.setObjectName(u'descriptionLineEdit') - self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.descriptionLineEdit) - self.tagLabel = QtGui.QLabel(self.layoutWidget) - self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.tagLabel.setObjectName(u'tagLabel') - self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.tagLabel) - self.tagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) - self.tagLineEdit.setMaxLength(5) - self.tagLineEdit.setObjectName(u'tagLineEdit') - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.tagLineEdit) - self.startTagLabel = QtGui.QLabel(self.layoutWidget) - self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.startTagLabel.setObjectName(u'startTagLabel') - self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.startTagLabel) - self.startTagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.startTagLineEdit.setObjectName(u'startTagLineEdit') - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.startTagLineEdit) - self.endTagLabel = QtGui.QLabel(self.layoutWidget) - self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.endTagLabel.setObjectName(u'endTagLabel') - self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.endTagLabel) - self.endTagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.endTagLineEdit.setObjectName(u'endTagLineEdit') - self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.endTagLineEdit) - self.defaultPushButton = QtGui.QPushButton(self.displayTagEdit) - self.defaultPushButton.setGeometry(QtCore.QRect(430, 188, 71, 26)) - self.defaultPushButton.setObjectName(u'updatePushButton') - self.deletePushButton = QtGui.QPushButton(self.displayTagEdit) - self.deletePushButton.setGeometry(QtCore.QRect(510, 188, 71, 26)) - self.deletePushButton.setObjectName(u'deletePushButton') - self.newPushButton = QtGui.QPushButton(self.displayTagEdit) - self.newPushButton.setGeometry(QtCore.QRect(600, 188, 71, 26)) - self.newPushButton.setObjectName(u'newPushButton') - self.tagTableWidget = QtGui.QTableWidget(self.displayTagEdit) - self.tagTableWidget.setGeometry(QtCore.QRect(10, 10, 650, 171)) - self.tagTableWidget.setHorizontalScrollBarPolicy( - QtCore.Qt.ScrollBarAlwaysOff) - self.tagTableWidget.setEditTriggers( - QtGui.QAbstractItemView.NoEditTriggers) - self.tagTableWidget.setAlternatingRowColors(True) - self.tagTableWidget.setSelectionMode( - QtGui.QAbstractItemView.SingleSelection) - self.tagTableWidget.setSelectionBehavior( - QtGui.QAbstractItemView.SelectRows) - self.tagTableWidget.setCornerButtonEnabled(False) - self.tagTableWidget.setObjectName(u'tagTableWidget') - self.tagTableWidget.setColumnCount(4) - self.tagTableWidget.setRowCount(0) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(0, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(1, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(2, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(3, item) - self.editGroupBox.setTitle( - translate('OpenLP.DisplayTagTab', 'Edit Selection')) - self.updatePushButton.setText( - translate('OpenLP.DisplayTagTab', 'Update')) - self.descriptionLabel.setText( - translate('OpenLP.DisplayTagTab', 'Description')) - self.tagLabel.setText(translate('OpenLP.DisplayTagTab', 'Tag')) - self.startTagLabel.setText( - translate('OpenLP.DisplayTagTab', 'Start tag')) - self.endTagLabel.setText(translate('OpenLP.DisplayTagTab', 'End tag')) - self.deletePushButton.setText(UiStrings.Delete) - self.defaultPushButton.setText( - translate('OpenLP.DisplayTagTab', 'Default')) - self.newPushButton.setText(UiStrings.New) - self.tagTableWidget.horizontalHeaderItem(0)\ - .setText(translate('OpenLP.DisplayTagTab', 'Description')) - self.tagTableWidget.horizontalHeaderItem(1)\ - .setText(translate('OpenLP.DisplayTagTab', 'Tag id')) - self.tagTableWidget.horizontalHeaderItem(2)\ - .setText(translate('OpenLP.DisplayTagTab', 'Start Html')) - self.tagTableWidget.horizontalHeaderItem(3)\ - .setText(translate('OpenLP.DisplayTagTab', 'End Html')) - QtCore.QMetaObject.connectSlotsByName(self.displayTagEdit) - self.tagTableWidget.setColumnWidth(0, 120) - self.tagTableWidget.setColumnWidth(1, 40) - self.tagTableWidget.setColumnWidth(2, 240) - self.tagTableWidget.setColumnWidth(3, 200) - QtCore.QObject.connect(self.tagTableWidget, - QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onRowSelected) - QtCore.QObject.connect(self.defaultPushButton, - QtCore.SIGNAL(u'pressed()'), self.onDefaultPushed) - QtCore.QObject.connect(self.newPushButton, - QtCore.SIGNAL(u'pressed()'), self.onNewPushed) - QtCore.QObject.connect(self.updatePushButton, - QtCore.SIGNAL(u'pressed()'), self.onUpdatePushed) - QtCore.QObject.connect(self.deletePushButton, - QtCore.SIGNAL(u'pressed()'), self.onDeletePushed) + self.load() + return QtGui.QDialog.exec_(self) def load(self): - """ - Load Display and set field state. - """ self.newPushButton.setEnabled(True) self.updatePushButton.setEnabled(False) self.deletePushButton.setEnabled(False) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 82d95dd40..f899a23ce 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -481,7 +481,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.settingsmanager = SettingsManager(screens) self.aboutForm = AboutForm(self, applicationVersion) self.settingsForm = SettingsForm(self.screens, self, self) - self.displayTagForm = DisplayTagForm() + self.displayTagForm = DisplayTagForm(self) self.shortcutForm = ShortcutListForm(self) self.recentFiles = QtCore.QStringList() # Set up the path with plugins diff --git a/resources/forms/displaytabeditdialog.ui b/resources/forms/displaytabdialog.ui similarity index 86% rename from resources/forms/displaytabeditdialog.ui rename to resources/forms/displaytabdialog.ui index 3c748594f..2e9c09c01 100644 --- a/resources/forms/displaytabeditdialog.ui +++ b/resources/forms/displaytabdialog.ui @@ -112,6 +112,32 @@ + + + + 600 + 40 + 71 + 26 + + + + Add + + + + + + 600 + 70 + 71 + 26 + + + + New + + @@ -123,13 +149,13 @@ - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + QDialogButtonBox::Cancel|QDialogButtonBox::Save - 530 + 630 280 71 26 @@ -139,19 +165,6 @@ Delete - - - - 610 - 280 - 71 - 26 - - - - Add - - @@ -203,6 +216,19 @@ + + + + 550 + 280 + 71 + 26 + + + + Default + + From 31247240d022933990f43b738477b23481a6d292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Sun, 20 Feb 2011 20:12:55 +0200 Subject: [PATCH 16/90] fix possible leaving out of extensions, hopefully neater approach --- openlp/plugins/media/lib/mediaitem.py | 5 ++-- openlp/plugins/media/mediaplugin.py | 43 ++++++++++----------------- 2 files changed, 19 insertions(+), 29 deletions(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index fd98cdefa..9f3f98636 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -60,8 +60,9 @@ class MediaMediaItem(MediaManagerItem): def retranslateUi(self): self.onNewPrompt = translate('MediaPlugin.MediaItem', 'Select Media') self.onNewFileMasks = unicode(translate('MediaPlugin.MediaItem', - 'Videos (%s);;Audio (%s);;%s (*)')) % (self.parent.video_list, - self.parent.audio_list, UiStrings.AllFiles) + 'Videos (%s);;Audio (%s);;%s (*)')) % ( + u' '.join(self.parent.video_list), + u' '.join(self.parent.audio_list), UiStrings.AllFiles) self.replaceAction.setText(UiStrings.ReplaceBG) self.replaceAction.setToolTip(UiStrings.ReplaceLiveBG) self.resetAction.setText(UiStrings.ResetBG) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 274bce2b4..1f6284d61 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,38 +45,27 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - self.audio_list = u'' - self.video_list = u'' + self.audio_list = [] + self.video_list = [] mimetypes.init() for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): mimetype = unicode(mimetype) - type = mimetype.split(u'audio/x-') - self.audio_list, mimetype = self._addToList(self.audio_list, - type, mimetype) - type = mimetype.split(u'audio/') - self.audio_list, mimetype = self._addToList(self.audio_list, - type, mimetype) - type = mimetype.split(u'video/x-') - self.video_list, mimetype = self._addToList(self.video_list, - type, mimetype) - type = mimetype.split(u'video/') - self.video_list, mimetype = self._addToList(self.video_list, - type, mimetype) - log.info(u'MediaPlugin handles audio extensions: %s', self.audio_list) - log.info(u'MediaPlugin handles video extensions: %s', self.video_list) + if mimetype.startswith(u'audio/'): + self._addToList(self.audio_list, mimetype) + elif mimetype.startswith(u'video/'): + self._addToList(self.video_list, mimetype) + log.info(u'MediaPlugin handles audio extensions: %s', + u' '.join(self.audio_list)) + log.info(u'MediaPlugin handles video extensions: %s', + u' '.join(self.video_list)) - def _addToList(self, list, value, mimetype): + def _addToList(self, list, mimetype): # Is it a media type - if len(value) == 2: - extensions = mimetypes.guess_all_extensions(unicode(mimetype)) - # we have an extension - if extensions: - for extension in extensions: - if list.find(extension) == -1: - list += u'*%s ' % extension - self.serviceManager.supportedSuffixes(extension[1:]) - mimetype = u'' - return list, mimetype + extensions = mimetypes.guess_all_extensions(unicode(mimetype)) + for extension in extensions: + if extension not in list: + list.append(u'*%s' % extension) + self.serviceManager.supportedSuffixes(extension[1:]) def about(self): about_text = translate('MediaPlugin', 'Media Plugin' From 09b515350ba641b51189c527b9fe48f983ed60f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Sun, 20 Feb 2011 20:49:59 +0200 Subject: [PATCH 17/90] oops --- openlp/plugins/media/mediaplugin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 1f6284d61..12887a76c 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -63,8 +63,9 @@ class MediaPlugin(Plugin): # Is it a media type extensions = mimetypes.guess_all_extensions(unicode(mimetype)) for extension in extensions: - if extension not in list: - list.append(u'*%s' % extension) + ext = u'*%s' % extension + if ext not in list: + list.append(ext) self.serviceManager.supportedSuffixes(extension[1:]) def about(self): From 7e4b644f781612d9c21fcfdbc514ac3aab11deef Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 20 Feb 2011 20:23:33 +0000 Subject: [PATCH 18/90] Finished moving Display Tags --- openlp/core/ui/displaytagdialog.py | 265 ++++++------------- openlp/core/ui/displaytagform.py | 10 +- openlp/core/ui/mainwindow.py | 2 +- resources/forms/displaytabdialog.ui | 393 +++++++++++++--------------- resources/images/openlp-2.qrc | 1 + 5 files changed, 269 insertions(+), 402 deletions(-) diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index 3e76b39d2..5da529302 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -29,171 +29,29 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, build_icon from openlp.core.lib.ui import UiStrings, create_accept_reject_button_box -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - _fromUtf8 = lambda s: s - class Ui_DisplayTagDialog(object): def setupUi(self, displayTagDialog): -# displayTagDialog.setObjectName(u'displayTagDialog') -# displayTagDialog.resize(700, 500) -# displayTagDialog.setWindowIcon( -# build_icon(u':/system/system_settings.png')) -# self.settingsLayout = QtGui.QVBoxLayout(displayTagDialog) -# self.settingsLayout.setObjectName(u'settingsLayout') -# self.editGroupBox = QtGui.QGroupBox(displayTagDialog) -# self.editGroupBox.setGeometry(QtCore.QRect(10, 220, 650, 181)) -# self.editGroupBox.setObjectName(u'editGroupBox') -# self.updatePushButton = QtGui.QPushButton(self.editGroupBox) -# self.updatePushButton.setGeometry(QtCore.QRect(550, 140, 71, 26)) -# self.updatePushButton.setObjectName(u'updatePushButton') -# self.layoutWidget = QtGui.QWidget(self.editGroupBox) -# self.layoutWidget.setGeometry(QtCore.QRect(5, 20, 571, 114)) -# self.layoutWidget.setObjectName(u'layoutWidget') -# self.formLayout = QtGui.QFormLayout(self.layoutWidget) -# self.formLayout.setObjectName(u'formLayout') -# self.descriptionLabel = QtGui.QLabel(self.layoutWidget) -# self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) -# self.descriptionLabel.setObjectName(u'descriptionLabel') -# self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, -# self.descriptionLabel) -# self.descriptionLineEdit = QtGui.QLineEdit(self.layoutWidget) -# self.descriptionLineEdit.setObjectName(u'descriptionLineEdit') -# self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, -# self.descriptionLineEdit) -# self.tagLabel = QtGui.QLabel(self.layoutWidget) -# self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) -# self.tagLabel.setObjectName(u'tagLabel') -# self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.tagLabel) -# self.tagLineEdit = QtGui.QLineEdit(self.layoutWidget) -# self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) -# self.tagLineEdit.setMaxLength(5) -# self.tagLineEdit.setObjectName(u'tagLineEdit') -# self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, -# self.tagLineEdit) -# self.startTagLabel = QtGui.QLabel(self.layoutWidget) -# self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) -# self.startTagLabel.setObjectName(u'startTagLabel') -# self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, -# self.startTagLabel) -# self.startTagLineEdit = QtGui.QLineEdit(self.layoutWidget) -# self.startTagLineEdit.setObjectName(u'startTagLineEdit') -# self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, -# self.startTagLineEdit) -# self.endTagLabel = QtGui.QLabel(self.layoutWidget) -# self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) -# self.endTagLabel.setObjectName(u'endTagLabel') -# self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, -# self.endTagLabel) -# self.endTagLineEdit = QtGui.QLineEdit(self.layoutWidget) -# self.endTagLineEdit.setObjectName(u'endTagLineEdit') -# self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, -# self.endTagLineEdit) -# self.defaultPushButton = QtGui.QPushButton(displayTagDialog) -# self.defaultPushButton.setGeometry(QtCore.QRect(430, 188, 71, 26)) -# self.defaultPushButton.setObjectName(u'updatePushButton') -# self.deletePushButton = QtGui.QPushButton(displayTagDialog) -# self.deletePushButton.setGeometry(QtCore.QRect(510, 188, 71, 26)) -# self.deletePushButton.setObjectName(u'deletePushButton') -# self.newPushButton = QtGui.QPushButton(displayTagDialog) -# self.newPushButton.setGeometry(QtCore.QRect(600, 188, 71, 26)) -# self.newPushButton.setObjectName(u'newPushButton') -# self.tagTableWidget = QtGui.QTableWidget(displayTagDialog) -# self.tagTableWidget.setGeometry(QtCore.QRect(10, 10, 650, 171)) -# self.tagTableWidget.setHorizontalScrollBarPolicy( -# QtCore.Qt.ScrollBarAlwaysOff) -# self.tagTableWidget.setEditTriggers( -# QtGui.QAbstractItemView.NoEditTriggers) -# self.tagTableWidget.setAlternatingRowColors(True) -# self.tagTableWidget.setSelectionMode( -# QtGui.QAbstractItemView.SingleSelection) -# self.tagTableWidget.setSelectionBehavior( -# QtGui.QAbstractItemView.SelectRows) -# self.tagTableWidget.setCornerButtonEnabled(False) -# self.tagTableWidget.setObjectName(u'tagTableWidget') -# self.tagTableWidget.setColumnCount(4) -# self.tagTableWidget.setRowCount(0) -# item = QtGui.QTableWidgetItem() -# self.tagTableWidget.setHorizontalHeaderItem(0, item) -# item = QtGui.QTableWidgetItem() -# self.tagTableWidget.setHorizontalHeaderItem(1, item) -# item = QtGui.QTableWidgetItem() -# self.tagTableWidget.setHorizontalHeaderItem(2, item) -# item = QtGui.QTableWidgetItem() -# self.tagTableWidget.setHorizontalHeaderItem(3, item) -# -# self.buttonBox = create_accept_reject_button_box(displayTagDialog, True) -# self.settingsLayout.addWidget(self.buttonBox) -# self.retranslateUi(displayTagDialog) -# QtCore.QMetaObject.connectSlotsByName(displayTagDialog) - displayTagDialog.setObjectName(_fromUtf8("displayTagDialog")) - displayTagDialog.resize(717, 554) - self.editGroupBox = QtGui.QGroupBox(displayTagDialog) - self.editGroupBox.setGeometry(QtCore.QRect(10, 320, 691, 181)) - self.editGroupBox.setObjectName(_fromUtf8("editGroupBox")) - self.updatePushButton = QtGui.QPushButton(self.editGroupBox) - self.updatePushButton.setGeometry(QtCore.QRect(600, 140, 73, 26)) - self.updatePushButton.setObjectName(_fromUtf8("updatePushButton")) - self.layoutWidget = QtGui.QWidget(self.editGroupBox) - self.layoutWidget.setGeometry(QtCore.QRect(20, 50, 571, 114)) - self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) - self.formLayout = QtGui.QFormLayout(self.layoutWidget) - self.formLayout.setMargin(0) - self.formLayout.setObjectName(_fromUtf8("formLayout")) - self.descriptionLabel = QtGui.QLabel(self.layoutWidget) - self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) - self.descriptionLabel.setObjectName(_fromUtf8("descriptionLabel")) - self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.descriptionLabel) - self.descriptionLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.descriptionLineEdit.setObjectName(_fromUtf8("descriptionLineEdit")) - self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.descriptionLineEdit) - self.tagLabel = QtGui.QLabel(self.layoutWidget) - self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.tagLabel.setObjectName(_fromUtf8("tagLabel")) - self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.tagLabel) - self.tagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) - self.tagLineEdit.setMaxLength(5) - self.tagLineEdit.setObjectName(_fromUtf8("tagLineEdit")) - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.tagLineEdit) - self.startTagLabel = QtGui.QLabel(self.layoutWidget) - self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.startTagLabel.setObjectName(_fromUtf8("startTagLabel")) - self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.startTagLabel) - self.startTagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.startTagLineEdit.setObjectName(_fromUtf8("startTagLineEdit")) - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.startTagLineEdit) - self.endTagLabel = QtGui.QLabel(self.layoutWidget) - self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.endTagLabel.setObjectName(_fromUtf8("endTagLabel")) - self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.endTagLabel) - self.endTagLineEdit = QtGui.QLineEdit(self.layoutWidget) - self.endTagLineEdit.setObjectName(_fromUtf8("endTagLineEdit")) - self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.endTagLineEdit) - self.addPushButton = QtGui.QPushButton(self.editGroupBox) - self.addPushButton.setGeometry(QtCore.QRect(600, 40, 71, 26)) - self.addPushButton.setObjectName(_fromUtf8("addPushButton")) - self.newPushButton = QtGui.QPushButton(self.editGroupBox) - self.newPushButton.setGeometry(QtCore.QRect(600, 70, 71, 26)) - self.newPushButton.setObjectName(_fromUtf8("newPushButton")) - self.buttonBox = QtGui.QDialogButtonBox(displayTagDialog) - self.buttonBox.setGeometry(QtCore.QRect(540, 510, 162, 26)) - self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) - self.buttonBox.setObjectName(_fromUtf8("buttonBox")) - self.deletePushButton = QtGui.QPushButton(displayTagDialog) - self.deletePushButton.setGeometry(QtCore.QRect(630, 280, 71, 26)) - self.deletePushButton.setObjectName(_fromUtf8("deletePushButton")) - self.tagTableWidget = QtGui.QTableWidget(displayTagDialog) - self.tagTableWidget.setGeometry(QtCore.QRect(10, 10, 691, 271)) - self.tagTableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) - self.tagTableWidget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) + displayTagDialog.setObjectName(u'displayTagDialog') + displayTagDialog.resize(725, 548) + self.widget = QtGui.QWidget(displayTagDialog) + self.widget.setGeometry(QtCore.QRect(10, 10, 701, 521)) + self.widget.setObjectName(u'widget') + self.listdataGridLayout = QtGui.QGridLayout(self.widget) + self.listdataGridLayout.setMargin(0) + self.listdataGridLayout.setObjectName(u'listdataGridLayout') + self.tagTableWidget = QtGui.QTableWidget(self.widget) + self.tagTableWidget.setHorizontalScrollBarPolicy( + QtCore.Qt.ScrollBarAlwaysOff) + self.tagTableWidget.setEditTriggers( + QtGui.QAbstractItemView.NoEditTriggers) self.tagTableWidget.setAlternatingRowColors(True) - self.tagTableWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) - self.tagTableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) + self.tagTableWidget.setSelectionMode( + QtGui.QAbstractItemView.SingleSelection) + self.tagTableWidget.setSelectionBehavior( + QtGui.QAbstractItemView.SelectRows) self.tagTableWidget.setCornerButtonEnabled(False) - self.tagTableWidget.setObjectName(_fromUtf8("tagTableWidget")) + self.tagTableWidget.setObjectName(u'tagTableWidget') self.tagTableWidget.setColumnCount(4) self.tagTableWidget.setRowCount(0) item = QtGui.QTableWidgetItem() @@ -204,9 +62,62 @@ class Ui_DisplayTagDialog(object): self.tagTableWidget.setHorizontalHeaderItem(2, item) item = QtGui.QTableWidgetItem() self.tagTableWidget.setHorizontalHeaderItem(3, item) - self.defaultPushButton = QtGui.QPushButton(displayTagDialog) - self.defaultPushButton.setGeometry(QtCore.QRect(550, 280, 71, 26)) - self.defaultPushButton.setObjectName(_fromUtf8("defaultPushButton")) + self.listdataGridLayout.addWidget(self.tagTableWidget, 0, 0, 1, 1) + self.horizontalLayout = QtGui.QHBoxLayout() + self.horizontalLayout.setObjectName(u'horizontalLayout') + spacerItem = QtGui.QSpacerItem(40, 20, + QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.defaultPushButton = QtGui.QPushButton(self.widget) + self.defaultPushButton.setObjectName(u'defaultPushButton') + self.horizontalLayout.addWidget(self.defaultPushButton) + self.deletePushButton = QtGui.QPushButton(self.widget) + self.deletePushButton.setObjectName(u'deletePushButton') + self.horizontalLayout.addWidget(self.deletePushButton) + self.listdataGridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 1) + self.editGroupBox = QtGui.QGroupBox(self.widget) + self.editGroupBox.setObjectName(u'editGroupBox') + self.dataGridLayout = QtGui.QGridLayout(self.editGroupBox) + self.dataGridLayout.setObjectName(u'dataGridLayout') + self.descriptionLabel = QtGui.QLabel(self.editGroupBox) + self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) + self.descriptionLabel.setObjectName(u'descriptionLabel') + self.dataGridLayout.addWidget(self.descriptionLabel, 0, 0, 1, 1) + self.descriptionLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.descriptionLineEdit.setObjectName(u'descriptionLineEdit') + self.dataGridLayout.addWidget(self.descriptionLineEdit, 0, 1, 2, 1) + self.newPushButton = QtGui.QPushButton(self.editGroupBox) + self.newPushButton.setObjectName(u'newPushButton') + self.dataGridLayout.addWidget(self.newPushButton, 0, 2, 2, 1) + self.tagLabel = QtGui.QLabel(self.editGroupBox) + self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.tagLabel.setObjectName(u'tagLabel') + self.dataGridLayout.addWidget(self.tagLabel, 2, 0, 1, 1) + self.tagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) + self.tagLineEdit.setMaxLength(5) + self.tagLineEdit.setObjectName(u'tagLineEdit') + self.dataGridLayout.addWidget(self.tagLineEdit, 2, 1, 1, 1) + self.startTagLabel = QtGui.QLabel(self.editGroupBox) + self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.startTagLabel.setObjectName(u'startTagLabel') + self.dataGridLayout.addWidget(self.startTagLabel, 3, 0, 1, 1) + self.startTagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.startTagLineEdit.setObjectName(u'startTagLineEdit') + self.dataGridLayout.addWidget(self.startTagLineEdit, 3, 1, 1, 1) + self.endTagLabel = QtGui.QLabel(self.editGroupBox) + self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.endTagLabel.setObjectName(u'endTagLabel') + self.dataGridLayout.addWidget(self.endTagLabel, 4, 0, 1, 1) + self.endTagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.endTagLineEdit.setObjectName(u'endTagLineEdit') + self.dataGridLayout.addWidget(self.endTagLineEdit, 4, 1, 1, 1) + self.updatePushButton = QtGui.QPushButton(self.editGroupBox) + self.updatePushButton.setObjectName(u'updatePushButton') + self.dataGridLayout.addWidget(self.updatePushButton, 4, 2, 1, 1) + self.listdataGridLayout.addWidget(self.editGroupBox, 2, 0, 1, 1) + self.buttonBox = create_accept_reject_button_box(displayTagDialog) + self.listdataGridLayout.addWidget(self.buttonBox, 3, 0, 1, 1) self.retranslateUi(displayTagDialog) QtCore.QMetaObject.connectSlotsByName(displayTagDialog) @@ -228,33 +139,15 @@ class Ui_DisplayTagDialog(object): self.defaultPushButton.setText( translate('OpenLP.DisplayTagTab', 'Default')) self.newPushButton.setText(UiStrings.New) - self.tagTableWidget.horizontalHeaderItem(0)\ + self.tagTableWidget.horizontalHeaderItem(0) \ .setText(translate('OpenLP.DisplayTagTab', 'Description')) - self.tagTableWidget.horizontalHeaderItem(1)\ + self.tagTableWidget.horizontalHeaderItem(1) \ .setText(translate('OpenLP.DisplayTagTab', 'Tag id')) - self.tagTableWidget.horizontalHeaderItem(2)\ + self.tagTableWidget.horizontalHeaderItem(2) \ .setText(translate('OpenLP.DisplayTagTab', 'Start Html')) - self.tagTableWidget.horizontalHeaderItem(3)\ + self.tagTableWidget.horizontalHeaderItem(3) \ .setText(translate('OpenLP.DisplayTagTab', 'End Html')) self.tagTableWidget.setColumnWidth(0, 120) self.tagTableWidget.setColumnWidth(1, 40) self.tagTableWidget.setColumnWidth(2, 240) - self.tagTableWidget.setColumnWidth(3, 200) - - displayTagDialog.setWindowTitle(QtGui.QApplication.translate("displayTagDialog", "Form", None, QtGui.QApplication.UnicodeUTF8)) - self.editGroupBox.setTitle(QtGui.QApplication.translate("displayTagDialog", "Edit Selection", None, QtGui.QApplication.UnicodeUTF8)) - self.updatePushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Update", None, QtGui.QApplication.UnicodeUTF8)) - self.descriptionLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Description", None, QtGui.QApplication.UnicodeUTF8)) - self.tagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.startTagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "Start tag", None, QtGui.QApplication.UnicodeUTF8)) - self.endTagLabel.setText(QtGui.QApplication.translate("displayTagDialog", "End tag", None, QtGui.QApplication.UnicodeUTF8)) - self.addPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Add", None, QtGui.QApplication.UnicodeUTF8)) - self.newPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "New", None, QtGui.QApplication.UnicodeUTF8)) - self.deletePushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Delete", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(0).setText(QtGui.QApplication.translate("displayTagDialog", "Description", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(1).setText(QtGui.QApplication.translate("displayTagDialog", "Key", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(2).setText(QtGui.QApplication.translate("displayTagDialog", "Start Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(3).setText(QtGui.QApplication.translate("displayTagDialog", "End Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.defaultPushButton.setText(QtGui.QApplication.translate("displayTagDialog", "Default", None, QtGui.QApplication.UnicodeUTF8)) - - + self.tagTableWidget.setColumnWidth(3, 240) diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index 491c60693..48924759f 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -63,6 +63,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): Load Display and set field state. """ # Create initial copy from master + self._resetTable() DisplayTags.reset_html_tags() user_expands = QtCore.QSettings().value(u'displayTags/html_tags', QtCore.QVariant(u'')).toString() @@ -102,7 +103,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): self.startTagLineEdit.setEnabled(False) self.endTagLineEdit.setEnabled(False) - def save(self): + def accept(self): """ Save Custom tags in a pickle . """ @@ -117,13 +118,14 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): else: QtCore.QSettings().setValue(u'displayTags/html_tags', QtCore.QVariant(u'')) + return QtGui.QDialog.accept(self) - def cancel(self): + def reject(self): """ Reset Custom tags from Settings. """ - self.preLoad() self._resetTable() + return QtGui.QDialog.reject(self) def onRowSelected(self): """ @@ -170,6 +172,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): self._resetTable() # Highlight new row self.tagTableWidget.selectRow(self.tagTableWidget.rowCount() - 1) + self.onRowSelected() def onDefaultPushed(self): """ @@ -217,7 +220,6 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): """ self.tagTableWidget.clearContents() self.tagTableWidget.setRowCount(0) - self.load() def _strip(self, tag): """ diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index f899a23ce..9071016e8 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -243,7 +243,7 @@ class Ui_MainWindow(object): u'SettingsShortcutsItem', u':/system/system_configure_shortcuts.png') self.DisplayTagItem = icon_action(mainWindow, - u'DisplayTagItem', u':/system/system_settings.png') + u'DisplayTagItem', u':/system/tag_editor.png') self.SettingsConfigureItem = icon_action(mainWindow, u'SettingsConfigureItem', u':/system/system_settings.png') mainWindow.actionList.add_action(self.SettingsShortcutsItem, diff --git a/resources/forms/displaytabdialog.ui b/resources/forms/displaytabdialog.ui index 2e9c09c01..b181635be 100644 --- a/resources/forms/displaytabdialog.ui +++ b/resources/forms/displaytabdialog.ui @@ -6,228 +6,199 @@ 0 0 - 717 - 554 + 725 + 548 Form - - - - 10 - 320 - 691 - 181 - - - - Edit Selection - - - - - 600 - 140 - 73 - 26 - - - - Update - - - - - - 20 - 50 - 571 - 114 - - - - - - - Description - - - Qt::AlignCenter - - - - - - - - - - Tag - - - Qt::AlignCenter - - - - - - - - 50 - 16777215 - - - - 5 - - - - - - - Start tag - - - Qt::AlignCenter - - - - - - - - - - End tag - - - Qt::AlignCenter - - - - - - - - - - - - 600 - 40 - 71 - 26 - - - - Add - - - - - - 600 - 70 - 71 - 26 - - - - New - - - - - - - 540 - 510 - 162 - 26 - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Save - - - - - - 630 - 280 - 71 - 26 - - - - Delete - - - + 10 10 - 691 - 271 + 701 + 521 - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - false - - - - Description - - - - - Key - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - Start Tag - - - - - End Tag - - - - - - - 550 - 280 - 71 - 26 - - - - Default - + + + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + false + + + + Description + + + + + Key + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + Start Tag + + + + + End Tag + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Default + + + + + + + Delete + + + + + + + + + Edit Selection + + + + + + Description + + + Qt::AlignCenter + + + + + + + + + + Add + + + + + + + New + + + + + + + Tag + + + Qt::AlignCenter + + + + + + + + 50 + 16777215 + + + + 5 + + + + + + + Start tag + + + Qt::AlignCenter + + + + + + + + + + End tag + + + Qt::AlignCenter + + + + + + + + + + Update + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Save + + + + diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc index 745f20ebf..794e006d9 100644 --- a/resources/images/openlp-2.qrc +++ b/resources/images/openlp-2.qrc @@ -116,6 +116,7 @@ system_exit.png settings_plugin_list.png system_settings.png + tag_editor.png system_configure.png system_edit_copy.png system_configure_shortcuts.png From 69bfe2ab9ccb84e425d035b1b44ae40b81254461 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 20 Feb 2011 20:34:33 +0000 Subject: [PATCH 19/90] Post merge request fixes --- openlp/core/ui/settingsform.py | 5 +- resources/forms/displaytabdialog.py | 125 ++++++++++++++++++++++++++++ resources/images/tag_editor.png | Bin 0 -> 1131 bytes 3 files changed, 126 insertions(+), 4 deletions(-) create mode 100644 resources/forms/displaytabdialog.py create mode 100644 resources/images/tag_editor.png diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 3fd640acd..8ea9b0dea 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -31,7 +31,7 @@ import logging from PyQt4 import QtGui from openlp.core.lib import Receiver -from openlp.core.ui import AdvancedTab, GeneralTab, ThemesTab, DisplayTagTab +from openlp.core.ui import AdvancedTab, GeneralTab, ThemesTab from settingsdialog import Ui_SettingsDialog log = logging.getLogger(__name__) @@ -55,9 +55,6 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): # Advanced tab advancedTab = AdvancedTab() self.addTab(u'Advanced', advancedTab) - ## Edit Display Tags tab - #self.displayTagTab = DisplayTagTab() - #self.addTab(u'Display Tags', self.displayTagTab) def addTab(self, name, tab): """ diff --git a/resources/forms/displaytabdialog.py b/resources/forms/displaytabdialog.py new file mode 100644 index 000000000..7e3be55cd --- /dev/null +++ b/resources/forms/displaytabdialog.py @@ -0,0 +1,125 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'displaytabdialog.ui' +# +# Created: Sun Feb 20 17:37:30 2011 +# by: PyQt4 UI code generator 4.8.3 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + _fromUtf8 = lambda s: s + +class Ui_displayTagEdit(object): + def setupUi(self, displayTagEdit): + displayTagEdit.setObjectName(_fromUtf8("displayTagEdit")) + displayTagEdit.resize(725, 548) + self.widget = QtGui.QWidget(displayTagEdit) + self.widget.setGeometry(QtCore.QRect(10, 10, 701, 521)) + self.widget.setObjectName(_fromUtf8("widget")) + self.gridLayout_2 = QtGui.QGridLayout(self.widget) + self.gridLayout_2.setMargin(0) + self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.tagTableWidget = QtGui.QTableWidget(self.widget) + self.tagTableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.tagTableWidget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) + self.tagTableWidget.setAlternatingRowColors(True) + self.tagTableWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) + self.tagTableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) + self.tagTableWidget.setCornerButtonEnabled(False) + self.tagTableWidget.setObjectName(_fromUtf8("tagTableWidget")) + self.tagTableWidget.setColumnCount(4) + self.tagTableWidget.setRowCount(0) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(0, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(1, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(2, item) + item = QtGui.QTableWidgetItem() + self.tagTableWidget.setHorizontalHeaderItem(3, item) + self.gridLayout_2.addWidget(self.tagTableWidget, 0, 0, 1, 1) + self.horizontalLayout = QtGui.QHBoxLayout() + self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) + spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.defaultPushButton = QtGui.QPushButton(self.widget) + self.defaultPushButton.setObjectName(_fromUtf8("defaultPushButton")) + self.horizontalLayout.addWidget(self.defaultPushButton) + self.deletePushButton = QtGui.QPushButton(self.widget) + self.deletePushButton.setObjectName(_fromUtf8("deletePushButton")) + self.horizontalLayout.addWidget(self.deletePushButton) + self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 1) + self.editGroupBox = QtGui.QGroupBox(self.widget) + self.editGroupBox.setObjectName(_fromUtf8("editGroupBox")) + self.gridLayout = QtGui.QGridLayout(self.editGroupBox) + self.gridLayout.setObjectName(_fromUtf8("gridLayout")) + self.descriptionLabel = QtGui.QLabel(self.editGroupBox) + self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) + self.descriptionLabel.setObjectName(_fromUtf8("descriptionLabel")) + self.gridLayout.addWidget(self.descriptionLabel, 0, 0, 1, 1) + self.descriptionLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.descriptionLineEdit.setObjectName(_fromUtf8("descriptionLineEdit")) + self.gridLayout.addWidget(self.descriptionLineEdit, 0, 1, 2, 1) + self.addPushButton = QtGui.QPushButton(self.editGroupBox) + self.addPushButton.setObjectName(_fromUtf8("addPushButton")) + self.gridLayout.addWidget(self.addPushButton, 0, 2, 1, 1) + self.newPushButton = QtGui.QPushButton(self.editGroupBox) + self.newPushButton.setObjectName(_fromUtf8("newPushButton")) + self.gridLayout.addWidget(self.newPushButton, 1, 2, 2, 1) + self.tagLabel = QtGui.QLabel(self.editGroupBox) + self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.tagLabel.setObjectName(_fromUtf8("tagLabel")) + self.gridLayout.addWidget(self.tagLabel, 2, 0, 1, 1) + self.tagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) + self.tagLineEdit.setMaxLength(5) + self.tagLineEdit.setObjectName(_fromUtf8("tagLineEdit")) + self.gridLayout.addWidget(self.tagLineEdit, 2, 1, 1, 1) + self.startTagLabel = QtGui.QLabel(self.editGroupBox) + self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.startTagLabel.setObjectName(_fromUtf8("startTagLabel")) + self.gridLayout.addWidget(self.startTagLabel, 3, 0, 1, 1) + self.startTagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.startTagLineEdit.setObjectName(_fromUtf8("startTagLineEdit")) + self.gridLayout.addWidget(self.startTagLineEdit, 3, 1, 1, 1) + self.endTagLabel = QtGui.QLabel(self.editGroupBox) + self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) + self.endTagLabel.setObjectName(_fromUtf8("endTagLabel")) + self.gridLayout.addWidget(self.endTagLabel, 4, 0, 1, 1) + self.endTagLineEdit = QtGui.QLineEdit(self.editGroupBox) + self.endTagLineEdit.setObjectName(_fromUtf8("endTagLineEdit")) + self.gridLayout.addWidget(self.endTagLineEdit, 4, 1, 1, 1) + self.updatePushButton = QtGui.QPushButton(self.editGroupBox) + self.updatePushButton.setObjectName(_fromUtf8("updatePushButton")) + self.gridLayout.addWidget(self.updatePushButton, 4, 2, 1, 1) + self.gridLayout_2.addWidget(self.editGroupBox, 2, 0, 1, 1) + self.buttonBox = QtGui.QDialogButtonBox(self.widget) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) + self.buttonBox.setObjectName(_fromUtf8("buttonBox")) + self.gridLayout_2.addWidget(self.buttonBox, 3, 0, 1, 1) + + self.retranslateUi(displayTagEdit) + QtCore.QMetaObject.connectSlotsByName(displayTagEdit) + + def retranslateUi(self, displayTagEdit): + displayTagEdit.setWindowTitle(QtGui.QApplication.translate("displayTagEdit", "Form", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(0).setText(QtGui.QApplication.translate("displayTagEdit", "Description", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(1).setText(QtGui.QApplication.translate("displayTagEdit", "Key", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(2).setText(QtGui.QApplication.translate("displayTagEdit", "Start Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.tagTableWidget.horizontalHeaderItem(3).setText(QtGui.QApplication.translate("displayTagEdit", "End Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.defaultPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Default", None, QtGui.QApplication.UnicodeUTF8)) + self.deletePushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Delete", None, QtGui.QApplication.UnicodeUTF8)) + self.editGroupBox.setTitle(QtGui.QApplication.translate("displayTagEdit", "Edit Selection", None, QtGui.QApplication.UnicodeUTF8)) + self.descriptionLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Description", None, QtGui.QApplication.UnicodeUTF8)) + self.addPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Add", None, QtGui.QApplication.UnicodeUTF8)) + self.newPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "New", None, QtGui.QApplication.UnicodeUTF8)) + self.tagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Tag", None, QtGui.QApplication.UnicodeUTF8)) + self.startTagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Start tag", None, QtGui.QApplication.UnicodeUTF8)) + self.endTagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "End tag", None, QtGui.QApplication.UnicodeUTF8)) + self.updatePushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Update", None, QtGui.QApplication.UnicodeUTF8)) + diff --git a/resources/images/tag_editor.png b/resources/images/tag_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..d03963448a44afac47fb33551416dad2ba58168a GIT binary patch literal 1131 zcmV-x1eE)UP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXS| z0U#KwC`vg100ZkuL_t(|+MSbsXjNqx$3O4AclUVjox`y$&8BUxbQOe^TKQ{+=&BWr z7Fn<*nL+<#2~s4Hgb-F%N~ckVsE?m17# zgV#&zI;#)7yyrdd^E`a{p6^jC2ljA@_V#x10idO&MR6J0+S&v_DMfR0bG~jFuon~n zbu@*H&=T*AXUVVftn0dj!(r6T>PlR`Fs+6 zBD%^xX4AX4S4`Jbv7%ymJ-JEM*Dsf#KMUWX{v^X&*0CZIO(vt3)&*EB38W zkur^Yf4*nm_6N5vZ5`O*Dgfs3v1(QiM?wllJrcf($#IPtv&t!nYLvt@;zdPRuFIHV zk+LmLo=BpnEp*qxD}k4WVr<-Mu;BIu?&3v@t0Uxa!SjT8sXt^=l(?p0nJxxd6d_F8 z#q|Wk&SF|w5@j*m;xLY3(K>YlQ@ov&m3wmN(9zJr0|&c9v~@_P2=3MV5$9Hk*}y!|16#kzdxy{VQ*g z>6NqO{mnPYpWi$rz+GGQ&`3V@0QVIm3oMOdw{XF&BFo%B{Wlckf`UMW< z^LGLrCVBFTZQGWKuro>VzF#g|H`e(|tL4!LX3HO6-Y4gN|1P)(?kuP{5{VR49EkPc z?#eB+_oaB_LyH@$!o2ci5#Cjg`O%w8j)ICU%aY4s99$@STC3%nnYD7;-0NlNi&_~z z`ay7Kn&y=icXxLa3Wf5%hT_z!O&I3~S^aV;G0mfGqsfmWOR(K(e0#i$#>U2p6&r>j z;~6~CBPTkGrKYAvW>(FX{qL5^;ht5JC+NGf;;yc)U?(^i5q8g!8rwiB-Nrl5jBwtW zPByfLq0f5&!Sg&C8X6dnBCmMB_Xkw4jt&3-002ovPDHLkV1m$-7>ED> literal 0 HcmV?d00001 From 265aeebf4bbca34afe5c157ba689d710a4acdb17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 21 Feb 2011 14:45:14 +0100 Subject: [PATCH 20/90] sort WizardStrings in alphapetical order --- openlp/core/ui/wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/wizard.py b/openlp/core/ui/wizard.py index fc1edeecb..209f3f212 100644 --- a/openlp/core/ui/wizard.py +++ b/openlp/core/ui/wizard.py @@ -47,6 +47,7 @@ class WizardStrings(object): CSV = u'CSV' EW = u'EasyWorship' ES = u'EasiSlides' + FP = u'Foilpresenter' OL = u'OpenLyrics' OS = u'OpenSong' OSIS = u'OSIS' @@ -54,7 +55,6 @@ class WizardStrings(object): SoF = u'Songs of Fellowship' SSP = u'SongShow Plus' WoW = u'Words of Worship' - FP = u'Foilpresenter' # These strings should need a good reason to be retranslated elsewhere. FinishedImport = translate('OpenLP.Ui', 'Finished import.') FormatLabel = translate('OpenLP.Ui', 'Format:') From 4aa69e53bbf0c70615bafa929a987273322799b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 21 Feb 2011 15:59:01 +0100 Subject: [PATCH 21/90] removed duplicate method registerFields() and sort some lines --- openlp/plugins/songs/forms/songimportform.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 06de08a93..3eecac4ba 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -604,6 +604,12 @@ class SongImportForm(OpenLPWizard): % translate('SongsPlugin.ImportWizardForm', 'SongShow Plus Song Files') ) + + def onSongShowPlusRemoveButtonClicked(self): + """ + Remove selected SongShow Plus files from the import list + """ + self.removeSelectedItems(self.songShowPlusFileListWidget) def onFoilPresenterAddButtonClicked(self): """ @@ -621,18 +627,6 @@ class SongImportForm(OpenLPWizard): """ self.removeSelectedItems(self.foilPresenterFileListWidget) - def registerFields(self): - """ - Register song import wizard fields. - """ - pass - - def onSongShowPlusRemoveButtonClicked(self): - """ - Remove selected SongShow Plus files from the import list - """ - self.removeSelectedItems(self.songShowPlusFileListWidget) - def setDefaults(self): """ Set default form values for the song import wizard. From 7d7f9a7d98172d4cf26ecc1e5f0f9a889fb8acde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Mon, 21 Feb 2011 17:16:56 +0200 Subject: [PATCH 22/90] fix #99 --- openlp/plugins/songs/lib/cclifileimport.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/cclifileimport.py b/openlp/plugins/songs/lib/cclifileimport.py index 3d08584d0..28c487a78 100644 --- a/openlp/plugins/songs/lib/cclifileimport.py +++ b/openlp/plugins/songs/lib/cclifileimport.py @@ -78,7 +78,20 @@ class CCLIFileImport(SongImport): details = chardet.detect(detect_content) detect_file.close() infile = codecs.open(filename, u'r', details['encoding']) - lines = infile.readlines() + try: + lines = infile.readlines() + infile.close() + except UnicodeDecodeError: + # First 2kB were not sufficient to detect file encoding. + # This time we read entire file. + detect_file = open(filename, u'r') + detect_content = detect_file.read() + details = chardet.detect(detect_content) + detect_file.close() + # We read the contents again. Should it be a try as well? + infile = codecs.open(filename, u'r', details['encoding']) + lines = infile.readlines() + infile.close() ext = os.path.splitext(filename)[1] if ext.lower() == u'.usr': log.info(u'SongSelect .usr format file found %s: ', From 24519832dfb8ebf8b70a88d5af494013bd9639d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Mon, 21 Feb 2011 17:49:09 +0200 Subject: [PATCH 23/90] More informational noise to debug log, extensions by mimetype. To justify: it seems that extension list is an important thing. --- openlp/plugins/media/mediaplugin.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 12887a76c..bfe9dbff0 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -54,19 +54,16 @@ class MediaPlugin(Plugin): self._addToList(self.audio_list, mimetype) elif mimetype.startswith(u'video/'): self._addToList(self.video_list, mimetype) - log.info(u'MediaPlugin handles audio extensions: %s', - u' '.join(self.audio_list)) - log.info(u'MediaPlugin handles video extensions: %s', - u' '.join(self.video_list)) def _addToList(self, list, mimetype): - # Is it a media type extensions = mimetypes.guess_all_extensions(unicode(mimetype)) for extension in extensions: ext = u'*%s' % extension if ext not in list: list.append(ext) self.serviceManager.supportedSuffixes(extension[1:]) + log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, + u' '.join(extensions))) def about(self): about_text = translate('MediaPlugin', 'Media Plugin' From e8b6bbe14179ff37a6da5aa3b4c4bb1ad430f939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Mon, 21 Feb 2011 17:56:23 +0200 Subject: [PATCH 24/90] revert a change --- openlp/plugins/songs/lib/cclifileimport.py | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/openlp/plugins/songs/lib/cclifileimport.py b/openlp/plugins/songs/lib/cclifileimport.py index 28c487a78..3d08584d0 100644 --- a/openlp/plugins/songs/lib/cclifileimport.py +++ b/openlp/plugins/songs/lib/cclifileimport.py @@ -78,20 +78,7 @@ class CCLIFileImport(SongImport): details = chardet.detect(detect_content) detect_file.close() infile = codecs.open(filename, u'r', details['encoding']) - try: - lines = infile.readlines() - infile.close() - except UnicodeDecodeError: - # First 2kB were not sufficient to detect file encoding. - # This time we read entire file. - detect_file = open(filename, u'r') - detect_content = detect_file.read() - details = chardet.detect(detect_content) - detect_file.close() - # We read the contents again. Should it be a try as well? - infile = codecs.open(filename, u'r', details['encoding']) - lines = infile.readlines() - infile.close() + lines = infile.readlines() ext = os.path.splitext(filename)[1] if ext.lower() == u'.usr': log.info(u'SongSelect .usr format file found %s: ', From 1e041d9158d72aa1f7ad177f38c756f55da07c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 21 Feb 2011 17:02:28 +0100 Subject: [PATCH 25/90] remove some whitespaces --- openlp/plugins/songs/forms/songimportform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 3eecac4ba..16c0f9edb 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -594,7 +594,7 @@ class SongImportForm(OpenLPWizard): Remove selected SongBeamer files from the import list """ self.removeSelectedItems(self.songBeamerFileListWidget) - + def onSongShowPlusAddButtonClicked(self): """ Get SongShow Plus song database files @@ -604,7 +604,7 @@ class SongImportForm(OpenLPWizard): % translate('SongsPlugin.ImportWizardForm', 'SongShow Plus Song Files') ) - + def onSongShowPlusRemoveButtonClicked(self): """ Remove selected SongShow Plus files from the import list From e2699eab3cadc2fd719a853a1586d69fe64618a2 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 21 Feb 2011 17:12:36 +0000 Subject: [PATCH 26/90] Review Fixes --- openlp/core/ui/displaytagdialog.py | 16 ++-- openlp/core/ui/displaytagform.py | 3 + resources/forms/displaytabdialog.py | 125 ---------------------------- 3 files changed, 11 insertions(+), 133 deletions(-) delete mode 100644 resources/forms/displaytabdialog.py diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index 5da529302..ab3363058 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -139,14 +139,14 @@ class Ui_DisplayTagDialog(object): self.defaultPushButton.setText( translate('OpenLP.DisplayTagTab', 'Default')) self.newPushButton.setText(UiStrings.New) - self.tagTableWidget.horizontalHeaderItem(0) \ - .setText(translate('OpenLP.DisplayTagTab', 'Description')) - self.tagTableWidget.horizontalHeaderItem(1) \ - .setText(translate('OpenLP.DisplayTagTab', 'Tag id')) - self.tagTableWidget.horizontalHeaderItem(2) \ - .setText(translate('OpenLP.DisplayTagTab', 'Start Html')) - self.tagTableWidget.horizontalHeaderItem(3) \ - .setText(translate('OpenLP.DisplayTagTab', 'End Html')) + self.tagTableWidget.horizontalHeaderItem(0).setText( + translate('OpenLP.DisplayTagTab', 'Description')) + self.tagTableWidget.horizontalHeaderItem(1).setText( + translate('OpenLP.DisplayTagTab', 'Tag id')) + self.tagTableWidget.horizontalHeaderItem(2).setText( + translate('OpenLP.DisplayTagTab', 'Start Html')) + self.tagTableWidget.horizontalHeaderItem(3).setText( + translate('OpenLP.DisplayTagTab', 'End Html')) self.tagTableWidget.setColumnWidth(0, 120) self.tagTableWidget.setColumnWidth(1, 40) self.tagTableWidget.setColumnWidth(2, 240) diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index 48924759f..f7a8e7740 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -79,6 +79,9 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): return QtGui.QDialog.exec_(self) def load(self): + """ + Load the form with data and set the initial state of the buttons + """ self.newPushButton.setEnabled(True) self.updatePushButton.setEnabled(False) self.deletePushButton.setEnabled(False) diff --git a/resources/forms/displaytabdialog.py b/resources/forms/displaytabdialog.py deleted file mode 100644 index 7e3be55cd..000000000 --- a/resources/forms/displaytabdialog.py +++ /dev/null @@ -1,125 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'displaytabdialog.ui' -# -# Created: Sun Feb 20 17:37:30 2011 -# by: PyQt4 UI code generator 4.8.3 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - _fromUtf8 = lambda s: s - -class Ui_displayTagEdit(object): - def setupUi(self, displayTagEdit): - displayTagEdit.setObjectName(_fromUtf8("displayTagEdit")) - displayTagEdit.resize(725, 548) - self.widget = QtGui.QWidget(displayTagEdit) - self.widget.setGeometry(QtCore.QRect(10, 10, 701, 521)) - self.widget.setObjectName(_fromUtf8("widget")) - self.gridLayout_2 = QtGui.QGridLayout(self.widget) - self.gridLayout_2.setMargin(0) - self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) - self.tagTableWidget = QtGui.QTableWidget(self.widget) - self.tagTableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) - self.tagTableWidget.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) - self.tagTableWidget.setAlternatingRowColors(True) - self.tagTableWidget.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) - self.tagTableWidget.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) - self.tagTableWidget.setCornerButtonEnabled(False) - self.tagTableWidget.setObjectName(_fromUtf8("tagTableWidget")) - self.tagTableWidget.setColumnCount(4) - self.tagTableWidget.setRowCount(0) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(0, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(1, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(2, item) - item = QtGui.QTableWidgetItem() - self.tagTableWidget.setHorizontalHeaderItem(3, item) - self.gridLayout_2.addWidget(self.tagTableWidget, 0, 0, 1, 1) - self.horizontalLayout = QtGui.QHBoxLayout() - self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) - spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.horizontalLayout.addItem(spacerItem) - self.defaultPushButton = QtGui.QPushButton(self.widget) - self.defaultPushButton.setObjectName(_fromUtf8("defaultPushButton")) - self.horizontalLayout.addWidget(self.defaultPushButton) - self.deletePushButton = QtGui.QPushButton(self.widget) - self.deletePushButton.setObjectName(_fromUtf8("deletePushButton")) - self.horizontalLayout.addWidget(self.deletePushButton) - self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 1) - self.editGroupBox = QtGui.QGroupBox(self.widget) - self.editGroupBox.setObjectName(_fromUtf8("editGroupBox")) - self.gridLayout = QtGui.QGridLayout(self.editGroupBox) - self.gridLayout.setObjectName(_fromUtf8("gridLayout")) - self.descriptionLabel = QtGui.QLabel(self.editGroupBox) - self.descriptionLabel.setAlignment(QtCore.Qt.AlignCenter) - self.descriptionLabel.setObjectName(_fromUtf8("descriptionLabel")) - self.gridLayout.addWidget(self.descriptionLabel, 0, 0, 1, 1) - self.descriptionLineEdit = QtGui.QLineEdit(self.editGroupBox) - self.descriptionLineEdit.setObjectName(_fromUtf8("descriptionLineEdit")) - self.gridLayout.addWidget(self.descriptionLineEdit, 0, 1, 2, 1) - self.addPushButton = QtGui.QPushButton(self.editGroupBox) - self.addPushButton.setObjectName(_fromUtf8("addPushButton")) - self.gridLayout.addWidget(self.addPushButton, 0, 2, 1, 1) - self.newPushButton = QtGui.QPushButton(self.editGroupBox) - self.newPushButton.setObjectName(_fromUtf8("newPushButton")) - self.gridLayout.addWidget(self.newPushButton, 1, 2, 2, 1) - self.tagLabel = QtGui.QLabel(self.editGroupBox) - self.tagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.tagLabel.setObjectName(_fromUtf8("tagLabel")) - self.gridLayout.addWidget(self.tagLabel, 2, 0, 1, 1) - self.tagLineEdit = QtGui.QLineEdit(self.editGroupBox) - self.tagLineEdit.setMaximumSize(QtCore.QSize(50, 16777215)) - self.tagLineEdit.setMaxLength(5) - self.tagLineEdit.setObjectName(_fromUtf8("tagLineEdit")) - self.gridLayout.addWidget(self.tagLineEdit, 2, 1, 1, 1) - self.startTagLabel = QtGui.QLabel(self.editGroupBox) - self.startTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.startTagLabel.setObjectName(_fromUtf8("startTagLabel")) - self.gridLayout.addWidget(self.startTagLabel, 3, 0, 1, 1) - self.startTagLineEdit = QtGui.QLineEdit(self.editGroupBox) - self.startTagLineEdit.setObjectName(_fromUtf8("startTagLineEdit")) - self.gridLayout.addWidget(self.startTagLineEdit, 3, 1, 1, 1) - self.endTagLabel = QtGui.QLabel(self.editGroupBox) - self.endTagLabel.setAlignment(QtCore.Qt.AlignCenter) - self.endTagLabel.setObjectName(_fromUtf8("endTagLabel")) - self.gridLayout.addWidget(self.endTagLabel, 4, 0, 1, 1) - self.endTagLineEdit = QtGui.QLineEdit(self.editGroupBox) - self.endTagLineEdit.setObjectName(_fromUtf8("endTagLineEdit")) - self.gridLayout.addWidget(self.endTagLineEdit, 4, 1, 1, 1) - self.updatePushButton = QtGui.QPushButton(self.editGroupBox) - self.updatePushButton.setObjectName(_fromUtf8("updatePushButton")) - self.gridLayout.addWidget(self.updatePushButton, 4, 2, 1, 1) - self.gridLayout_2.addWidget(self.editGroupBox, 2, 0, 1, 1) - self.buttonBox = QtGui.QDialogButtonBox(self.widget) - self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) - self.buttonBox.setObjectName(_fromUtf8("buttonBox")) - self.gridLayout_2.addWidget(self.buttonBox, 3, 0, 1, 1) - - self.retranslateUi(displayTagEdit) - QtCore.QMetaObject.connectSlotsByName(displayTagEdit) - - def retranslateUi(self, displayTagEdit): - displayTagEdit.setWindowTitle(QtGui.QApplication.translate("displayTagEdit", "Form", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(0).setText(QtGui.QApplication.translate("displayTagEdit", "Description", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(1).setText(QtGui.QApplication.translate("displayTagEdit", "Key", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(2).setText(QtGui.QApplication.translate("displayTagEdit", "Start Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.tagTableWidget.horizontalHeaderItem(3).setText(QtGui.QApplication.translate("displayTagEdit", "End Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.defaultPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Default", None, QtGui.QApplication.UnicodeUTF8)) - self.deletePushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Delete", None, QtGui.QApplication.UnicodeUTF8)) - self.editGroupBox.setTitle(QtGui.QApplication.translate("displayTagEdit", "Edit Selection", None, QtGui.QApplication.UnicodeUTF8)) - self.descriptionLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Description", None, QtGui.QApplication.UnicodeUTF8)) - self.addPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Add", None, QtGui.QApplication.UnicodeUTF8)) - self.newPushButton.setText(QtGui.QApplication.translate("displayTagEdit", "New", None, QtGui.QApplication.UnicodeUTF8)) - self.tagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Tag", None, QtGui.QApplication.UnicodeUTF8)) - self.startTagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "Start tag", None, QtGui.QApplication.UnicodeUTF8)) - self.endTagLabel.setText(QtGui.QApplication.translate("displayTagEdit", "End tag", None, QtGui.QApplication.UnicodeUTF8)) - self.updatePushButton.setText(QtGui.QApplication.translate("displayTagEdit", "Update", None, QtGui.QApplication.UnicodeUTF8)) - From eb4f7deea8620e8d880a956f9c456f165277ef6a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 21 Feb 2011 20:30:01 +0100 Subject: [PATCH 27/90] added apocrypha --- openlp/plugins/bibles/resources/osisbooks.csv | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/openlp/plugins/bibles/resources/osisbooks.csv b/openlp/plugins/bibles/resources/osisbooks.csv index c14f76ded..372cbd92d 100644 --- a/openlp/plugins/bibles/resources/osisbooks.csv +++ b/openlp/plugins/bibles/resources/osisbooks.csv @@ -64,3 +64,13 @@ Jas,James,Jas 3John,3 John,3John Jude,Jude,Jude Rev,Revelation,Rev +Jdt,Judith,Jdt +Wis,Wisdom,Wis +Tob,Tobit,Tob +Sir,Sirach,Sir +Bar,Baruch,Bar +1Macc,1 Maccabees,1Macc +2Macc,2 Maccabees,2Macc +AddDan,Rest of Daniel,AddDan +AddEsth,Rest of Esther,AddEsth +PrMan,Prayer of Manasses,PrMan From 0935af3cfb527cf972619af8e34f7ecf7a637bb8 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 21 Feb 2011 20:43:04 +0100 Subject: [PATCH 28/90] fix db --- openlp/plugins/bibles/lib/osis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index d21227090..347730bf4 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -126,7 +126,7 @@ class OSISBible(BibleDB): verse_text = match.group(4) if not db_book or db_book.name != self.books[book][0]: log.debug(u'New book: "%s"', self.books[book][0]) - if book == u'Matt': + if book == u'Matt' or book == u'Jdt': testament += 1 db_book = self.create_book( unicode(self.books[book][0]), From d486547abd5cfa3e248e471fe86cf62d58eb5c2f Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 21 Feb 2011 20:06:55 +0000 Subject: [PATCH 29/90] Fixes from last merge --- openlp/core/ui/__init__.py | 1 - openlp/core/ui/displaytagdialog.py | 24 +++++------ openlp/core/ui/displaytagform.py | 66 ++++++++++++++++-------------- 3 files changed, 47 insertions(+), 44 deletions(-) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 5763b3470..0f62a6dcf 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -63,7 +63,6 @@ from splashscreen import SplashScreen from generaltab import GeneralTab from themestab import ThemesTab from advancedtab import AdvancedTab -from displaytagtab import DisplayTagTab from aboutform import AboutForm from pluginform import PluginForm from settingsform import SettingsForm diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index ab3363058..edb8567cf 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -123,30 +123,30 @@ class Ui_DisplayTagDialog(object): QtCore.QMetaObject.connectSlotsByName(displayTagDialog) def retranslateUi(self, displayTagDialog): - displayTagDialog.setWindowTitle(translate('OpenLP.displayTagForm', + displayTagDialog.setWindowTitle(translate('OpenLP.displayTagDialog', 'Configure Display Tags')) self.editGroupBox.setTitle( - translate('OpenLP.DisplayTagTab', 'Edit Selection')) + translate('OpenLP.DisplayTagDialog', 'Edit Selection')) self.updatePushButton.setText( - translate('OpenLP.DisplayTagTab', 'Update')) + translate('OpenLP.DisplayTagDialog', 'Update')) self.descriptionLabel.setText( - translate('OpenLP.DisplayTagTab', 'Description')) - self.tagLabel.setText(translate('OpenLP.DisplayTagTab', 'Tag')) + translate('OpenLP.DisplayTagDialog', 'Description')) + self.tagLabel.setText(translate('OpenLP.DisplayTagDialog', 'Tag')) self.startTagLabel.setText( - translate('OpenLP.DisplayTagTab', 'Start tag')) - self.endTagLabel.setText(translate('OpenLP.DisplayTagTab', 'End tag')) + translate('OpenLP.DisplayTagDialog', 'Start tag')) + self.endTagLabel.setText(translate('OpenLP.DisplayTagDialog', 'End tag')) self.deletePushButton.setText(UiStrings.Delete) self.defaultPushButton.setText( - translate('OpenLP.DisplayTagTab', 'Default')) + translate('OpenLP.DisplayTagDialog', 'Default')) self.newPushButton.setText(UiStrings.New) self.tagTableWidget.horizontalHeaderItem(0).setText( - translate('OpenLP.DisplayTagTab', 'Description')) + translate('OpenLP.DisplayTagDialog', 'Description')) self.tagTableWidget.horizontalHeaderItem(1).setText( - translate('OpenLP.DisplayTagTab', 'Tag id')) + translate('OpenLP.DisplayTagDialog', 'Tag id')) self.tagTableWidget.horizontalHeaderItem(2).setText( - translate('OpenLP.DisplayTagTab', 'Start Html')) + translate('OpenLP.DisplayTagDialog', 'Start Html')) self.tagTableWidget.horizontalHeaderItem(3).setText( - translate('OpenLP.DisplayTagTab', 'End Html')) + translate('OpenLP.DisplayTagDialog', 'End Html')) self.tagTableWidget.setColumnWidth(0, 120) self.tagTableWidget.setColumnWidth(1, 40) self.tagTableWidget.setColumnWidth(2, 240) diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index f7a8e7740..fa05c578a 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -47,6 +47,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) + self.preLoad() QtCore.QObject.connect(self.tagTableWidget, QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onRowSelected) QtCore.QObject.connect(self.defaultPushButton, @@ -63,7 +64,18 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): Load Display and set field state. """ # Create initial copy from master + self.preLoad() self._resetTable() + self.selected = -1 + return QtGui.QDialog.exec_(self) + + def preLoad(self): + """ + Load the Tags from store so can be used in the system or used to + update the display. If Cancel was selected this is needed to reset the + dsiplay to the correct version. + """ + # Initial Load of the Tags DisplayTags.reset_html_tags() user_expands = QtCore.QSettings().value(u'displayTags/html_tags', QtCore.QVariant(u'')).toString() @@ -74,37 +86,6 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): # If we have some user ones added them as well for t in user_tags: DisplayTags.add_html_tag(t) - self.selected = -1 - self.load() - return QtGui.QDialog.exec_(self) - - def load(self): - """ - Load the form with data and set the initial state of the buttons - """ - self.newPushButton.setEnabled(True) - self.updatePushButton.setEnabled(False) - self.deletePushButton.setEnabled(False) - for linenumber, html in enumerate(DisplayTags.get_html_tags()): - self.tagTableWidget.setRowCount( - self.tagTableWidget.rowCount() + 1) - self.tagTableWidget.setItem(linenumber, 0, - QtGui.QTableWidgetItem(html[u'desc'])) - self.tagTableWidget.setItem(linenumber, 1, - QtGui.QTableWidgetItem(self._strip(html[u'start tag']))) - self.tagTableWidget.setItem(linenumber, 2, - QtGui.QTableWidgetItem(html[u'start html'])) - self.tagTableWidget.setItem(linenumber, 3, - QtGui.QTableWidgetItem(html[u'end html'])) - self.tagTableWidget.resizeRowsToContents() - self.descriptionLineEdit.setText(u'') - self.tagLineEdit.setText(u'') - self.startTagLineEdit.setText(u'') - self.endTagLineEdit.setText(u'') - self.descriptionLineEdit.setEnabled(False) - self.tagLineEdit.setEnabled(False) - self.startTagLineEdit.setEnabled(False) - self.endTagLineEdit.setEnabled(False) def accept(self): """ @@ -223,6 +204,29 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): """ self.tagTableWidget.clearContents() self.tagTableWidget.setRowCount(0) + self.newPushButton.setEnabled(True) + self.updatePushButton.setEnabled(False) + self.deletePushButton.setEnabled(False) + for linenumber, html in enumerate(DisplayTags.get_html_tags()): + self.tagTableWidget.setRowCount( + self.tagTableWidget.rowCount() + 1) + self.tagTableWidget.setItem(linenumber, 0, + QtGui.QTableWidgetItem(html[u'desc'])) + self.tagTableWidget.setItem(linenumber, 1, + QtGui.QTableWidgetItem(self._strip(html[u'start tag']))) + self.tagTableWidget.setItem(linenumber, 2, + QtGui.QTableWidgetItem(html[u'start html'])) + self.tagTableWidget.setItem(linenumber, 3, + QtGui.QTableWidgetItem(html[u'end html'])) + self.tagTableWidget.resizeRowsToContents() + self.descriptionLineEdit.setText(u'') + self.tagLineEdit.setText(u'') + self.startTagLineEdit.setText(u'') + self.endTagLineEdit.setText(u'') + self.descriptionLineEdit.setEnabled(False) + self.tagLineEdit.setEnabled(False) + self.startTagLineEdit.setEnabled(False) + self.endTagLineEdit.setEnabled(False) def _strip(self, tag): """ From fdb5c574683b755b99f5aaa29f192040ef381fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Mon, 21 Feb 2011 22:37:18 +0200 Subject: [PATCH 30/90] Additional extensions hack. --- openlp/plugins/media/lib/mediaitem.py | 4 ++-- openlp/plugins/media/mediaplugin.py | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 9f3f98636..8bf201180 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -61,8 +61,8 @@ class MediaMediaItem(MediaManagerItem): self.onNewPrompt = translate('MediaPlugin.MediaItem', 'Select Media') self.onNewFileMasks = unicode(translate('MediaPlugin.MediaItem', 'Videos (%s);;Audio (%s);;%s (*)')) % ( - u' '.join(self.parent.video_list), - u' '.join(self.parent.audio_list), UiStrings.AllFiles) + u' '.join(self.parent.video_extensions_list), + u' '.join(self.parent.audio_extensions_list), UiStrings.AllFiles) self.replaceAction.setText(UiStrings.ReplaceBG) self.replaceAction.setToolTip(UiStrings.ReplaceLiveBG) self.resetAction.setText(UiStrings.ResetBG) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index bfe9dbff0..1514b6cb2 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,15 +45,19 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - self.audio_list = [] - self.video_list = [] + # This is yet a dummy example: + self.additional_extensions = { + 'audio/msaudio': ['.mp3', '.aac'], + 'video/msvideo': ['.wmv', '.avi']} + self.audio_extensions_list = [] + self.video_extensions_list = [] mimetypes.init() for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): mimetype = unicode(mimetype) if mimetype.startswith(u'audio/'): - self._addToList(self.audio_list, mimetype) + self._addToList(self.audio_extensions_list, mimetype) elif mimetype.startswith(u'video/'): - self._addToList(self.video_list, mimetype) + self._addToList(self.video_extensions_list, mimetype) def _addToList(self, list, mimetype): extensions = mimetypes.guess_all_extensions(unicode(mimetype)) @@ -64,6 +68,14 @@ class MediaPlugin(Plugin): self.serviceManager.supportedSuffixes(extension[1:]) log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) + if mimetype in self.additional_extensions.keys(): + for extension in self.additional_extensions[mimetype]: + ext = u'*%s' % extensions + if ext not in list: + list.append(ext) + self.serviceManager.supportedSuffixes(extension[1:]) + log.info(u'MediaPlugin: %s additional extensions: %s' % (mimetype, + u' '.join(self.additional_extensions[mimetype]))) def about(self): about_text = translate('MediaPlugin', 'Media Plugin' From 0ecc3c2dc9e5924559ed9222f0229526163c5bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Mon, 21 Feb 2011 23:03:09 +0100 Subject: [PATCH 31/90] adapt "Author unknown" similar to xml.py correct some whitespaces and quotation marks --- .../plugins/songs/lib/foilpresenterimport.py | 85 +++++++++---------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 635137b00..963561cb5 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -99,6 +99,7 @@ from openlp.plugins.songs.lib import VerseType from openlp.plugins.songs.lib.songimport import SongImport from openlp.plugins.songs.lib.db import Author, Book, Song, Topic from openlp.plugins.songs.lib.xml import SongXML +from openlp.plugins.songs.lib.ui import SongStrings log = logging.getLogger(__name__) @@ -261,40 +262,40 @@ class FoilPresenter(object): if copyright: strings = [] author_temp = [] - if copyright.find(u"Copyright") != -1: - test = copyright.partition(u"Copyright") + if copyright.find(u'Copyright') != -1: + test = copyright.partition(u'Copyright') copyright = test[0] - elif copyright.find(u"copyright") != -1: - test = copyright.partition(u"copyright") + elif copyright.find(u'copyright') != -1: + test = copyright.partition(u'copyright') copyright = test[0] - elif copyright.find(u"©") != -1: - test = copyright.partition(u"©") + elif copyright.find(u'©') != -1: + test = copyright.partition(u'©') copyright = test[0] - elif copyright.find(u"(c)") != -1: - test = copyright.partition(u"(c)") + elif copyright.find(u'(c)') != -1: + test = copyright.partition(u'(c)') copyright = test[0] - elif copyright.find(u"(C)") != -1: - test = copyright.partition(u"(C)") + elif copyright.find(u'(C)') != -1: + test = copyright.partition(u'(C)') copyright = test[0] - elif copyright.find(u"c)") != -1: - test = copyright.partition(u"c)") + elif copyright.find(u'c)') != -1: + test = copyright.partition(u'c)') copyright = test[0] - elif copyright.find(u"C)") != -1: - test = copyright.partition(u"C)") + elif copyright.find(u'C)') != -1: + test = copyright.partition(u'C)') copyright = test[0] - elif copyright.find(u"C:") != -1: - test = copyright.partition(u"C:") + elif copyright.find(u'C:') != -1: + test = copyright.partition(u'C:') copyright = test[0] - elif copyright.find(u"C,)") != -1: - test = copyright.partition(u"C,)") + elif copyright.find(u'C,)') != -1: + test = copyright.partition(u'C,)') copyright = test[0] copyright = re.compile(u'\\n').sub(u' ', copyright) copyright = re.compile(u'\(.*\)').sub(u'', copyright) - if copyright.find(u"Rechte") != -1: - test = copyright.partition(u"Rechte") + if copyright.find(u'Rechte') != -1: + test = copyright.partition(u'Rechte') copyright = test[0] markers = [u'Text +u\.?n?d? +Melodie[a-zA-Z0-9\,\. ]*:', - u'Text +u\.?n?d? +Musik', u"T & M", u'Melodie und Satz', + u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', u'Text[a-zA-Z0-9\,\. ]*:', u'Melodie', u'Musik', u'Satz', u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] @@ -304,9 +305,9 @@ class FoilPresenter(object): i = 0 x = 0 while i != 1: - if copyright.find(u"") != -1: - test = copyright.partition(u"") - if (test[0].strip() != u"") & (x > 0): + if copyright.find(u'') != -1: + test = copyright.partition(u'') + if (test[0].strip() != u'') & (x > 0): strings.append(test[0]) copyright = test[2] x += 1 @@ -316,7 +317,7 @@ class FoilPresenter(object): else: i = 1 for author in strings: - test = re.split(u",(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);", + test = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', author) for test_temp in test: author_temp.append(test_temp) @@ -332,16 +333,14 @@ class FoilPresenter(object): if re.search( u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s', author, re.U) != None: - temp = re.split(u'\s[a|u]nd\s|\s&\s',author) + temp = re.split(u'\s[a|u]nd\s|\s&\s', author) for temp_temp in temp: temp_temp = temp_temp.strip() authors.append(temp_temp) elif (len(author) > 2): authors.append(author) if not authors: - # Add "Author unknown" (can be translated). - authors.append((unicode(translate('SongsPlugin.XML', - 'Author unknown')))) + authors.append(SongStrings.AuthorUnknownUnT) for display_name in authors: author = self.manager.get_object_filtered(Author, Author.display_name == display_name) @@ -415,18 +414,18 @@ class FoilPresenter(object): search_text = u'' temp_verse_order = {} temp_verse_order_backup = [] - temp_verse_sort= [] + temp_verse_sort = [] temp_sortnr_backup = 1 temp_sortnr_liste = [] - versenumber = {u"V":1, u"C": 1, u"B": 1, u"E": 1, u"O": 1, u"I": 1, - u"P": 1 } + versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, + u'P': 1 } for strophe in foilpresenterfolie.strophen.strophe: text = self._child(strophe.text_) verse_name = self._child(strophe.key) children = strophe.getchildren() sortnr = 0 for child in children: - if child.tag == "sortnr": + if child.tag == 'sortnr': verse_sortnr = self._child(strophe.sortnr) sortnr = 1 # In older Version there is no sortnr, but we need one @@ -437,26 +436,26 @@ class FoilPresenter(object): temp_sortnr_liste.append(verse_sortnr) temp_verse_name = re.compile(u'[0-9].*').sub(u'', verse_name) temp_verse_name = temp_verse_name[:3].lower() - if temp_verse_name == u"ref": + if temp_verse_name == u'ref': verse_type = u'C' - elif temp_verse_name == u"r": + elif temp_verse_name == u'r': verse_type = u'C' - elif temp_verse_name == u"": + elif temp_verse_name == u'': verse_type = u'V' - elif temp_verse_name == u"v": + elif temp_verse_name == u'v': verse_type = u'V' - elif temp_verse_name == u"bri": + elif temp_verse_name == u'bri': verse_type = u'B' - elif temp_verse_name == u"cod": + elif temp_verse_name == u'cod': verse_type = u'E' - elif temp_verse_name == u"sch": + elif temp_verse_name == u'sch': verse_type = u'E' - elif temp_verse_name == u"pre": + elif temp_verse_name == u'pre': verse_type = u'P' - elif temp_verse_name == u"int": + elif temp_verse_name == u'int': verse_type = u'I' else: - verse_type = u"O" + verse_type = u'O' verse_number = re.compile(u'[a-zA-Z.+-_ ]*').sub(u'', verse_name) verse_part = re.compile(u'[0-9]*').sub(u'', verse_name[1:]) # Foilpresenter allows e. g. "C", but we need "C1". From fb120858e01f25822fd636d5d8f2af22fc15849f Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 21 Feb 2011 22:10:08 +0000 Subject: [PATCH 32/90] Cleanups --- openlp/core/ui/displaytagdialog.py | 5 +++-- openlp/core/ui/displaytagform.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index edb8567cf..7e3d21856 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -26,7 +26,7 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import translate, build_icon +from openlp.core.lib import translate from openlp.core.lib.ui import UiStrings, create_accept_reject_button_box class Ui_DisplayTagDialog(object): @@ -134,7 +134,8 @@ class Ui_DisplayTagDialog(object): self.tagLabel.setText(translate('OpenLP.DisplayTagDialog', 'Tag')) self.startTagLabel.setText( translate('OpenLP.DisplayTagDialog', 'Start tag')) - self.endTagLabel.setText(translate('OpenLP.DisplayTagDialog', 'End tag')) + self.endTagLabel.setText( + translate('OpenLP.DisplayTagDialog', 'End tag')) self.deletePushButton.setText(UiStrings.Delete) self.defaultPushButton.setText( translate('OpenLP.DisplayTagDialog', 'Default')) diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index fa05c578a..82f475338 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -34,7 +34,7 @@ import cPickle from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, DisplayTags -from openlp.core.lib.ui import UiStrings, critical_error_message_box +from openlp.core.lib.ui import critical_error_message_box from openlp.core.ui.displaytagdialog import Ui_DisplayTagDialog class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): From 4d1f1e933ebe11247c478eebbccc55aff76fd75f Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 21 Feb 2011 22:27:27 +0000 Subject: [PATCH 33/90] Make importer inits consistent --- openlp/plugins/songs/lib/oooimport.py | 4 ++-- openlp/plugins/songs/lib/openlyricsimport.py | 6 +++--- openlp/plugins/songs/lib/sofimport.py | 4 ++-- openlp/plugins/songs/lib/songbeamerimport.py | 9 +++------ openlp/plugins/songs/lib/songshowplusimport.py | 9 +++------ openlp/plugins/songs/lib/wowimport.py | 9 +++------ 6 files changed, 16 insertions(+), 25 deletions(-) diff --git a/openlp/plugins/songs/lib/oooimport.py b/openlp/plugins/songs/lib/oooimport.py index 863fec2b8..29ab60a22 100644 --- a/openlp/plugins/songs/lib/oooimport.py +++ b/openlp/plugins/songs/lib/oooimport.py @@ -50,12 +50,12 @@ class OooImport(SongImport): """ Import songs from Impress/Powerpoint docs using Impress """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ Initialise the class. Requires a songmanager class which is passed to SongImport for writing song to disk """ - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) self.document = None self.process_started = False diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index 0396335b8..6dcb62699 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -43,12 +43,12 @@ class OpenLyricsImport(SongImport): """ This provides the Openlyrics import. """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ - Initialise the import. + Initialise the Open Lyrics importer. """ log.debug(u'initialise OpenLyricsImport') - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) self.openLyrics = OpenLyrics(self.manager) def do_import(self): diff --git a/openlp/plugins/songs/lib/sofimport.py b/openlp/plugins/songs/lib/sofimport.py index cfb80caa3..3f329947e 100644 --- a/openlp/plugins/songs/lib/sofimport.py +++ b/openlp/plugins/songs/lib/sofimport.py @@ -66,12 +66,12 @@ class SofImport(OooImport): It attempts to detect italiced verses, and treats these as choruses in the verse ordering. Again not perfect, but a start. """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ Initialise the class. Requires a songmanager class which is passed to SongImport for writing song to disk """ - OooImport.__init__(self, master_manager, **kwargs) + OooImport.__init__(self, manager, **kwargs) def process_ooo_document(self): """ diff --git a/openlp/plugins/songs/lib/songbeamerimport.py b/openlp/plugins/songs/lib/songbeamerimport.py index afb9f5646..ccae6a8ea 100644 --- a/openlp/plugins/songs/lib/songbeamerimport.py +++ b/openlp/plugins/songs/lib/songbeamerimport.py @@ -67,14 +67,11 @@ class SongBeamerImport(SongImport): Song Beamer file format is text based in the beginning are one or more control tags written """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ - Initialise the import. - - ``master_manager`` - The song manager for the running OpenLP installation. + Initialise the Song Beamer importer. """ - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) def do_import(self): """ diff --git a/openlp/plugins/songs/lib/songshowplusimport.py b/openlp/plugins/songs/lib/songshowplusimport.py index 74040bcc0..757138966 100644 --- a/openlp/plugins/songs/lib/songshowplusimport.py +++ b/openlp/plugins/songs/lib/songshowplusimport.py @@ -86,14 +86,11 @@ class SongShowPlusImport(SongImport): otherList = {} otherCount = 0 - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ - Initialise the import. - - ``master_manager`` - The song manager for the running OpenLP installation. + Initialise the SongShow Plus importer. """ - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) def do_import(self): """ diff --git a/openlp/plugins/songs/lib/wowimport.py b/openlp/plugins/songs/lib/wowimport.py index 05c9704f6..5f5f4f289 100644 --- a/openlp/plugins/songs/lib/wowimport.py +++ b/openlp/plugins/songs/lib/wowimport.py @@ -92,14 +92,11 @@ class WowImport(SongImport): * .wow-song """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ - Initialise the import. - - ``master_manager`` - The song manager for the running OpenLP installation. + Initialise the Words of Worship importer. """ - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) def do_import(self): """ From 44a50b035177d10eead3132626ff279fce2d5072 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 22 Feb 2011 02:30:38 +0000 Subject: [PATCH 34/90] Naming --- openlp/plugins/bibles/lib/manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 85204ac7a..e626462e0 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -40,9 +40,9 @@ from osis import OSISBible # Imports that might fail. try: from openlp1 import OpenLP1Bible - has_openlp1 = True + HAS_OPENLP1 = True except ImportError: - has_openlp1 = False + HAS_OPENLP1 = False log = logging.getLogger(__name__) @@ -367,6 +367,6 @@ class BibleManager(object): for bible in self.db_cache: self.db_cache[bible].finalise() -BibleFormat.set_availability(BibleFormat.OpenLP1, has_openlp1) +BibleFormat.set_availability(BibleFormat.OpenLP1, HAS_OPENLP1) __all__ = [u'BibleFormat'] From a5e8833132f1893069a76cf71d76da32b0af4c2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Feb 2011 08:58:32 +0200 Subject: [PATCH 35/90] Remove bogus data. --- openlp/plugins/media/mediaplugin.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 1514b6cb2..51cf1b9ad 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -47,8 +47,7 @@ class MediaPlugin(Plugin): self.dnd_id = u'Media' # This is yet a dummy example: self.additional_extensions = { - 'audio/msaudio': ['.mp3', '.aac'], - 'video/msvideo': ['.wmv', '.avi']} + 'video/msvideo': ['.avi']} # only an example line, unnecessary self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() From 29207d8dffe07417ae968e742928092be86dcf59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Feb 2011 11:09:47 +0200 Subject: [PATCH 36/90] Added comments to code blocks. --- openlp/plugins/media/mediaplugin.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 51cf1b9ad..d76df6897 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,9 +45,8 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - # This is yet a dummy example: - self.additional_extensions = { - 'video/msvideo': ['.avi']} # only an example line, unnecessary + self.additional_extensions = {} + #'video/msvideo': ['.avi']} This is an example line. self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() @@ -59,6 +58,7 @@ class MediaPlugin(Plugin): self._addToList(self.video_extensions_list, mimetype) def _addToList(self, list, mimetype): + # Add all extensions which mimetypes provides us for supported types. extensions = mimetypes.guess_all_extensions(unicode(mimetype)) for extension in extensions: ext = u'*%s' % extension @@ -67,6 +67,8 @@ class MediaPlugin(Plugin): self.serviceManager.supportedSuffixes(extension[1:]) log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) + # Add all extensions listed in self.additional_extensions, to hack + # away mimetypes' shortcomings. if mimetype in self.additional_extensions.keys(): for extension in self.additional_extensions[mimetype]: ext = u'*%s' % extensions From 98d8b1f5902c481656ae9e6a850ad3f799403216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Feb 2011 17:01:07 +0200 Subject: [PATCH 37/90] More clear comment. Unfortunately there is no need to change few lines of code between these two changes, to include these into diff. That would be self-explanantory. --- openlp/plugins/media/mediaplugin.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index d76df6897..a92de5314 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -46,7 +46,7 @@ class MediaPlugin(Plugin): # passed with drag and drop messages self.dnd_id = u'Media' self.additional_extensions = {} - #'video/msvideo': ['.avi']} This is an example line. + # 'video/msvideo': ['.avi']} This is an example line. self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() @@ -67,8 +67,9 @@ class MediaPlugin(Plugin): self.serviceManager.supportedSuffixes(extension[1:]) log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) - # Add all extensions listed in self.additional_extensions, to hack - # away mimetypes' shortcomings. + # Add all extensions listed in self.additional_extensions, which + # have this mimetype, previously claimed to be supported by Phonon, + # to hack away mimetypes' shortcomings in providing some extensions. if mimetype in self.additional_extensions.keys(): for extension in self.additional_extensions[mimetype]: ext = u'*%s' % extensions From 642934a999f7dfc8a0d0e272de3ad50782e51530 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 22 Feb 2011 20:41:35 +0200 Subject: [PATCH 38/90] Fixed a bug where the settings for the remotes plugin were not actually used. --- openlp/plugins/remotes/lib/httpserver.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 6ec9476a8..7ced66103 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -68,11 +68,13 @@ class HttpServer(object): """ log.debug(u'Start TCP server') port = QtCore.QSettings().value( - self.parent.settingsSection + u'/remote port', + self.parent.settingsSection + u'/port', QtCore.QVariant(4316)).toInt()[0] + address = QtCore.QSettings().value( + self.parent.settingsSection + u'/ip address', + QtCore.QVariant(u'0.0.0.0')).toString() self.server = QtNetwork.QTcpServer() - self.server.listen(QtNetwork.QHostAddress(QtNetwork.QHostAddress.Any), - port) + self.server.listen(QtNetwork.QHostAddress(address), port) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_live_changed'), self.slide_change) @@ -347,4 +349,4 @@ class HttpConnection(object): log.debug(u'close socket') self.socket.close() self.socket = None - self.parent.close_connection(self) \ No newline at end of file + self.parent.close_connection(self) From 71068d4eb65eb8d214d0e0f8df7ec6c711fa1fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Tue, 22 Feb 2011 21:35:18 +0100 Subject: [PATCH 39/90] fix inconsistant field names, refer now to the xml file --- .../plugins/songs/lib/foilpresenterimport.py | 91 +++++++++---------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 963561cb5..30c94303b 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -105,7 +105,7 @@ log = logging.getLogger(__name__) class FoilPresenterImport(SongImport): """ - This provides the Openlyrics import. + This provides the Foilpresenter import. """ def __init__(self, master_manager, **kwargs): """ @@ -263,37 +263,37 @@ class FoilPresenter(object): strings = [] author_temp = [] if copyright.find(u'Copyright') != -1: - test = copyright.partition(u'Copyright') - copyright = test[0] + temp = copyright.partition(u'Copyright') + copyright = temp[0] elif copyright.find(u'copyright') != -1: - test = copyright.partition(u'copyright') - copyright = test[0] + temp = copyright.partition(u'copyright') + copyright = temp[0] elif copyright.find(u'©') != -1: - test = copyright.partition(u'©') - copyright = test[0] + temp = copyright.partition(u'©') + copyright = temp[0] elif copyright.find(u'(c)') != -1: - test = copyright.partition(u'(c)') - copyright = test[0] + temp = copyright.partition(u'(c)') + copyright = temp[0] elif copyright.find(u'(C)') != -1: - test = copyright.partition(u'(C)') - copyright = test[0] + temp = copyright.partition(u'(C)') + copyright = temp[0] elif copyright.find(u'c)') != -1: - test = copyright.partition(u'c)') - copyright = test[0] + temp = copyright.partition(u'c)') + copyright = temp[0] elif copyright.find(u'C)') != -1: - test = copyright.partition(u'C)') - copyright = test[0] + temp = copyright.partition(u'C)') + copyright = temp[0] elif copyright.find(u'C:') != -1: - test = copyright.partition(u'C:') - copyright = test[0] + temp = copyright.partition(u'C:') + copyright = temp[0] elif copyright.find(u'C,)') != -1: - test = copyright.partition(u'C,)') - copyright = test[0] + temp = copyright.partition(u'C,)') + copyright = temp[0] copyright = re.compile(u'\\n').sub(u' ', copyright) copyright = re.compile(u'\(.*\)').sub(u'', copyright) if copyright.find(u'Rechte') != -1: - test = copyright.partition(u'Rechte') - copyright = test[0] + temp = copyright.partition(u'Rechte') + copyright = temp[0] markers = [u'Text +u\.?n?d? +Melodie[a-zA-Z0-9\,\. ]*:', u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', u'Text[a-zA-Z0-9\,\. ]*:', u'Melodie', u'Musik', u'Satz', @@ -306,10 +306,10 @@ class FoilPresenter(object): x = 0 while i != 1: if copyright.find(u'') != -1: - test = copyright.partition(u'') - if (test[0].strip() != u'') & (x > 0): - strings.append(test[0]) - copyright = test[2] + temp = copyright.partition(u'') + if (temp[0].strip() != u'') & (x > 0): + strings.append(temp[0]) + copyright = temp[2] x += 1 elif x > 0: strings.append(copyright) @@ -317,10 +317,10 @@ class FoilPresenter(object): else: i = 1 for author in strings: - test = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', + temp = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', author) - for test_temp in test: - author_temp.append(test_temp) + for tempx in temp: + author_temp.append(tempx) for author in author_temp: regex = u'^[\/,;\-\s]+|[\/,;\-\s]+$|'\ '\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s]*$' @@ -334,9 +334,9 @@ class FoilPresenter(object): u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s', author, re.U) != None: temp = re.split(u'\s[a|u]nd\s|\s&\s', author) - for temp_temp in temp: - temp_temp = temp_temp.strip() - authors.append(temp_temp) + for tempx in temp: + tempx = tempx.strip() + authors.append(tempx) elif (len(author) > 2): authors.append(author) if not authors: @@ -347,8 +347,8 @@ class FoilPresenter(object): if author is None: # We need to create a new author, as the author does not exist. author = Author.populate(display_name=display_name, - last_name=display_name.split(u' ')[-1], - first_name=u' '.join(display_name.split(u' ')[:-1])) + last_name = display_name.split(u' ')[-1], + first_name = u' '.join(display_name.split(u' ')[:-1])) self.manager.save_object(author) song.authors.append(author) @@ -404,9 +404,6 @@ class FoilPresenter(object): ``foilpresenterfolie`` The foilpresenterfolie object (lxml.objectify.ObjectifiedElement). - ``lyrics`` - The lyrics object (lxml.objectify.ObjectifiedElement). - ``song`` The song object. """ @@ -418,14 +415,14 @@ class FoilPresenter(object): temp_sortnr_backup = 1 temp_sortnr_liste = [] versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, - u'P': 1 } + u'P': 1} for strophe in foilpresenterfolie.strophen.strophe: text = self._child(strophe.text_) verse_name = self._child(strophe.key) children = strophe.getchildren() sortnr = 0 for child in children: - if child.tag == 'sortnr': + if child.tag == u'sortnr': verse_sortnr = self._child(strophe.sortnr) sortnr = 1 # In older Version there is no sortnr, but we need one @@ -506,8 +503,8 @@ class FoilPresenter(object): song.song_book_id = 0 song.song_number = u'' try: - for songbook in foilpresenterfolie.buch.bucheintrag: - bookname = self._child(songbook.name) + for bucheintrag in foilpresenterfolie.buch.bucheintrag: + bookname = self._child(bucheintrag.name) if bookname: book = self.manager.get_object_filtered(Book, Book.name == bookname) @@ -517,8 +514,8 @@ class FoilPresenter(object): self.manager.save_object(book) song.song_book_id = book.id try: - if self._child(songbook.nummer): - song.song_number = self._child(songbook.nummer) + if self._child(bucheintrag.nummer): + song.song_number = self._child(bucheintrag.nummer) except AttributeError: pass # We only support one song book, so take the first one. @@ -536,13 +533,13 @@ class FoilPresenter(object): ``song`` The song object. """ - for title in foilpresenterfolie.titel.titelstring: + for titelstring in foilpresenterfolie.titel.titelstring: if not song.title: - song.title = self._child(title) + song.title = self._child(titelstring) song.search_title = unicode(song.title) song.alternate_title = u'' else: - song.alternate_title = self._child(title) + song.alternate_title = self._child(titelstring) song.search_title += u'@' + song.alternate_title song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'', unicode(song.search_title)).lower() @@ -558,8 +555,8 @@ class FoilPresenter(object): The song object. """ try: - for topictext in foilpresenterfolie.kategorien.name: - topictext = self._child(topictext) + for name in foilpresenterfolie.kategorien.name: + topictext = self._child(name) if topictext: topic = self.manager.get_object_filtered(Topic, Topic.name == topictext) From 9f9720e3682fa6cdc2aa4a78dbdc6313e42e2868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Feb 2011 23:32:07 +0200 Subject: [PATCH 40/90] Added some extensions. --- openlp/plugins/media/mediaplugin.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index a92de5314..08d21e6ce 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,8 +45,16 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - self.additional_extensions = {} - # 'video/msvideo': ['.avi']} This is an example line. + self.additional_extensions = { + u'audio/ac3': [u'.ac3'], + u'audio/qcelp': [u'.qcp'], + u'audio/riff-midi': [u'.rmi'], + u'audio/x-alaw': [u'.alaw'], + u'audio/x-m4a': [u'.m4a'], + u'audio/x-mp3': [u'.mp3'], + u'audio/x-wma': [u'.wma'], + u'video/x-wmv': [u'.wmv'], + u'video/x-xvid': [u'.xvid']} self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() @@ -65,7 +73,7 @@ class MediaPlugin(Plugin): if ext not in list: list.append(ext) self.serviceManager.supportedSuffixes(extension[1:]) - log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, + log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) # Add all extensions listed in self.additional_extensions, which # have this mimetype, previously claimed to be supported by Phonon, @@ -76,7 +84,7 @@ class MediaPlugin(Plugin): if ext not in list: list.append(ext) self.serviceManager.supportedSuffixes(extension[1:]) - log.info(u'MediaPlugin: %s additional extensions: %s' % (mimetype, + log.info(u'MediaPlugin: %s additional extensions: %s' % (mimetype, u' '.join(self.additional_extensions[mimetype]))) def about(self): From 158b358bae2ae16b96782847ea0e183249ca981a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Feb 2011 23:35:25 +0200 Subject: [PATCH 41/90] Removed hack, leave only more detailed logging. --- openlp/plugins/media/mediaplugin.py | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 08d21e6ce..74a8f3f2e 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,16 +45,6 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - self.additional_extensions = { - u'audio/ac3': [u'.ac3'], - u'audio/qcelp': [u'.qcp'], - u'audio/riff-midi': [u'.rmi'], - u'audio/x-alaw': [u'.alaw'], - u'audio/x-m4a': [u'.m4a'], - u'audio/x-mp3': [u'.mp3'], - u'audio/x-wma': [u'.wma'], - u'video/x-wmv': [u'.wmv'], - u'video/x-xvid': [u'.xvid']} self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() @@ -75,17 +65,6 @@ class MediaPlugin(Plugin): self.serviceManager.supportedSuffixes(extension[1:]) log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) - # Add all extensions listed in self.additional_extensions, which - # have this mimetype, previously claimed to be supported by Phonon, - # to hack away mimetypes' shortcomings in providing some extensions. - if mimetype in self.additional_extensions.keys(): - for extension in self.additional_extensions[mimetype]: - ext = u'*%s' % extensions - if ext not in list: - list.append(ext) - self.serviceManager.supportedSuffixes(extension[1:]) - log.info(u'MediaPlugin: %s additional extensions: %s' % (mimetype, - u' '.join(self.additional_extensions[mimetype]))) def about(self): about_text = translate('MediaPlugin', 'Media Plugin' From a5b278b87129b65d7e1ab9d671e1806ee8588c7e Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 23 Feb 2011 08:42:33 +0200 Subject: [PATCH 42/90] Added a setting in the advanced tab to give the users the option of changing the default display screen. --- openlp/core/ui/advancedtab.py | 86 +++++++++++++++++++---------------- openlp/core/ui/maindisplay.py | 12 ++++- 2 files changed, 56 insertions(+), 42 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 39fec1f9d..5395e59ef 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -41,6 +41,8 @@ class AdvancedTab(SettingsTab): Initialise the settings tab """ SettingsTab.__init__(self, u'Advanced') + self.default_image = u':/graphics/openlp-splash-screen.png' + self.default_color = u'#ffffff' def setupUi(self): """ @@ -81,33 +83,28 @@ class AdvancedTab(SettingsTab): self.hideMouseCheckBox.setObjectName(u'hideMouseCheckBox') self.hideMouseLayout.addWidget(self.hideMouseCheckBox) self.leftLayout.addWidget(self.hideMouseGroupBox) -# self.sharedDirGroupBox = QtGui.QGroupBox(self.leftColumn) -# self.sharedDirGroupBox.setObjectName(u'sharedDirGroupBox') -# self.sharedDirLayout = QtGui.QFormLayout(self.sharedDirGroupBox) -# self.sharedCheckBox = QtGui.QCheckBox(self.sharedDirGroupBox) -# self.sharedCheckBox.setObjectName(u'sharedCheckBox') -# self.sharedDirLayout.addRow(self.sharedCheckBox) -# self.sharedLabel = QtGui.QLabel(self.sharedDirGroupBox) -# self.sharedLabel.setObjectName(u'sharedLabel') -# self.sharedSubLayout = QtGui.QHBoxLayout() -# self.sharedSubLayout.setObjectName(u'sharedSubLayout') -# self.sharedLineEdit = QtGui.QLineEdit(self.sharedDirGroupBox) -# self.sharedLineEdit.setObjectName(u'sharedLineEdit') -# self.sharedSubLayout.addWidget(self.sharedLineEdit) -# self.sharedPushButton = QtGui.QPushButton(self.sharedDirGroupBox) -# self.sharedPushButton.setObjectName(u'sharedPushButton') -# self.sharedSubLayout.addWidget(self.sharedPushButton) -# self.sharedDirLayout.addRow(self.sharedLabel, self.sharedSubLayout) -# self.leftLayout.addWidget(self.sharedDirGroupBox) self.leftLayout.addStretch() -# self.databaseGroupBox = QtGui.QGroupBox(self.rightColumn) -# self.databaseGroupBox.setObjectName(u'databaseGroupBox') -# self.databaseGroupBox.setEnabled(False) -# self.databaseLayout = QtGui.QVBoxLayout(self.databaseGroupBox) -# self.rightLayout.addWidget(self.databaseGroupBox) + self.defaultImageGroupBox = QtGui.QGroupBox(self.rightColumn) + self.defaultImageGroupBox.setObjectName(u'defaultImageGroupBox') + self.defaultImageLayout = QtGui.QFormLayout(self.defaultImageGroupBox) + self.defaultImageLayout.setObjectName(u'defaultImageLayout') + self.defaultColorLabel = QtGui.QLabel(self.defaultImageGroupBox) + self.defaultColorLabel.setObjectName(u'defaultColorLabel') + self.defaultColorButton = QtGui.QPushButton(self.defaultImageGroupBox) + self.defaultColorButton.setObjectName(u'defaultColorButton') + self.defaultImageLayout.addRow(self.defaultColorLabel, + self.defaultColorButton) + self.defaultFileLabel = QtGui.QLabel(self.defaultImageGroupBox) + self.defaultFileLabel.setObjectName(u'defaultFileLabel') + self.defaultFileEdit = QtGui.QLineEdit(self.defaultImageGroupBox) + self.defaultFileEdit.setObjectName(u'defaultFileEdit') + self.defaultImageLayout.addRow(self.defaultFileLabel, + self.defaultFileEdit) + self.rightLayout.addWidget(self.defaultImageGroupBox) self.rightLayout.addStretch() -# QtCore.QObject.connect(self.sharedCheckBox, -# QtCore.SIGNAL(u'stateChanged(int)'), self.onSharedCheckBoxChanged) + + QtCore.QObject.connect(self.defaultColorButton, + QtCore.SIGNAL(u'pressed()'), self.onDefaultColorButtonPressed) def retranslateUi(self): """ @@ -129,14 +126,13 @@ class AdvancedTab(SettingsTab): self.hideMouseGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Mouse Cursor')) self.hideMouseCheckBox.setText(translate('OpenLP.AdvancedTab', - 'Hide the mouse cursor when moved over the display window')) -# self.sharedDirGroupBox.setTitle( -# translate('AdvancedTab', 'Central Data Store')) -# self.sharedCheckBox.setText( -# translate('AdvancedTab', 'Enable a shared data location')) -# self.sharedLabel.setText(translate('AdvancedTab', 'Store location:')) -# self.sharedPushButton.setText(UiStrings.Browse) -# self.databaseGroupBox.setTitle(translate('AdvancedTab', 'Databases')) + 'Hide mouse cursor when over display window')) + self.defaultImageGroupBox.setTitle(translate('OpenLP.AdvancedTab', + 'Default Image')) + self.defaultColorLabel.setText(translate('OpenLP.AdvancedTab', + 'Background color:')) + self.defaultFileLabel.setText(translate('OpenLP.AdvancedTab', + 'Image file:')) def load(self): """ @@ -165,7 +161,14 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(True)).toBool()) self.hideMouseCheckBox.setChecked( settings.value(u'hide mouse', QtCore.QVariant(False)).toBool()) + self.default_color = settings.value(u'default color', + QtCore.QVariant(u'#ffffff')).toString() + self.defaultFileEdit.setText(settings.value(u'default image', + QtCore.QVariant(u':/graphics/openlp-splash-screen.png'))\ + .toString()) settings.endGroup() + self.defaultColorButton.setStyleSheet( + u'background-color: %s' % self.default_color) def save(self): """ @@ -185,12 +188,15 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.enableAutoCloseCheckBox.isChecked())) settings.setValue(u'hide mouse', QtCore.QVariant(self.hideMouseCheckBox.isChecked())) + settings.setValue(u'default background color', self.default_color) + settings.setValue(u'default image', self.default_image) settings.endGroup() -# def onSharedCheckBoxChanged(self, checked): -# """ -# Enables the widgets to allow a shared data location -# """ -# self.sharedLabel.setEnabled(checked) -# self.sharedTextEdit.setEnabled(checked) -# self.sharedPushButton.setEnabled(checked) + def onDefaultColorButtonPressed(self): + new_color = QtGui.QColorDialog.getColor( + QtGui.QColor(self.default_color), self) + if new_color.isValid(): + self.default_color = new_color.name() + self.defaultColorButton.setStyleSheet( + u'background-color: %s' % self.default_color) + diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 90042f80b..91d61f1d7 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -132,14 +132,22 @@ class MainDisplay(DisplayWidget): painter_image.begin(self.black) painter_image.fillRect(self.black.rect(), QtCore.Qt.black) # Build the initial frame. + image_file = QtCore.QSettings().value(u'advanced/default image', + QtCore.QVariant(u':/graphics/openlp-splash-screen.png'))\ + .toString() + background_color = QtGui.QColor(QtCore.QSettings().value( + u'advanced/default color', + QtCore.QVariant(u'#ffffff')).toString()) + if not background_color.isValid(): + background_color = QtCore.Qt.white + splash_image = QtGui.QImage(image_file) initialFrame = QtGui.QImage( self.screens.current[u'size'].width(), self.screens.current[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) - splash_image = QtGui.QImage(u':/graphics/openlp-splash-screen.png') painter_image = QtGui.QPainter() painter_image.begin(initialFrame) - painter_image.fillRect(initialFrame.rect(), QtCore.Qt.white) + painter_image.fillRect(initialFrame.rect(), background_color) painter_image.drawImage( (self.screens.current[u'size'].width() - splash_image.width()) / 2, From 99635299ead388ddd99b3a363564e41fc1d0cc5d Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 23 Feb 2011 15:55:36 +0200 Subject: [PATCH 43/90] Updated with browse button. --- openlp/core/ui/advancedtab.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 5395e59ef..35bc167c0 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -98,8 +98,14 @@ class AdvancedTab(SettingsTab): self.defaultFileLabel.setObjectName(u'defaultFileLabel') self.defaultFileEdit = QtGui.QLineEdit(self.defaultImageGroupBox) self.defaultFileEdit.setObjectName(u'defaultFileEdit') + self.defaultBrowseButton = QtGui.QToolButton(self.defaultImageGroupBox) + self.defaultBrowseButton.setObjectName(u'defaultBrowseButton') + self.defaultFileLayout = QtGui.QHBoxLayout() + self.defaultFileLayout.setObjectName(u'defaultFileLayout') + self.defaultFileLayout.addWidget(self.defaultFileEdit) + self.defaultFileLayout.addWidget(self.defaultBrowseButton) self.defaultImageLayout.addRow(self.defaultFileLabel, - self.defaultFileEdit) + self.defaultFileLayout) self.rightLayout.addWidget(self.defaultImageGroupBox) self.rightLayout.addStretch() @@ -133,6 +139,7 @@ class AdvancedTab(SettingsTab): 'Background color:')) self.defaultFileLabel.setText(translate('OpenLP.AdvancedTab', 'Image file:')) + self.defaultBrowseButton.setTitle('...') def load(self): """ From de584a8945e02f73d1a52c950caa8306912b15c1 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 23 Feb 2011 18:35:27 +0100 Subject: [PATCH 44/90] reworked author unknown --- openlp/plugins/songs/lib/songimport.py | 13 ++++++++++--- openlp/plugins/songs/lib/ui.py | 3 +-- openlp/plugins/songs/lib/xml.py | 11 ++++++++--- openlp/plugins/songs/songsplugin.py | 5 ++--- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 40be1675e..a8ca5d7b3 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -270,8 +270,6 @@ class SongImport(QtCore.QObject): """ All fields have been set to this song. Write the song to disk. """ - if not self.authors: - self.authors.append(SongStrings.AuthorUnknownUnT) log.info(u'committing song %s to database', self.title) song = Song() song.title = self.title @@ -315,10 +313,19 @@ class SongImport(QtCore.QObject): author = self.manager.get_object_filtered(Author, Author.display_name == authortext) if not author: - author = Author.populate(display_name = authortext, + author = Author.populate(display_name=authortext, last_name=authortext.split(u' ')[-1], first_name=u' '.join(authortext.split(u' ')[:-1])) song.authors.append(author) + # No author, add the default author. + if not song.authors: + name = SongStrings.AuthorUnknown + author = self.manager.get_object_filtered( + Author, Author.display_name == name) + if not author: + author = Author.populate( + display_name=name, last_name=u'', first_name=u'') + song.authors.append(author) for filename in self.media_files: media_file = self.manager.get_object_filtered(MediaFile, MediaFile.file_name == filename) diff --git a/openlp/plugins/songs/lib/ui.py b/openlp/plugins/songs/lib/ui.py index 65f473e63..6415c48c9 100644 --- a/openlp/plugins/songs/lib/ui.py +++ b/openlp/plugins/songs/lib/ui.py @@ -36,8 +36,7 @@ class SongStrings(object): # These strings should need a good reason to be retranslated elsewhere. Author = translate('OpenLP.Ui', 'Author', 'Singular') Authors = translate('OpenLP.Ui', 'Authors', 'Plural') - AuthorUnknown = translate('OpenLP.Ui', 'Author Unknown') # Used in the UI. - AuthorUnknownUnT = u'Author Unknown' # Used to populate the database. + AuthorUnknown = u'Author Unknown' # Used to populate the database. CopyrightSymbol = translate('OpenLP.Ui', '\xa9', 'Copyright symbol.') SongBook = translate('OpenLP.Ui', 'Song Book', 'Singular') SongBooks = translate('OpenLP.Ui', 'Song Books', 'Plural') diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index a552a42a1..2aa51c99e 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -374,8 +374,6 @@ class OpenLyrics(object): display_name = self._text(author) if display_name: authors.append(display_name) - if not authors: - authors.append(SongStrings.AuthorUnknownUnT) for display_name in authors: author = self.manager.get_object_filtered(Author, Author.display_name == display_name) @@ -384,7 +382,14 @@ class OpenLyrics(object): author = Author.populate(display_name=display_name, last_name=display_name.split(u' ')[-1], first_name=u' '.join(display_name.split(u' ')[:-1])) - self.manager.save_object(author) + # The song does not have an author, add a default author. + if not song.authors: + name = SongStrings.AuthorUnknown + author = self.manager.get_object_filtered( + Author, Author.display_name == name) + if author is None: + author = Author.populate( + display_name=name, last_name=u'', first_name=u'') song.authors.append(author) def _process_cclinumber(self, properties, song): diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 3800d00dc..1932a8384 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -148,13 +148,12 @@ class SongsPlugin(Plugin): counter += 1 # The song does not have any author, add one. if not song.authors: - name = unicode(SongStrings.AuthorUnknownUnT) + name = SongStrings.AuthorUnknown author = self.manager.get_object_filtered(Author, Author.display_name == name) if author is None: author = Author.populate( - first_name=u' '.join(name.split(u' ', 1)[:-1]), - last_name=name.split(u' ', 1)[-1], display_name=name) + display_name=name, last_name=u'', first_name=u'') song.authors.append(author) if song.title is None: song.title = u'' From b4b6fef70a2e107c024f360f736f429412409a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= Date: Wed, 23 Feb 2011 20:48:37 +0100 Subject: [PATCH 45/90] change value to True/False --- openlp/plugins/songs/lib/foilpresenterimport.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 30c94303b..2eded332f 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -420,13 +420,13 @@ class FoilPresenter(object): text = self._child(strophe.text_) verse_name = self._child(strophe.key) children = strophe.getchildren() - sortnr = 0 + sortnr = False for child in children: if child.tag == u'sortnr': verse_sortnr = self._child(strophe.sortnr) - sortnr = 1 + sortnr = True # In older Version there is no sortnr, but we need one - if sortnr == 0: + if sortnr == False: verse_sortnr = unicode(temp_sortnr_backup) temp_sortnr_backup += 1 # Foilpresenter allows e. g. "Ref" or "1", but we need "C1" or "V1". From 1eea1c97a498068933ee33aa3ea04e03db0700ea Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 23 Feb 2011 21:22:29 +0100 Subject: [PATCH 46/90] moved code --- openlp/plugins/songs/lib/__init__.py | 21 ++++++++++++++++ openlp/plugins/songs/lib/olpimport.py | 33 +++++++++++++------------- openlp/plugins/songs/lib/songimport.py | 10 ++------ openlp/plugins/songs/lib/xml.py | 11 ++------- openlp/plugins/songs/songsplugin.py | 14 ++++------- 5 files changed, 45 insertions(+), 44 deletions(-) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 95fae92a8..0396122f5 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -25,7 +25,10 @@ ############################################################################### from PyQt4 import QtGui + from openlp.core.lib import translate +from db import Author +from ui import SongStrings class VerseType(object): """ @@ -241,6 +244,24 @@ def retrieve_windows_encoding(recommendation=None): return None return filter(lambda item: item[1] == choice[0], encodings)[0][0] +def add_author_unknown(manager, song): + """ + Add the default author *Author Unknown* to the song. + + ``manager`` + The song's manager. + + ``song`` + The song object. + """ + name = SongStrings.AuthorUnknown + author = manager.get_object_filtered(Author, Author.display_name == name) + if author is None: + author = Author.populate( + display_name=name, last_name=u'', first_name=u'') + song.authors.append(author) + from xml import OpenLyrics, SongXML from songstab import SongsTab from mediaitem import SongMediaItem + diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index b3f03b951..fba518772 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -36,6 +36,7 @@ from sqlalchemy.orm.exc import UnmappedClassError from openlp.core.lib import translate from openlp.core.lib.db import BaseModel +from openlp.plugins.songs.lib import add_author_unknown from openlp.plugins.songs.lib.db import Author, Book, Song, Topic #, MediaFile from songimport import SongImport @@ -47,30 +48,35 @@ class OldAuthor(BaseModel): """ pass + class OldBook(BaseModel): """ Book model """ pass + class OldMediaFile(BaseModel): """ MediaFile model """ pass + class OldSong(BaseModel): """ Song model """ pass + class OldTopic(BaseModel): """ Topic model """ pass + class OpenLPSongImport(SongImport): """ The :class:`OpenLPSongImport` class provides OpenLP with the ability to @@ -170,25 +176,18 @@ class OpenLPSongImport(SongImport): new_song.comments = song.comments new_song.theme_name = song.theme_name new_song.ccli_number = song.ccli_number - if song.authors: - for author in song.authors: - existing_author = self.manager.get_object_filtered( - Author, Author.display_name == author.display_name) - if existing_author: - new_song.authors.append(existing_author) - else: - new_song.authors.append(Author.populate( - first_name=author.first_name, - last_name=author.last_name, - display_name=author.display_name)) - else: - au = self.manager.get_object_filtered(Author, - Author.display_name == u'Author Unknown') - if au: - new_song.authors.append(au) + for author in song.authors: + existing_author = self.manager.get_object_filtered( + Author, Author.display_name == author.display_name) + if existing_author: + new_song.authors.append(existing_author) else: new_song.authors.append(Author.populate( - display_name=u'Author Unknown')) + first_name=author.first_name, + last_name=author.last_name, + display_name=author.display_name)) + if not new_song.authors: + add_author_unknown(self.manager, new_song) if song.book: existing_song_book = self.manager.get_object_filtered( Book, Book.name == song.book.name) diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index a8ca5d7b3..36f2e3504 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -29,7 +29,7 @@ import re from PyQt4 import QtCore from openlp.core.lib import Receiver, translate -from openlp.plugins.songs.lib import VerseType +from openlp.plugins.songs.lib import add_author_unknown, VerseType from openlp.plugins.songs.lib.db import Song, Author, Topic, Book, MediaFile from openlp.plugins.songs.lib.ui import SongStrings from openlp.plugins.songs.lib.xml import SongXML @@ -319,13 +319,7 @@ class SongImport(QtCore.QObject): song.authors.append(author) # No author, add the default author. if not song.authors: - name = SongStrings.AuthorUnknown - author = self.manager.get_object_filtered( - Author, Author.display_name == name) - if not author: - author = Author.populate( - display_name=name, last_name=u'', first_name=u'') - song.authors.append(author) + add_author_unknown(self.manager, song) for filename in self.media_files: media_file = self.manager.get_object_filtered(MediaFile, MediaFile.file_name == filename) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 2aa51c99e..8f5c35c0a 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -66,7 +66,7 @@ import re from lxml import etree, objectify -from openlp.plugins.songs.lib import VerseType +from openlp.plugins.songs.lib import add_author_unknown, VerseType from openlp.plugins.songs.lib.db import Author, Book, Song, Topic from openlp.plugins.songs.lib.ui import SongStrings @@ -382,15 +382,8 @@ class OpenLyrics(object): author = Author.populate(display_name=display_name, last_name=display_name.split(u' ')[-1], first_name=u' '.join(display_name.split(u' ')[:-1])) - # The song does not have an author, add a default author. if not song.authors: - name = SongStrings.AuthorUnknown - author = self.manager.get_object_filtered( - Author, Author.display_name == name) - if author is None: - author = Author.populate( - display_name=name, last_name=u'', first_name=u'') - song.authors.append(author) + add_author_unknown(self.manager, song) def _process_cclinumber(self, properties, song): """ diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 1932a8384..609c1990d 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -32,10 +32,10 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.db import Manager from openlp.core.lib.ui import UiStrings -from openlp.plugins.songs.lib import SongMediaItem, SongsTab, SongXML -from openlp.plugins.songs.lib.db import Author, init_schema, Song +from openlp.plugins.songs.lib import add_author_unknown, SongMediaItem, \ + SongsTab, SongXML +from openlp.plugins.songs.lib.db import init_schema, Song from openlp.plugins.songs.lib.importer import SongFormat -from openlp.plugins.songs.lib.ui import SongStrings log = logging.getLogger(__name__) @@ -148,13 +148,7 @@ class SongsPlugin(Plugin): counter += 1 # The song does not have any author, add one. if not song.authors: - name = SongStrings.AuthorUnknown - author = self.manager.get_object_filtered(Author, - Author.display_name == name) - if author is None: - author = Author.populate( - display_name=name, last_name=u'', first_name=u'') - song.authors.append(author) + add_author_unknown(self.manager, song) if song.title is None: song.title = u'' if song.alternate_title is None: From 8661c6e38e5bae6db0b9d8c599c6d8a1791d520f Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 23 Feb 2011 21:28:25 +0100 Subject: [PATCH 47/90] removed line --- openlp/plugins/songs/lib/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 0396122f5..70a47a239 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -264,4 +264,3 @@ def add_author_unknown(manager, song): from xml import OpenLyrics, SongXML from songstab import SongsTab from mediaitem import SongMediaItem - From c74b2fc964fa34d9c8fe84e7db6b74d12da9452e Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 23 Feb 2011 22:55:55 +0200 Subject: [PATCH 48/90] Updated the settings tab. --- openlp/core/ui/advancedtab.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 35bc167c0..5cb22cb8b 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -28,8 +28,9 @@ The :mod:`advancedtab` provides an advanced settings facility. """ from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsTab, translate +from openlp.core.lib import SettingsTab, translate, build_icon from openlp.core.lib.ui import UiStrings +from openlp.core.utils import get_images_filter class AdvancedTab(SettingsTab): """ @@ -100,6 +101,8 @@ class AdvancedTab(SettingsTab): self.defaultFileEdit.setObjectName(u'defaultFileEdit') self.defaultBrowseButton = QtGui.QToolButton(self.defaultImageGroupBox) self.defaultBrowseButton.setObjectName(u'defaultBrowseButton') + self.defaultBrowseButton.setIcon( + build_icon(u':/general/general_open.png')) self.defaultFileLayout = QtGui.QHBoxLayout() self.defaultFileLayout.setObjectName(u'defaultFileLayout') self.defaultFileLayout.addWidget(self.defaultFileEdit) @@ -111,6 +114,8 @@ class AdvancedTab(SettingsTab): QtCore.QObject.connect(self.defaultColorButton, QtCore.SIGNAL(u'pressed()'), self.onDefaultColorButtonPressed) + QtCore.QObject.connect(self.defaultBrowseButton, + QtCore.SIGNAL(u'pressed()'), self.onDefaultBrowseButtonPressed) def retranslateUi(self): """ @@ -139,7 +144,6 @@ class AdvancedTab(SettingsTab): 'Background color:')) self.defaultFileLabel.setText(translate('OpenLP.AdvancedTab', 'Image file:')) - self.defaultBrowseButton.setTitle('...') def load(self): """ @@ -195,8 +199,8 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.enableAutoCloseCheckBox.isChecked())) settings.setValue(u'hide mouse', QtCore.QVariant(self.hideMouseCheckBox.isChecked())) - settings.setValue(u'default background color', self.default_color) - settings.setValue(u'default image', self.default_image) + settings.setValue(u'default color', self.default_color) + settings.setValue(u'default image', self.defaultFileEdit.text()) settings.endGroup() def onDefaultColorButtonPressed(self): @@ -207,3 +211,12 @@ class AdvancedTab(SettingsTab): self.defaultColorButton.setStyleSheet( u'background-color: %s' % self.default_color) + def onDefaultBrowseButtonPressed(self): + file_filters = u'%s;;%s (*.*) (*)' % (get_images_filter(), + UiStrings.AllFiles) + filename = QtGui.QFileDialog.getOpenFileName(self, + translate('OpenLP.AdvancedTab', 'Open File'), '', + file_filters) + if filename: + self.defaultFileEdit.setText(filename) + self.defaultFileEdit.setFocus() From cca1064e42b81bdc456a878dfa1d15d9eabd3a70 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 24 Feb 2011 00:11:58 +0000 Subject: [PATCH 49/90] Cleanups --- openlp/plugins/songs/lib/foilpresenterimport.py | 4 +--- openlp/plugins/songs/lib/xml.py | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 2eded332f..46cf038be 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -93,7 +93,6 @@ import os from lxml import etree, objectify -from openlp.core.lib import translate from openlp.core.ui.wizard import WizardStrings from openlp.plugins.songs.lib import VerseType from openlp.plugins.songs.lib.songimport import SongImport @@ -411,7 +410,6 @@ class FoilPresenter(object): search_text = u'' temp_verse_order = {} temp_verse_order_backup = [] - temp_verse_sort = [] temp_sortnr_backup = 1 temp_sortnr_liste = [] versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, @@ -454,7 +452,7 @@ class FoilPresenter(object): else: verse_type = u'O' verse_number = re.compile(u'[a-zA-Z.+-_ ]*').sub(u'', verse_name) - verse_part = re.compile(u'[0-9]*').sub(u'', verse_name[1:]) + #verse_part = re.compile(u'[0-9]*').sub(u'', verse_name[1:]) # Foilpresenter allows e. g. "C", but we need "C1". if not verse_number: verse_number = unicode(versenumber[verse_type]) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 8f5c35c0a..f2cf4ac03 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -68,7 +68,6 @@ from lxml import etree, objectify from openlp.plugins.songs.lib import add_author_unknown, VerseType from openlp.plugins.songs.lib.db import Author, Book, Song, Topic -from openlp.plugins.songs.lib.ui import SongStrings log = logging.getLogger(__name__) From 3b31186114ba8d2a241f16f89868342795b5e7e5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 24 Feb 2011 00:32:27 +0000 Subject: [PATCH 50/90] Complete song import init cleanup --- openlp/plugins/songs/lib/foilpresenterimport.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 46cf038be..97aac379e 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -106,12 +106,12 @@ class FoilPresenterImport(SongImport): """ This provides the Foilpresenter import. """ - def __init__(self, master_manager, **kwargs): + def __init__(self, manager, **kwargs): """ Initialise the import. """ log.debug(u'initialise FoilPresenterImport') - SongImport.__init__(self, master_manager, **kwargs) + SongImport.__init__(self, manager, **kwargs) self.FoilPresenter = FoilPresenter(self.manager) def do_import(self): From 5e2a7e1cde4bb76f567b920bf555d1e9b69072e5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 24 Feb 2011 02:38:42 +0000 Subject: [PATCH 51/90] Fixes to foilpresenter author handling --- openlp/plugins/songs/lib/foilpresenterimport.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 97aac379e..3a6ae1764 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -339,7 +339,7 @@ class FoilPresenter(object): elif (len(author) > 2): authors.append(author) if not authors: - authors.append(SongStrings.AuthorUnknownUnT) + authors.append(SongStrings.AuthorUnknown) for display_name in authors: author = self.manager.get_object_filtered(Author, Author.display_name == display_name) @@ -348,7 +348,7 @@ class FoilPresenter(object): author = Author.populate(display_name=display_name, last_name = display_name.split(u' ')[-1], first_name = u' '.join(display_name.split(u' ')[:-1])) - self.manager.save_object(author) + self.manager.save_object(author) song.authors.append(author) def _process_cclinumber(self, foilpresenterfolie, song): From 780a87e840b1a7d923b27b9aa9f8f6f6ab78b755 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Thu, 24 Feb 2011 07:47:38 +0200 Subject: [PATCH 52/90] Updated copyright information. Removed .eric4project directory from version control. --- LICENSE | 14 ++-- copyright.txt | 6 +- openlp.pyw | 6 +- openlp/__init__.py | 8 +- openlp/core/__init__.py | 8 +- openlp/core/lib/__init__.py | 6 +- openlp/core/lib/db.py | 6 +- openlp/core/lib/displaytags.py | 6 +- openlp/core/lib/dockwidget.py | 6 +- openlp/core/lib/eventreceiver.py | 6 +- openlp/core/lib/htmlbuilder.py | 6 +- openlp/core/lib/imagemanager.py | 6 +- openlp/core/lib/listwidgetwithdnd.py | 6 +- openlp/core/lib/mediamanageritem.py | 6 +- openlp/core/lib/plugin.py | 6 +- openlp/core/lib/pluginmanager.py | 8 +- openlp/core/lib/renderer.py | 8 +- openlp/core/lib/rendermanager.py | 6 +- openlp/core/lib/searchedit.py | 6 +- openlp/core/lib/serviceitem.py | 6 +- openlp/core/lib/settingsmanager.py | 8 +- openlp/core/lib/settingstab.py | 6 +- openlp/core/lib/spelltextedit.py | 6 +- openlp/core/lib/theme.py | 6 +- openlp/core/lib/toolbar.py | 6 +- openlp/core/lib/ui.py | 6 +- openlp/core/theme/__init__.py | 8 +- openlp/core/theme/theme.py | 6 +- openlp/core/ui/__init__.py | 6 +- openlp/core/ui/aboutdialog.py | 6 +- openlp/core/ui/aboutform.py | 8 +- openlp/core/ui/advancedtab.py | 6 +- openlp/core/ui/displaytagdialog.py | 6 +- openlp/core/ui/displaytagform.py | 6 +- openlp/core/ui/exceptiondialog.py | 6 +- openlp/core/ui/exceptionform.py | 6 +- openlp/core/ui/filerenamedialog.py | 6 +- openlp/core/ui/filerenameform.py | 6 +- openlp/core/ui/generaltab.py | 6 +- openlp/core/ui/maindisplay.py | 6 +- openlp/core/ui/mainwindow.py | 6 +- openlp/core/ui/mediadockmanager.py | 8 +- openlp/core/ui/plugindialog.py | 6 +- openlp/core/ui/pluginform.py | 6 +- openlp/core/ui/printservicedialog.py | 6 +- openlp/core/ui/printserviceform.py | 6 +- openlp/core/ui/screen.py | 6 +- openlp/core/ui/serviceitemeditdialog.py | 6 +- openlp/core/ui/serviceitemeditform.py | 6 +- openlp/core/ui/servicemanager.py | 6 +- openlp/core/ui/servicenoteform.py | 8 +- openlp/core/ui/settingsdialog.py | 6 +- openlp/core/ui/settingsform.py | 6 +- openlp/core/ui/shortcutlistdialog.py | 8 +- openlp/core/ui/shortcutlistform.py | 6 +- openlp/core/ui/slidecontroller.py | 6 +- openlp/core/ui/splashscreen.py | 6 +- openlp/core/ui/starttimedialog.py | 6 +- openlp/core/ui/starttimeform.py | 6 +- openlp/core/ui/themeform.py | 6 +- openlp/core/ui/thememanager.py | 6 +- openlp/core/ui/themestab.py | 6 +- openlp/core/ui/themewizard.py | 6 +- openlp/core/ui/wizard.py | 6 +- openlp/core/utils/__init__.py | 8 +- openlp/core/utils/actions.py | 6 +- openlp/core/utils/languagemanager.py | 6 +- openlp/plugins/__init__.py | 8 +- openlp/plugins/alerts/__init__.py | 8 +- openlp/plugins/alerts/alertsplugin.py | 6 +- openlp/plugins/alerts/forms/__init__.py | 8 +- openlp/plugins/alerts/forms/alertdialog.py | 6 +- openlp/plugins/alerts/forms/alertform.py | 6 +- openlp/plugins/alerts/lib/__init__.py | 8 +- openlp/plugins/alerts/lib/alertsmanager.py | 6 +- openlp/plugins/alerts/lib/alertstab.py | 6 +- openlp/plugins/alerts/lib/db.py | 8 +- openlp/plugins/bibles/__init__.py | 8 +- openlp/plugins/bibles/bibleplugin.py | 6 +- openlp/plugins/bibles/forms/__init__.py | 8 +- .../plugins/bibles/forms/bibleimportform.py | 6 +- openlp/plugins/bibles/lib/__init__.py | 20 ++--- openlp/plugins/bibles/lib/biblestab.py | 6 +- openlp/plugins/bibles/lib/csvbible.py | 6 +- openlp/plugins/bibles/lib/db.py | 6 +- openlp/plugins/bibles/lib/http.py | 6 +- openlp/plugins/bibles/lib/manager.py | 6 +- openlp/plugins/bibles/lib/mediaitem.py | 6 +- openlp/plugins/bibles/lib/openlp1.py | 6 +- openlp/plugins/bibles/lib/opensong.py | 6 +- openlp/plugins/bibles/lib/osis.py | 6 +- openlp/plugins/custom/__init__.py | 8 +- openlp/plugins/custom/customplugin.py | 6 +- openlp/plugins/custom/forms/__init__.py | 8 +- .../plugins/custom/forms/editcustomdialog.py | 6 +- openlp/plugins/custom/forms/editcustomform.py | 6 +- .../custom/forms/editcustomslidedialog.py | 6 +- .../custom/forms/editcustomslideform.py | 6 +- openlp/plugins/custom/lib/__init__.py | 8 +- openlp/plugins/custom/lib/customtab.py | 6 +- openlp/plugins/custom/lib/customxmlhandler.py | 8 +- openlp/plugins/custom/lib/db.py | 8 +- openlp/plugins/custom/lib/mediaitem.py | 6 +- openlp/plugins/images/__init__.py | 8 +- openlp/plugins/images/imageplugin.py | 6 +- openlp/plugins/images/lib/__init__.py | 8 +- openlp/plugins/images/lib/mediaitem.py | 6 +- openlp/plugins/media/__init__.py | 8 +- openlp/plugins/media/lib/__init__.py | 8 +- openlp/plugins/media/lib/mediaitem.py | 8 +- openlp/plugins/media/lib/mediatab.py | 6 +- openlp/plugins/media/mediaplugin.py | 6 +- openlp/plugins/presentations/__init__.py | 8 +- openlp/plugins/presentations/lib/__init__.py | 8 +- .../presentations/lib/impresscontroller.py | 6 +- openlp/plugins/presentations/lib/mediaitem.py | 6 +- .../presentations/lib/messagelistener.py | 6 +- .../presentations/lib/powerpointcontroller.py | 6 +- .../presentations/lib/pptviewcontroller.py | 6 +- .../presentations/lib/pptviewlib/ppttest.py | 8 +- .../lib/presentationcontroller.py | 6 +- .../presentations/lib/presentationtab.py | 6 +- .../presentations/presentationplugin.py | 6 +- openlp/plugins/remotes/__init__.py | 8 +- openlp/plugins/remotes/lib/__init__.py | 8 +- openlp/plugins/remotes/lib/httpserver.py | 6 +- openlp/plugins/remotes/lib/remotetab.py | 6 +- openlp/plugins/remotes/remoteplugin.py | 6 +- openlp/plugins/songs/__init__.py | 8 +- openlp/plugins/songs/forms/__init__.py | 6 +- openlp/plugins/songs/forms/authorsdialog.py | 6 +- openlp/plugins/songs/forms/authorsform.py | 6 +- openlp/plugins/songs/forms/editsongdialog.py | 6 +- openlp/plugins/songs/forms/editsongform.py | 6 +- openlp/plugins/songs/forms/editversedialog.py | 6 +- openlp/plugins/songs/forms/editverseform.py | 6 +- openlp/plugins/songs/forms/songbookdialog.py | 6 +- openlp/plugins/songs/forms/songbookform.py | 6 +- openlp/plugins/songs/forms/songexportform.py | 6 +- openlp/plugins/songs/forms/songimportform.py | 6 +- .../songs/forms/songmaintenancedialog.py | 6 +- .../songs/forms/songmaintenanceform.py | 6 +- openlp/plugins/songs/forms/topicsdialog.py | 6 +- openlp/plugins/songs/forms/topicsform.py | 6 +- openlp/plugins/songs/lib/__init__.py | 6 +- openlp/plugins/songs/lib/cclifileimport.py | 6 +- openlp/plugins/songs/lib/db.py | 6 +- openlp/plugins/songs/lib/easislidesimport.py | 6 +- openlp/plugins/songs/lib/ewimport.py | 6 +- .../plugins/songs/lib/foilpresenterimport.py | 74 +++++++++---------- openlp/plugins/songs/lib/importer.py | 6 +- openlp/plugins/songs/lib/mediaitem.py | 6 +- openlp/plugins/songs/lib/olp1import.py | 6 +- openlp/plugins/songs/lib/olpimport.py | 6 +- openlp/plugins/songs/lib/oooimport.py | 6 +- openlp/plugins/songs/lib/openlyricsexport.py | 6 +- openlp/plugins/songs/lib/openlyricsimport.py | 8 +- openlp/plugins/songs/lib/opensongimport.py | 6 +- openlp/plugins/songs/lib/sofimport.py | 6 +- openlp/plugins/songs/lib/songbeamerimport.py | 6 +- openlp/plugins/songs/lib/songimport.py | 8 +- .../plugins/songs/lib/songshowplusimport.py | 6 +- openlp/plugins/songs/lib/songstab.py | 6 +- .../songs/lib/test/test_import_file.py | 10 +-- .../songs/lib/test/test_importing_lots.py | 26 +++++++ .../songs/lib/test/test_opensongimport.py | 10 +-- openlp/plugins/songs/lib/ui.py | 6 +- openlp/plugins/songs/lib/wowimport.py | 6 +- openlp/plugins/songs/lib/xml.py | 8 +- openlp/plugins/songs/songsplugin.py | 6 +- openlp/plugins/songusage/__init__.py | 8 +- openlp/plugins/songusage/forms/__init__.py | 8 +- .../songusage/forms/songusagedeletedialog.py | 6 +- .../songusage/forms/songusagedeleteform.py | 6 +- .../songusage/forms/songusagedetaildialog.py | 6 +- .../songusage/forms/songusagedetailform.py | 6 +- openlp/plugins/songusage/lib/__init__.py | 8 +- openlp/plugins/songusage/lib/db.py | 8 +- openlp/plugins/songusage/songusageplugin.py | 6 +- ...lugins.presentations.presentationplugin.py | 10 +-- resources/pyinstaller/hook-openlp.py | 10 +-- scripts/generate_resources.sh | 9 ++- scripts/openlp-remoteclient.py | 10 +-- scripts/resources.patch | 24 +++--- scripts/translation_utils.py | 10 +-- scripts/windows-builder.py | 10 +-- setup.py | 8 +- 187 files changed, 696 insertions(+), 669 deletions(-) diff --git a/LICENSE b/LICENSE index d511905c1..fd94e166f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public @@ -56,7 +56,7 @@ patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains @@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN @@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it diff --git a/copyright.txt b/copyright.txt index 6882a7282..0e405e6e9 100644 --- a/copyright.txt +++ b/copyright.txt @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp.pyw b/openlp.pyw index d425a0b37..85ba81fba 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -7,9 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/__init__.py b/openlp/__init__.py index b88547df6..9c22aab8b 100644 --- a/openlp/__init__.py +++ b/openlp/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`openlp` module contains all the project produced OpenLP functionality -""" \ No newline at end of file +""" diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 17db85184..00d8b78c0 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -28,4 +28,4 @@ The :mod:`core` module provides all core application functions All the core functions of the OpenLP application including the GUI, settings, logging and a plugin framework are contained within the openlp.core module. -""" \ No newline at end of file +""" diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index ab4c8e26f..89ecaf3be 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index d9d094949..62150cce3 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/displaytags.py b/openlp/core/lib/displaytags.py index d414f80bb..fc36bc090 100644 --- a/openlp/core/lib/displaytags.py +++ b/openlp/core/lib/displaytags.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index 32d6ce765..efc0a3066 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 6fa8e624a..78b0c6324 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 720b4b3f8..4faf47ddc 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/imagemanager.py b/openlp/core/lib/imagemanager.py index 23005e992..31b41dc0f 100644 --- a/openlp/core/lib/imagemanager.py +++ b/openlp/core/lib/imagemanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/listwidgetwithdnd.py b/openlp/core/lib/listwidgetwithdnd.py index a1a11217b..5cd8cf9e2 100644 --- a/openlp/core/lib/listwidgetwithdnd.py +++ b/openlp/core/lib/listwidgetwithdnd.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 782e041a9..c44b89534 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 39f13c37e..c1ff30281 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 8081cbf71..d2b05ab7c 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -221,4 +221,4 @@ class PluginManager(object): for plugin in self.plugins: if plugin.isActive(): plugin.finalise() - log.info(u'Finalisation Complete for %s ' % plugin.name) \ No newline at end of file + log.info(u'Finalisation Complete for %s ' % plugin.name) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index fe118b76b..4df87a4df 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -144,4 +144,4 @@ class Renderer(object): html_text = html_text[:len(html_text)-4] formatted.append(html_text) log.debug(u'format_slide - End') - return formatted \ No newline at end of file + return formatted diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index 7d579f7a4..b68237b4a 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/searchedit.py b/openlp/core/lib/searchedit.py index 5e12dcefd..d2424d00e 100644 --- a/openlp/core/lib/searchedit.py +++ b/openlp/core/lib/searchedit.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index f5b606467..de4f2fd81 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py index 89d56cea2..3d8d8059e 100644 --- a/openlp/core/lib/settingsmanager.py +++ b/openlp/core/lib/settingsmanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -178,4 +178,4 @@ class SettingsManager(object): if extension == os.path.splitext(filename)[1]] else: # no filtering required - return files \ No newline at end of file + return files diff --git a/openlp/core/lib/settingstab.py b/openlp/core/lib/settingstab.py index 297185127..4f3748c8d 100644 --- a/openlp/core/lib/settingstab.py +++ b/openlp/core/lib/settingstab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/spelltextedit.py b/openlp/core/lib/spelltextedit.py index 44180a25c..493781ccc 100644 --- a/openlp/core/lib/spelltextedit.py +++ b/openlp/core/lib/spelltextedit.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/theme.py b/openlp/core/lib/theme.py index 67ddde72d..6f97c0608 100644 --- a/openlp/core/lib/theme.py +++ b/openlp/core/lib/theme.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/toolbar.py b/openlp/core/lib/toolbar.py index 6ae80045e..37fb67d52 100644 --- a/openlp/core/lib/toolbar.py +++ b/openlp/core/lib/toolbar.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 2cdda13ac..c127d810d 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/theme/__init__.py b/openlp/core/theme/__init__.py index 350b550a2..52f7120b1 100644 --- a/openlp/core/theme/__init__.py +++ b/openlp/core/theme/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from openlp.core.theme.theme import Theme \ No newline at end of file +from openlp.core.theme.theme import Theme diff --git a/openlp/core/theme/theme.py b/openlp/core/theme/theme.py index c5d60e299..17217113a 100644 --- a/openlp/core/theme/theme.py +++ b/openlp/core/theme/theme.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 0f62a6dcf..158f7f0cd 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 19a61b3f8..5ba5783ea 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py index f3fcc18a8..a6550b23c 100644 --- a/openlp/core/ui/aboutform.py +++ b/openlp/core/ui/aboutform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -61,4 +61,4 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): import webbrowser url = u'http://www.openlp.org/en/documentation/introduction/' \ + u'contributing.html' - webbrowser.open_new(url) \ No newline at end of file + webbrowser.open_new(url) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 5cb22cb8b..a8e8b294e 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py index edb8567cf..32428731e 100644 --- a/openlp/core/ui/displaytagdialog.py +++ b/openlp/core/ui/displaytagdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index fa05c578a..b02a41e64 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/exceptiondialog.py b/openlp/core/ui/exceptiondialog.py index ba7bab496..770913b01 100644 --- a/openlp/core/ui/exceptiondialog.py +++ b/openlp/core/ui/exceptiondialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 023bb6b36..6fb2d3f84 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/filerenamedialog.py b/openlp/core/ui/filerenamedialog.py index 147207494..30c206d2c 100644 --- a/openlp/core/ui/filerenamedialog.py +++ b/openlp/core/ui/filerenamedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/filerenameform.py b/openlp/core/ui/filerenameform.py index 8b37cbc86..69a1c3f6a 100644 --- a/openlp/core/ui/filerenameform.py +++ b/openlp/core/ui/filerenameform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 2b95088ab..f2bcbbe7e 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 91d61f1d7..06de73309 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 9071016e8..4ec1f91cc 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/mediadockmanager.py b/openlp/core/ui/mediadockmanager.py index ced3850ec..2d388faf4 100644 --- a/openlp/core/ui/mediadockmanager.py +++ b/openlp/core/ui/mediadockmanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -85,4 +85,4 @@ class MediaDockManager(object): if self.media_dock.widget(dock_index).settingsSection == \ media_item.plugin.name.lower(): self.media_dock.widget(dock_index).hide() - self.media_dock.removeItem(dock_index) \ No newline at end of file + self.media_dock.removeItem(dock_index) diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py index 84f897a65..0f6ed9395 100644 --- a/openlp/core/ui/plugindialog.py +++ b/openlp/core/ui/plugindialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index f8bfe4713..15ac62e42 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/printservicedialog.py b/openlp/core/ui/printservicedialog.py index ec4e054c3..8d69dc9af 100644 --- a/openlp/core/ui/printservicedialog.py +++ b/openlp/core/ui/printservicedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/printserviceform.py b/openlp/core/ui/printserviceform.py index 882e39fca..115d68858 100644 --- a/openlp/core/ui/printserviceform.py +++ b/openlp/core/ui/printserviceform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 82238d738..4530cfd3c 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index ef7e99a5f..f2909eabb 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/serviceitemeditform.py b/openlp/core/ui/serviceitemeditform.py index ae09cb0b2..588bdbfd6 100644 --- a/openlp/core/ui/serviceitemeditform.py +++ b/openlp/core/ui/serviceitemeditform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 67fbeb0ea..f5a08d8b2 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/servicenoteform.py b/openlp/core/ui/servicenoteform.py index a12b693f8..200e12818 100644 --- a/openlp/core/ui/servicenoteform.py +++ b/openlp/core/ui/servicenoteform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -53,4 +53,4 @@ class ServiceNoteForm(QtGui.QDialog): def retranslateUi(self): self.setWindowTitle( - translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) + translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index 41b6baccb..af8ba84ab 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 8ea9b0dea..872b37586 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/shortcutlistdialog.py b/openlp/core/ui/shortcutlistdialog.py index 4e20671c5..b4673f410 100644 --- a/openlp/core/ui/shortcutlistdialog.py +++ b/openlp/core/ui/shortcutlistdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -78,7 +78,7 @@ class Ui_ShortcutListDialog(object): translate('OpenLP.ShortcutListDialog', 'Customize Shortcuts')) self.treeWidget.setHeaderLabels([ translate('OpenLP.ShortcutListDialog', 'Action'), - translate('OpenLP.ShortcutListDialog', 'Shortcut'), + translate('OpenLP.ShortcutListDialog', 'Shortcut'), translate('OpenLP.ShortcutListDialog', 'Alternate')]) self.defaultButton.setText( translate('OpenLP.ShortcutListDialog', 'Default: %s')) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 240bbf93c..4f770045c 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 2d3a7e61d..8d612676b 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index 8c2364ec2..88c6f09f9 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/starttimedialog.py b/openlp/core/ui/starttimedialog.py index d87df71c4..14ef84aac 100644 --- a/openlp/core/ui/starttimedialog.py +++ b/openlp/core/ui/starttimedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/starttimeform.py b/openlp/core/ui/starttimeform.py index 1280931d5..01800602f 100644 --- a/openlp/core/ui/starttimeform.py +++ b/openlp/core/ui/starttimeform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 17572f530..cc490bf9b 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 378f5b365..974f98f61 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 6a3505e93..c7442744f 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py index a482e2703..20cca69c6 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themewizard.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/ui/wizard.py b/openlp/core/ui/wizard.py index 209f3f212..0b275733e 100644 --- a/openlp/core/ui/wizard.py +++ b/openlp/core/ui/wizard.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 3f5ee90c2..86372e080 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -387,7 +387,7 @@ def get_uno_command(): if UNO_CONNECTION_TYPE == u'pipe': CONNECTION = u'"-accept=pipe,name=openlp_pipe;urp;"' else: - CONNECTION = u'"-accept=socket,host=localhost,port=2002;urp;"' + CONNECTION = u'"-accept=socket,host=localhost,port=2002;urp;"' return u'%s %s %s' % (COMMAND, OPTIONS, CONNECTION) def get_uno_instance(resolver): diff --git a/openlp/core/utils/actions.py b/openlp/core/utils/actions.py index e181dd2e1..30d1d7586 100644 --- a/openlp/core/utils/actions.py +++ b/openlp/core/utils/actions.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 454d14fa2..ced2fa843 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/__init__.py b/openlp/plugins/__init__.py index 7bf441119..5fd39d572 100644 --- a/openlp/plugins/__init__.py +++ b/openlp/plugins/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`plugins` module provides all the project produced plugins -""" \ No newline at end of file +""" diff --git a/openlp/plugins/alerts/__init__.py b/openlp/plugins/alerts/__init__.py index dafae0885..f3c629b25 100644 --- a/openlp/plugins/alerts/__init__.py +++ b/openlp/plugins/alerts/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`alerts` module provides the Alerts plugin for producing impromptu on-screen announcements during a service. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 136d775a5..1d9bd4c61 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/alerts/forms/__init__.py b/openlp/plugins/alerts/forms/__init__.py index da7ae6683..e2809ed73 100644 --- a/openlp/plugins/alerts/forms/__init__.py +++ b/openlp/plugins/alerts/forms/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from alertform import AlertForm \ No newline at end of file +from alertform import AlertForm diff --git a/openlp/plugins/alerts/forms/alertdialog.py b/openlp/plugins/alerts/forms/alertdialog.py index 93f7ead06..27b0b0f7d 100644 --- a/openlp/plugins/alerts/forms/alertdialog.py +++ b/openlp/plugins/alerts/forms/alertdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 0639f2bb1..75475d524 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/alerts/lib/__init__.py b/openlp/plugins/alerts/lib/__init__.py index f6a535b1b..3b446b67d 100644 --- a/openlp/plugins/alerts/lib/__init__.py +++ b/openlp/plugins/alerts/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### from alertsmanager import AlertsManager -from alertstab import AlertsTab \ No newline at end of file +from alertstab import AlertsTab diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index f69099bf1..a05a29575 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index ac7316df2..5b4f670a3 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/alerts/lib/db.py b/openlp/plugins/alerts/lib/db.py index e324bc838..9cfa34846 100644 --- a/openlp/plugins/alerts/lib/db.py +++ b/openlp/plugins/alerts/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -55,4 +55,4 @@ def init_schema(url): mapper(AlertItem, alerts_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/bibles/__init__.py b/openlp/plugins/bibles/__init__.py index 59cd2afec..29364ab1a 100644 --- a/openlp/plugins/bibles/__init__.py +++ b/openlp/plugins/bibles/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`bibles` module provides the Bible plugin to enable OpenLP to display scripture. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index b992552f1..73a9b7e1d 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/forms/__init__.py b/openlp/plugins/bibles/forms/__init__.py index 1365dc5e0..15f14de9e 100644 --- a/openlp/plugins/bibles/forms/__init__.py +++ b/openlp/plugins/bibles/forms/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -53,4 +53,4 @@ from the .ui files later if necessary. from bibleimportform import BibleImportForm -__all__ = ['BibleImportForm'] \ No newline at end of file +__all__ = ['BibleImportForm'] diff --git a/openlp/plugins/bibles/forms/bibleimportform.py b/openlp/plugins/bibles/forms/bibleimportform.py index 7ec8e1394..fc37fad58 100644 --- a/openlp/plugins/bibles/forms/bibleimportform.py +++ b/openlp/plugins/bibles/forms/bibleimportform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index 78cb6b645..e8634c3a3 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -100,37 +100,37 @@ def parse_reference(reference): this:: (book, chapter, from_verse, to_verse) - + For example:: - + [(u'John', 3, 16, 18), (u'John', 4, 1, 1)] **Reference string details:** Each reference starts with the book name and a chapter number. These are both mandatory. - + * ``John 3`` refers to Gospel of John chapter 3 A reference range can be given after a range separator. - + * ``John 3-5`` refers to John chapters 3 to 5 Single verses can be addressed after a verse separator. - + * ``John 3:16`` refers to John chapter 3 verse 16 * ``John 3:16-4:3`` refers to John chapter 3 verse 16 to chapter 4 verse 3 After a verse reference all further single values are treat as verse in the last selected chapter. - + * ``John 3:16-18`` refers to John chapter 3 verses 16 to 18 After a list separator it is possible to refer to additional verses. They are build analog to the first ones. This way it is possible to define each number of verse references. It is not possible to refer to verses in additional books. - + * ``John 3:16,18`` refers to John chapter 3 verses 16 and 18 * ``John 3:16-18,20`` refers to John chapter 3 verses 16 to 18 and 20 * ``John 3:16-18,4:1`` refers to John chapter 3 verses 16 to 18 and diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 09e32ad8c..74be7145b 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/csvbible.py b/openlp/plugins/bibles/lib/csvbible.py index 82872e15b..f7b4aa8f5 100644 --- a/openlp/plugins/bibles/lib/csvbible.py +++ b/openlp/plugins/bibles/lib/csvbible.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index b986b0d66..7b7c140e9 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 7cba6facb..064a6064d 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 85204ac7a..501c8c902 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index deae98fcb..e7cf273c1 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/openlp1.py b/openlp/plugins/bibles/lib/openlp1.py index 73b7eb91a..30eb73481 100644 --- a/openlp/plugins/bibles/lib/openlp1.py +++ b/openlp/plugins/bibles/lib/openlp1.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index 9a0fd110d..9c521fb3f 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 347730bf4..11800ec13 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/__init__.py b/openlp/plugins/custom/__init__.py index fb86201a3..3a1e4461a 100644 --- a/openlp/plugins/custom/__init__.py +++ b/openlp/plugins/custom/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -27,4 +27,4 @@ The :mod:`custom` module provides the Custom plugin which allows custom, themed, text based items to be displayed without having to misuse another item type. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 7894397db..c6c129e68 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/forms/__init__.py b/openlp/plugins/custom/forms/__init__.py index 60f1395fb..c12d29c07 100644 --- a/openlp/plugins/custom/forms/__init__.py +++ b/openlp/plugins/custom/forms/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### from editcustomform import EditCustomForm -from editcustomslideform import EditCustomSlideForm \ No newline at end of file +from editcustomslideform import EditCustomSlideForm diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index 8746d5548..12ac3ed7e 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index a86b28489..232cb1e38 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/forms/editcustomslidedialog.py b/openlp/plugins/custom/forms/editcustomslidedialog.py index b70e2bf5e..08610954f 100644 --- a/openlp/plugins/custom/forms/editcustomslidedialog.py +++ b/openlp/plugins/custom/forms/editcustomslidedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/forms/editcustomslideform.py b/openlp/plugins/custom/forms/editcustomslideform.py index 80141cfb3..2aea81482 100644 --- a/openlp/plugins/custom/forms/editcustomslideform.py +++ b/openlp/plugins/custom/forms/editcustomslideform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/lib/__init__.py b/openlp/plugins/custom/lib/__init__.py index d3d8312d7..0c53505ac 100644 --- a/openlp/plugins/custom/lib/__init__.py +++ b/openlp/plugins/custom/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ from customxmlhandler import CustomXMLBuilder, CustomXMLParser from mediaitem import CustomMediaItem -from customtab import CustomTab \ No newline at end of file +from customtab import CustomTab diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 3c1b848aa..9b61f8f15 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/custom/lib/customxmlhandler.py b/openlp/plugins/custom/lib/customxmlhandler.py index 1171ce6bd..5ea941e35 100644 --- a/openlp/plugins/custom/lib/customxmlhandler.py +++ b/openlp/plugins/custom/lib/customxmlhandler.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -153,4 +153,4 @@ class CustomXMLParser(object): """ Debugging aid to dump XML so that we can see what we have. """ - return dump(self.custom_xml) \ No newline at end of file + return dump(self.custom_xml) diff --git a/openlp/plugins/custom/lib/db.py b/openlp/plugins/custom/lib/db.py index 1fbc04980..74155ad96 100644 --- a/openlp/plugins/custom/lib/db.py +++ b/openlp/plugins/custom/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -59,4 +59,4 @@ def init_schema(url): mapper(CustomSlide, custom_slide_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 7ffdfd0b2..c0c7a7e86 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/images/__init__.py b/openlp/plugins/images/__init__.py index 6ea473c72..13ea2592a 100644 --- a/openlp/plugins/images/__init__.py +++ b/openlp/plugins/images/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`images` module provides the Images plugin. The Images plugin provides the facility to display images from OpenLP. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 2cc0f1d93..84d7a71cc 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/images/lib/__init__.py b/openlp/plugins/images/lib/__init__.py index 6ff2a295b..34c9f1ca8 100644 --- a/openlp/plugins/images/lib/__init__.py +++ b/openlp/plugins/images/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from mediaitem import ImageMediaItem \ No newline at end of file +from mediaitem import ImageMediaItem diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 5aa34cc24..e6fdfe7db 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/media/__init__.py b/openlp/plugins/media/__init__.py index 7be6e5ea9..c13c59ef6 100644 --- a/openlp/plugins/media/__init__.py +++ b/openlp/plugins/media/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -28,4 +28,4 @@ The :mod:`media` module provides the Media plugin which allows OpenLP to display videos. The media supported depends not only on the Python support but also extensively on the codecs installed on the underlying operating system being picked up and usable by Python. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/media/lib/__init__.py b/openlp/plugins/media/lib/__init__.py index 59d7642df..cb4806631 100644 --- a/openlp/plugins/media/lib/__init__.py +++ b/openlp/plugins/media/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -27,4 +27,4 @@ from mediaitem import MediaMediaItem from mediatab import MediaTab -__all__ = ['MediaMediaItem'] \ No newline at end of file +__all__ = ['MediaMediaItem'] diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 8bf201180..40ea7abb1 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -61,7 +61,7 @@ class MediaMediaItem(MediaManagerItem): self.onNewPrompt = translate('MediaPlugin.MediaItem', 'Select Media') self.onNewFileMasks = unicode(translate('MediaPlugin.MediaItem', 'Videos (%s);;Audio (%s);;%s (*)')) % ( - u' '.join(self.parent.video_extensions_list), + u' '.join(self.parent.video_extensions_list), u' '.join(self.parent.audio_extensions_list), UiStrings.AllFiles) self.replaceAction.setText(UiStrings.ReplaceBG) self.replaceAction.setToolTip(UiStrings.ReplaceLiveBG) diff --git a/openlp/plugins/media/lib/mediatab.py b/openlp/plugins/media/lib/mediatab.py index c51b53a9a..995816860 100644 --- a/openlp/plugins/media/lib/mediatab.py +++ b/openlp/plugins/media/lib/mediatab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 74a8f3f2e..ac3a2636b 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/__init__.py b/openlp/plugins/presentations/__init__.py index 317281c23..628816bcf 100644 --- a/openlp/plugins/presentations/__init__.py +++ b/openlp/plugins/presentations/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`presentations` module provides the Presentations plugin which allows OpenLP to show presentations from most popular presentation packages. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/presentations/lib/__init__.py b/openlp/plugins/presentations/lib/__init__.py index 2e46cf486..b5575268a 100644 --- a/openlp/plugins/presentations/lib/__init__.py +++ b/openlp/plugins/presentations/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -27,4 +27,4 @@ from presentationcontroller import PresentationController from messagelistener import MessageListener from mediaitem import PresentationMediaItem -from presentationtab import PresentationTab \ No newline at end of file +from presentationtab import PresentationTab diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index ad5faa2dd..2880bd27a 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 35db047e2..2a552a480 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index b7c64ccee..cf43566ae 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/powerpointcontroller.py b/openlp/plugins/presentations/lib/powerpointcontroller.py index eb00da255..4dc9e8f3a 100644 --- a/openlp/plugins/presentations/lib/powerpointcontroller.py +++ b/openlp/plugins/presentations/lib/powerpointcontroller.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/pptviewcontroller.py b/openlp/plugins/presentations/lib/pptviewcontroller.py index fc839195c..0900d1d9d 100644 --- a/openlp/plugins/presentations/lib/pptviewcontroller.py +++ b/openlp/plugins/presentations/lib/pptviewcontroller.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/pptviewlib/ppttest.py b/openlp/plugins/presentations/lib/pptviewlib/ppttest.py index de0be3e73..1e10def7d 100644 --- a/openlp/plugins/presentations/lib/pptviewlib/ppttest.py +++ b/openlp/plugins/presentations/lib/pptviewlib/ppttest.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -169,4 +169,4 @@ if __name__ == '__main__': app = QtGui.QApplication(sys.argv) qb = PPTViewer() qb.show() - sys.exit(app.exec_()) \ No newline at end of file + sys.exit(app.exec_()) diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index 8b282e0f4..d995baa8c 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index 8bcb7474a..7b85eebb4 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index ece25e363..eb7e714f0 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/remotes/__init__.py b/openlp/plugins/remotes/__init__.py index 4e619fb67..b5077f435 100644 --- a/openlp/plugins/remotes/__init__.py +++ b/openlp/plugins/remotes/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`remotes` plugin allows OpenLP to be controlled from another machine over a network connection. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/remotes/lib/__init__.py b/openlp/plugins/remotes/lib/__init__.py index b6f952242..8e4f1b210 100644 --- a/openlp/plugins/remotes/lib/__init__.py +++ b/openlp/plugins/remotes/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### from remotetab import RemoteTab -from httpserver import HttpServer \ No newline at end of file +from httpserver import HttpServer diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 7ced66103..173c89e13 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index d06e69164..2dfee06ce 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index b513d4ff7..7236d7546 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/__init__.py b/openlp/plugins/songs/__init__.py index c95d29c46..8332f7233 100644 --- a/openlp/plugins/songs/__init__.py +++ b/openlp/plugins/songs/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -26,4 +26,4 @@ """ The :mod:`songs` module provides the Songs plugin. The Songs plugin provides the main lyric projection function of OpenLP. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songs/forms/__init__.py b/openlp/plugins/songs/forms/__init__.py index e75f9fe04..356817ef9 100644 --- a/openlp/plugins/songs/forms/__init__.py +++ b/openlp/plugins/songs/forms/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/authorsdialog.py b/openlp/plugins/songs/forms/authorsdialog.py index 09c723364..ed2f87e2e 100644 --- a/openlp/plugins/songs/forms/authorsdialog.py +++ b/openlp/plugins/songs/forms/authorsdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py index 3a37cf290..ad4cea3de 100644 --- a/openlp/plugins/songs/forms/authorsform.py +++ b/openlp/plugins/songs/forms/authorsform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index bcc075574..c9dfb1e13 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 68147cf6c..ef47e5694 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py index 64da3e89e..391d9be65 100644 --- a/openlp/plugins/songs/forms/editversedialog.py +++ b/openlp/plugins/songs/forms/editversedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index 6156e6821..8a52c1859 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py index f6dd3930c..337210b38 100644 --- a/openlp/plugins/songs/forms/songbookdialog.py +++ b/openlp/plugins/songs/forms/songbookdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songbookform.py b/openlp/plugins/songs/forms/songbookform.py index 3f054fe8d..23886750b 100644 --- a/openlp/plugins/songs/forms/songbookform.py +++ b/openlp/plugins/songs/forms/songbookform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songexportform.py b/openlp/plugins/songs/forms/songexportform.py index bcf6a8873..231d8fd43 100644 --- a/openlp/plugins/songs/forms/songexportform.py +++ b/openlp/plugins/songs/forms/songexportform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 16c0f9edb..10422aadd 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songmaintenancedialog.py b/openlp/plugins/songs/forms/songmaintenancedialog.py index 0316ab42b..42ec16352 100644 --- a/openlp/plugins/songs/forms/songmaintenancedialog.py +++ b/openlp/plugins/songs/forms/songmaintenancedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 7f9b8bec5..d5f432c2b 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/topicsdialog.py b/openlp/plugins/songs/forms/topicsdialog.py index 1e7bdb6a0..ee6fc88e7 100644 --- a/openlp/plugins/songs/forms/topicsdialog.py +++ b/openlp/plugins/songs/forms/topicsdialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/forms/topicsform.py b/openlp/plugins/songs/forms/topicsform.py index 792570c93..a191d8156 100644 --- a/openlp/plugins/songs/forms/topicsform.py +++ b/openlp/plugins/songs/forms/topicsform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 70a47a239..507fd02d4 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/cclifileimport.py b/openlp/plugins/songs/lib/cclifileimport.py index 3d08584d0..b9236919a 100644 --- a/openlp/plugins/songs/lib/cclifileimport.py +++ b/openlp/plugins/songs/lib/cclifileimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund, Derek Scotney # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index d9a3202b5..a6255476a 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/easislidesimport.py b/openlp/plugins/songs/lib/easislidesimport.py index bdf263a4b..67f889898 100644 --- a/openlp/plugins/songs/lib/easislidesimport.py +++ b/openlp/plugins/songs/lib/easislidesimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/ewimport.py b/openlp/plugins/songs/lib/ewimport.py index c88238610..2119cc245 100644 --- a/openlp/plugins/songs/lib/ewimport.py +++ b/openlp/plugins/songs/lib/ewimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund, Jeffrey Smith # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 2eded332f..e4101f42a 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -139,48 +139,48 @@ class FoilPresenter(object): """ This class represents the converter for Foilpresenter XML from a song. - As Foilpresenter has a rich set of different features, we cannot support + As Foilpresenter has a rich set of different features, we cannot support them all. The following features are supported by the :class:`Foilpresenter` - OpenPL does not support styletype and font attributes like "align, font, - textsize, bold, italic, underline" - + OpenPL does not support styletype and font attributes like "align, font, + textsize, bold, italic, underline" + ** - This property is currently not supported. - - ** - As OpenLP does only support one title, the first titlestring becomes + This property is currently not supported. + + *<title>* + As OpenLP does only support one title, the first titlestring becomes title, all other titlestrings will be alternate titles *<sprache>* This property is not supported. - *<ccliid>* + *<ccliid>* The *<ccliid>* property is fully supported. - *<tonart>* + *<tonart>* This property is currently not supported. *<valign>* This property is not supported. - - *<notiz>* + + *<notiz>* The *<notiz>* property is fully supported. *<versionsinfo>* - This property is not supported. + This property is not supported. *<farben>* - This property is not supported. - + This property is not supported. + *<reihenfolge>* = verseOrder - OpenLP supports this property. + OpenLP supports this property. *<strophen>* Only the attributes *key* and *text* are supported. *<verkn>* - This property is not supported. + This property is not supported. *<verkn>* This property is not supported. @@ -195,8 +195,8 @@ class FoilPresenter(object): *<kategorien>* This property is not supported. - The tag *<author>* is not support by foilpresenter, mostly the author is - named in the <copyright> tag. We try to extract the authors from the + The tag *<author>* is not support by foilpresenter, mostly the author is + named in the <copyright> tag. We try to extract the authors from the <copyright> tag. """ @@ -205,7 +205,7 @@ class FoilPresenter(object): def xml_to_song(self, xml): """ - Create and save a song from Foilpresenter format xml to the database. + Create and save a song from Foilpresenter format xml to the database. ``xml`` The XML to parse (unicode). @@ -294,11 +294,11 @@ class FoilPresenter(object): if copyright.find(u'Rechte') != -1: temp = copyright.partition(u'Rechte') copyright = temp[0] - markers = [u'Text +u\.?n?d? +Melodie[a-zA-Z0-9\,\. ]*:', - u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', - u'Text[a-zA-Z0-9\,\. ]*:', u'Melodie', u'Musik', u'Satz', - u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', - u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] + markers = [u'Text +u\.?n?d? +Melodie[a-zA-Z0-9\,\. ]*:', + u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', + u'Text[a-zA-Z0-9\,\. ]*:', u'Melodie', u'Musik', u'Satz', + u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', + u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] for marker in markers: copyright = re.compile(marker).sub(u'<marker>', copyright) copyright = re.compile(u'(?<=<marker>) *:').sub(u'', copyright) @@ -314,11 +314,11 @@ class FoilPresenter(object): elif x > 0: strings.append(copyright) i = 1 - else: + else: i = 1 for author in strings: - temp = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', - author) + temp = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', + author) for tempx in temp: author_temp.append(tempx) for author in author_temp: @@ -326,12 +326,12 @@ class FoilPresenter(object): '\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s]*$' author = re.compile(regex).sub(u'', author) author = re.compile( - u'[0-9]{1,2}\.\s?J(ahr)?h\.|um\s*$|vor\s*$').sub(u'', + u'[0-9]{1,2}\.\s?J(ahr)?h\.|um\s*$|vor\s*$').sub(u'', author) author = re.compile(u'[N|n]ach.*$').sub(u'', author) author = author.strip() if re.search( - u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s', + u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s', author, re.U) != None: temp = re.split(u'\s[a|u]nd\s|\s&\s', author) for tempx in temp: @@ -414,13 +414,13 @@ class FoilPresenter(object): temp_verse_sort = [] temp_sortnr_backup = 1 temp_sortnr_liste = [] - versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, + versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, u'P': 1} for strophe in foilpresenterfolie.strophen.strophe: text = self._child(strophe.text_) verse_name = self._child(strophe.key) children = strophe.getchildren() - sortnr = False + sortnr = False for child in children: if child.tag == u'sortnr': verse_sortnr = self._child(strophe.sortnr) @@ -467,9 +467,9 @@ class FoilPresenter(object): verse_number = unicode(int(verse_number) + 1) verse_type_index = VerseType.from_tag(verse_type[0]) verse_type = VerseType.Names[verse_type_index] - temp_verse_order[verse_sortnr] = (u''.join((verse_type[0], + temp_verse_order[verse_sortnr] = (u''.join((verse_type[0], verse_number))) - temp_verse_order_backup.append(u''.join((verse_type[0], + temp_verse_order_backup.append(u''.join((verse_type[0], verse_number))) sxml.add_verse_to_lyrics(verse_type, verse_number, text) search_text = search_text + text diff --git a/openlp/plugins/songs/lib/importer.py b/openlp/plugins/songs/lib/importer.py index f3a64a998..773be2fd7 100644 --- a/openlp/plugins/songs/lib/importer.py +++ b/openlp/plugins/songs/lib/importer.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 1df63d0b5..1bf00b403 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/olp1import.py b/openlp/plugins/songs/lib/olp1import.py index 5e18c7ffa..989b7df8a 100644 --- a/openlp/plugins/songs/lib/olp1import.py +++ b/openlp/plugins/songs/lib/olp1import.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index fba518772..fe010b501 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/oooimport.py b/openlp/plugins/songs/lib/oooimport.py index 863fec2b8..d2e5870a5 100644 --- a/openlp/plugins/songs/lib/oooimport.py +++ b/openlp/plugins/songs/lib/oooimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/openlyricsexport.py b/openlp/plugins/songs/lib/openlyricsexport.py index ffb1a2d6f..c2b58980b 100644 --- a/openlp/plugins/songs/lib/openlyricsexport.py +++ b/openlp/plugins/songs/lib/openlyricsexport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index 0396335b8..306e31619 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -5,10 +5,10 @@ # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 5214a0a24..8fddf5e4f 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/sofimport.py b/openlp/plugins/songs/lib/sofimport.py index cfb80caa3..7fdf3c45b 100644 --- a/openlp/plugins/songs/lib/sofimport.py +++ b/openlp/plugins/songs/lib/sofimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/songbeamerimport.py b/openlp/plugins/songs/lib/songbeamerimport.py index afb9f5646..78a0a81c7 100644 --- a/openlp/plugins/songs/lib/songbeamerimport.py +++ b/openlp/plugins/songs/lib/songbeamerimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 36f2e3504..0212184f8 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -299,7 +299,7 @@ class SongImport(QtCore.QObject): song.lyrics = unicode(sxml.extract_xml(), u'utf-8') if not len(self.verse_order_list) and \ self.verse_order_list_generated_useful: - self.verse_order_list = self.verse_order_list_generated + self.verse_order_list = self.verse_order_list_generated for i, current_verse_def in enumerate(self.verse_order_list): if verses_changed_to_other.has_key(current_verse_def): self.verse_order_list[i] = \ diff --git a/openlp/plugins/songs/lib/songshowplusimport.py b/openlp/plugins/songs/lib/songshowplusimport.py index 74040bcc0..230c5c73d 100644 --- a/openlp/plugins/songs/lib/songshowplusimport.py +++ b/openlp/plugins/songs/lib/songshowplusimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index 9ed8ace94..2848208d2 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/test/test_import_file.py b/openlp/plugins/songs/lib/test/test_import_file.py index 0a0228317..4c3460426 100644 --- a/openlp/plugins/songs/lib/test/test_import_file.py +++ b/openlp/plugins/songs/lib/test/test_import_file.py @@ -4,11 +4,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index 75982da92..4fa5dc7c1 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -1,3 +1,29 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # +# --------------------------------------------------------------------------- # +# 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 # +############################################################################### + from openlp.plugins.songs.lib.opensongimport import OpenSongImport from openlp.plugins.songs.lib.db import init_schema from openlp.core.lib.db import Manager diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index fd1d37e3e..cd85cad3b 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -4,11 +4,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/ui.py b/openlp/plugins/songs/lib/ui.py index 6415c48c9..fe4aab988 100644 --- a/openlp/plugins/songs/lib/ui.py +++ b/openlp/plugins/songs/lib/ui.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/wowimport.py b/openlp/plugins/songs/lib/wowimport.py index 05c9704f6..67e1782eb 100644 --- a/openlp/plugins/songs/lib/wowimport.py +++ b/openlp/plugins/songs/lib/wowimport.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 8f5c35c0a..16da0a444 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -409,7 +409,7 @@ class OpenLyrics(object): The song object. """ if hasattr(properties, u'comments'): - comments_list = [] + comments_list = [] for comment in properties.comments.comment: commenttext = self._text(comment) if commenttext: diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 609c1990d..0335b3a6e 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songusage/__init__.py b/openlp/plugins/songusage/__init__.py index 7f532aada..5a58a5a81 100644 --- a/openlp/plugins/songusage/__init__.py +++ b/openlp/plugins/songusage/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -27,4 +27,4 @@ The :mod:`songusage` module contains the Song Usage plugin. The Song Usage plugin provides auditing capabilities for reporting the songs you are using to copyright license organisations. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songusage/forms/__init__.py b/openlp/plugins/songusage/forms/__init__.py index ef99bce89..c95384e5e 100644 --- a/openlp/plugins/songusage/forms/__init__.py +++ b/openlp/plugins/songusage/forms/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### from songusagedeleteform import SongUsageDeleteForm -from songusagedetailform import SongUsageDetailForm \ No newline at end of file +from songusagedetailform import SongUsageDetailForm diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index 9dc4219fc..879056e16 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index c03fe15a3..a96aacccd 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index 322e3eb4b..7c812efeb 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index ff8ec4858..ee37b2a9c 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/openlp/plugins/songusage/lib/__init__.py b/openlp/plugins/songusage/lib/__init__.py index c981e023b..860b25463 100644 --- a/openlp/plugins/songusage/lib/__init__.py +++ b/openlp/plugins/songusage/lib/__init__.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`lib` module contains the library functions for the songusage plugin. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songusage/lib/db.py b/openlp/plugins/songusage/lib/db.py index 80079bf85..2508ddc14 100644 --- a/openlp/plugins/songusage/lib/db.py +++ b/openlp/plugins/songusage/lib/db.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -61,4 +61,4 @@ def init_schema(url): mapper(SongUsageItem, songusage_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index ec37dc65e..e1dc0f1a8 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -6,9 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py index f99d4feac..2f00db438 100644 --- a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py +++ b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py @@ -4,11 +4,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/resources/pyinstaller/hook-openlp.py b/resources/pyinstaller/hook-openlp.py index 489c633f6..7e954551f 100644 --- a/resources/pyinstaller/hook-openlp.py +++ b/resources/pyinstaller/hook-openlp.py @@ -4,11 +4,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/scripts/generate_resources.sh b/scripts/generate_resources.sh index c2039a5b6..b363e58b6 100755 --- a/scripts/generate_resources.sh +++ b/scripts/generate_resources.sh @@ -4,10 +4,11 @@ ############################################################################### # 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 # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/scripts/openlp-remoteclient.py b/scripts/openlp-remoteclient.py index 34fef44a8..11868e292 100644 --- a/scripts/openlp-remoteclient.py +++ b/scripts/openlp-remoteclient.py @@ -5,11 +5,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/scripts/resources.patch b/scripts/resources.patch index cfcf4e37e..f80d31d73 100644 --- a/scripts/resources.patch +++ b/scripts/resources.patch @@ -1,9 +1,9 @@ ---- openlp/core/resources.py.old Mon Jun 21 23:16:19 2010 -+++ openlp/core/resources.py Mon Jun 21 23:27:48 2010 +--- openlp/core/resources.py.old Mon Jun 21 23:16:19 2010 ++++ openlp/core/resources.py Mon Jun 21 23:27:48 2010 @@ -1,10 +1,32 @@ # -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - + -# Resource object code -# -# @@ -12,11 +12,11 @@ +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # -+# Copyright (c) 2008-2010 Raoul Snyman # -+# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -+# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -+# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -+# Carsten Tinggaard, Frode Woldsund # ++# Copyright (c) 2008-2011 Raoul Snyman # ++# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # ++# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # ++# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # ++# Tibble, Carsten Tinggaard, Frode Woldsund # +# --------------------------------------------------------------------------- # +# 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 # @@ -36,11 +36,11 @@ +store for use by OpenLP. +""" from PyQt4 import QtCore - + qt_resource_data = "\ @@ -48643,9 +48664,16 @@ " - + def qInitResources(): - QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + """ @@ -48,7 +48,7 @@ + """ + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, + qt_resource_data) - + def qCleanupResources(): - QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + """ @@ -56,5 +56,5 @@ + """ + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, + qt_resource_data) - + -qInitResources() diff --git a/scripts/translation_utils.py b/scripts/translation_utils.py index 495732085..df8d5dc5e 100755 --- a/scripts/translation_utils.py +++ b/scripts/translation_utils.py @@ -5,11 +5,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index 1af85853d..b4085712f 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -4,11 +4,11 @@ ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # diff --git a/setup.py b/setup.py index 205688f1e..98e9d40fd 100755 --- a/setup.py +++ b/setup.py @@ -7,9 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, Frode Woldsund # +# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, # +# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon # +# Tibble, Carsten Tinggaard, Frode Woldsund # # --------------------------------------------------------------------------- # # 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 # @@ -78,4 +78,4 @@ OpenLP (previously openlp.org) is free church presentation software, or lyrics p entry_points=""" # -*- Entry points: -*- """ -) \ No newline at end of file +) From 2c9d52de8ccf2f9d49815b7577955f8a230b4548 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Thu, 24 Feb 2011 15:20:35 +0100 Subject: [PATCH 53/90] --- openlp/plugins/bibles/lib/csvbible.py | 2 -- openlp/plugins/bibles/lib/db.py | 4 +++- openlp/plugins/bibles/lib/openlp1.py | 2 -- openlp/plugins/bibles/lib/opensong.py | 2 -- openlp/plugins/bibles/lib/osis.py | 9 ++++----- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/openlp/plugins/bibles/lib/csvbible.py b/openlp/plugins/bibles/lib/csvbible.py index 82872e15b..0b7f69c8f 100644 --- a/openlp/plugins/bibles/lib/csvbible.py +++ b/openlp/plugins/bibles/lib/csvbible.py @@ -94,8 +94,6 @@ class CSVBible(BibleDB): self.testamentsfile = None self.booksfile = kwargs[u'booksfile'] self.versesfile = kwargs[u'versefile'] - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'openlp_stop_wizard'), self.stop_import) def setup_testaments(self): """ diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index b986b0d66..11a5eafc3 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -33,7 +33,7 @@ from sqlalchemy import Column, ForeignKey, or_, Table, types from sqlalchemy.orm import class_mapper, mapper, relation from sqlalchemy.orm.exc import UnmappedClassError -from openlp.core.lib import translate +from openlp.core.lib import Receiver, translate from openlp.core.lib.db import BaseModel, init_db, Manager from openlp.core.lib.ui import critical_error_message_box @@ -162,6 +162,8 @@ class BibleDB(QtCore.QObject, Manager): if u'file' in kwargs: self.get_name() self.wizard = None + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'openlp_stop_wizard'), self.stop_import) def stop_import(self): """ diff --git a/openlp/plugins/bibles/lib/openlp1.py b/openlp/plugins/bibles/lib/openlp1.py index 73b7eb91a..438a4eb67 100644 --- a/openlp/plugins/bibles/lib/openlp1.py +++ b/openlp/plugins/bibles/lib/openlp1.py @@ -46,8 +46,6 @@ class OpenLP1Bible(BibleDB): log.debug(self.__class__.__name__) BibleDB.__init__(self, parent, **kwargs) self.filename = kwargs[u'filename'] - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'openlp_stop_wizard'), self.stop_import) def do_import(self): """ diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index 9a0fd110d..4924b1259 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -46,8 +46,6 @@ class OpenSongBible(BibleDB): log.debug(self.__class__.__name__) BibleDB.__init__(self, parent, **kwargs) self.filename = kwargs['filename'] - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'openlp_stop_wizard'), self.stop_import) def do_import(self): """ diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 347730bf4..2900e2c32 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -41,14 +41,15 @@ log = logging.getLogger(__name__) class OSISBible(BibleDB): """ - OSIS Bible format importer class. + Bible importer class for the `OSIS <http://www.bibletechnologies.net/>`_ + format. For the xml specifications see the `Zefania XML Bible Markup + <http://bgfdb.de/zefaniaxml/bml/>`_ documentation. """ log.info(u'BibleOSISImpl loaded') def __init__(self, parent, **kwargs): """ - Constructor to create and set up an instance of the OpenSongBible - class. This class is used to import Bibles from OpenSong's XML format. + This class is used to import Bibles from the OSIS XML format. """ log.debug(self.__class__.__name__) BibleDB.__init__(self, parent, **kwargs) @@ -86,8 +87,6 @@ class OSISBible(BibleDB): finally: if fbibles: fbibles.close() - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'openlp_stop_wizard'), self.stop_import) def do_import(self): """ From 63099832ad80bf8d4ac2a4f8e904f8b2b7723f40 Mon Sep 17 00:00:00 2001 From: Tim Bentley <tim.bentley@gmail.com> Date: Thu, 24 Feb 2011 16:55:17 +0000 Subject: [PATCH 54/90] Fix order --- openlp/core/ui/mainwindow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 9071016e8..eb9ce530e 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -279,7 +279,7 @@ class Ui_MainWindow(object): add_actions(self.SettingsLanguageMenu, self.LanguageGroup.actions()) add_actions(self.SettingsMenu, (self.settingsPluginListItem, self.SettingsLanguageMenu.menuAction(), None, - self.SettingsShortcutsItem, self.DisplayTagItem, + self.DisplayTagItem, self.SettingsShortcutsItem, self.SettingsConfigureItem)) add_actions(self.ToolsMenu, (self.ToolsAddToolItem, None)) add_actions(self.ToolsMenu, (self.ToolsOpenDataFolder, None)) From a2e0ecf314bf03d1f162154e9d136ee108779128 Mon Sep 17 00:00:00 2001 From: Jon Tibble <meths@btinternet.com> Date: Thu, 24 Feb 2011 19:13:51 +0000 Subject: [PATCH 55/90] Fix acknowledged missing verses --- openlp/plugins/bibles/lib/http.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 064a6064d..60b515f88 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -236,8 +236,20 @@ class BGExtract(object): while found_count < verse_count: content = content.findNext(u'sup', u'versenum') raw_verse_num = content.next - raw_verse_text = raw_verse_num.next - verse_list[int(str(raw_verse_num))] = unicode(raw_verse_text) + clean_verse_num = 0 + # Not all verses exist in all translations and may or may not be + # represented by a verse number. If they are not fine, if they are + # it will probably be in a format that breaks int(). We will then + # have no idea what garbage may be sucked in to the verse text so + # if we do not get a clean int() then ignore the verse completely. + try: + clean_verse_num = int(str(raw_verse_num)) + except ValueError: + log.exception(u'Illegal verse number in %s %s %s:%s', + version, bookname, chapter, unicode(raw_verse_num)) + if clean_verse_num: + raw_verse_text = raw_verse_num.next + verse_list[clean_verse_num] = unicode(raw_verse_text) found_count += 1 return SearchResults(bookname, chapter, verse_list) From ff0e1266a7cc33056a207b2ff92608ebddf5962b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= <orangeshirt@web.de> Date: Thu, 24 Feb 2011 21:56:31 +0100 Subject: [PATCH 56/90] changed the handling of author unknown --- openlp/plugins/songs/lib/foilpresenterimport.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 25d5ae69c..7b555ac23 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -94,11 +94,10 @@ import os from lxml import etree, objectify from openlp.core.ui.wizard import WizardStrings -from openlp.plugins.songs.lib import VerseType +from openlp.plugins.songs.lib import add_author_unknown, VerseType from openlp.plugins.songs.lib.songimport import SongImport from openlp.plugins.songs.lib.db import Author, Book, Song, Topic from openlp.plugins.songs.lib.xml import SongXML -from openlp.plugins.songs.lib.ui import SongStrings log = logging.getLogger(__name__) @@ -293,13 +292,13 @@ class FoilPresenter(object): if copyright.find(u'Rechte') != -1: temp = copyright.partition(u'Rechte') copyright = temp[0] - markers = [u'Text +u\.?n?d? +Melodie[a-zA-Z0-9\,\. ]*:', + markers = [u'Text +u\.?n?d? +Melodie[\w\,\. ]*:', u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', - u'Text[a-zA-Z0-9\,\. ]*:', u'Melodie', u'Musik', u'Satz', + u'Text[\w\,\. ]*:', u'Melodie', u'Musik', u'Satz', u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] for marker in markers: - copyright = re.compile(marker).sub(u'<marker>', copyright) + copyright = re.compile(marker).sub(u'<marker>', copyright, re.U) copyright = re.compile(u'(?<=<marker>) *:').sub(u'', copyright) i = 0 x = 0 @@ -338,8 +337,6 @@ class FoilPresenter(object): authors.append(tempx) elif (len(author) > 2): authors.append(author) - if not authors: - authors.append(SongStrings.AuthorUnknown) for display_name in authors: author = self.manager.get_object_filtered(Author, Author.display_name == display_name) @@ -350,6 +347,8 @@ class FoilPresenter(object): first_name = u' '.join(display_name.split(u' ')[:-1])) self.manager.save_object(author) song.authors.append(author) + if not song.authors: + add_author_unknown(self.manager, song) def _process_cclinumber(self, foilpresenterfolie, song): """ From 4cac889279f3582d41345cf59326e57c6db5c752 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Thu, 24 Feb 2011 22:07:12 +0100 Subject: [PATCH 57/90] fix bug, clean ups --- openlp/plugins/bibles/lib/manager.py | 10 ---------- openlp/plugins/bibles/lib/mediaitem.py | 8 ++------ 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 251ce350b..1f56ef932 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -46,16 +46,6 @@ except ImportError: log = logging.getLogger(__name__) -class BibleMode(object): - """ - This is basically an enumeration class which specifies the mode of a Bible. - Mode refers to whether or not a Bible in OpenLP is a full Bible or needs to - be downloaded from the Internet on an as-needed basis. - """ - Full = 1 - Partial = 2 - - class BibleFormat(object): """ This is a special enumeration class that holds the various types of Bibles, diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index e7cf273c1..ab7897828 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -482,7 +482,7 @@ class BibleMediaItem(MediaManagerItem): self.listView.clear() if self.listView.count() != 0: self.__checkSecondBible(bible, second_bible) - else: + elif self.search_results: self.displayResults(bible, second_bible) Receiver.send_message(u'cursor_normal') self.advancedSearchButton.setEnabled(True) @@ -698,11 +698,7 @@ class BibleMediaItem(MediaManagerItem): service_item.add_capability(ItemCapabilities.AllowsPreview) service_item.add_capability(ItemCapabilities.AllowsLoop) # Service Item: Title - for title in raw_title: - if not service_item.title: - service_item.title = title - else: - service_item.title += u', ' + title + service_item.title = u', '.join(raw_title) # Service Item: Theme if len(self.settings.bible_theme) == 0: service_item.theme = None From f91713b2ef7dec0ace759802966f4617a1dcf8cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= <orangeshirt@web.de> Date: Thu, 24 Feb 2011 22:27:14 +0100 Subject: [PATCH 58/90] removed double space and control line length --- openlp/plugins/songs/lib/foilpresenterimport.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 7b555ac23..1a2aaa18d 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -298,7 +298,7 @@ class FoilPresenter(object): u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] for marker in markers: - copyright = re.compile(marker).sub(u'<marker>', copyright, re.U) + copyright = re.compile(marker).sub(u'<marker>', copyright, re.U) copyright = re.compile(u'(?<=<marker>) *:').sub(u'', copyright) i = 0 x = 0 From 83fba055d5e712b6c9ca3d3b0db9841e3d0685aa Mon Sep 17 00:00:00 2001 From: Jon Tibble <meths@btinternet.com> Date: Fri, 25 Feb 2011 01:03:25 +0000 Subject: [PATCH 59/90] Fix non-saving OpenLyrics authors --- openlp/plugins/songs/lib/xml.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 91111e40a..a2a73ec97 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -381,6 +381,7 @@ class OpenLyrics(object): author = Author.populate(display_name=display_name, last_name=display_name.split(u' ')[-1], first_name=u' '.join(display_name.split(u' ')[:-1])) + song.authors.append(author) if not song.authors: add_author_unknown(self.manager, song) From 6bcbd3526e87a7926daca66923d72196dd9a8b4f Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Fri, 25 Feb 2011 08:16:32 +0200 Subject: [PATCH 60/90] Fixed bug #700859: Bible importers do not clean up properly after a failed import. --- openlp/plugins/bibles/forms/bibleimportform.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/plugins/bibles/forms/bibleimportform.py b/openlp/plugins/bibles/forms/bibleimportform.py index fc37fad58..aea7c62e0 100644 --- a/openlp/plugins/bibles/forms/bibleimportform.py +++ b/openlp/plugins/bibles/forms/bibleimportform.py @@ -739,6 +739,7 @@ class BibleImportForm(OpenLPWizard): name=license_version, filename=unicode(self.field(u'openlp1_location').toString()) ) + bible_name = importer.name if importer.do_import(): self.manager.save_meta_data(license_version, license_version, license_copyright, license_permissions) @@ -754,3 +755,4 @@ class BibleImportForm(OpenLPWizard): self.progressLabel.setText(translate( 'BiblesPlugin.ImportWizardForm', 'Your Bible import failed.')) delete_database(self.plugin.settingsSection, importer.file) + del self.manager.db_cache[bible_name] From 5f48a38769e7c44755478fee3868645954427846 Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Fri, 25 Feb 2011 08:24:35 +0200 Subject: [PATCH 61/90] Removed the need for the extra variable. --- openlp/plugins/bibles/forms/bibleimportform.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/bibles/forms/bibleimportform.py b/openlp/plugins/bibles/forms/bibleimportform.py index aea7c62e0..67996e158 100644 --- a/openlp/plugins/bibles/forms/bibleimportform.py +++ b/openlp/plugins/bibles/forms/bibleimportform.py @@ -739,7 +739,6 @@ class BibleImportForm(OpenLPWizard): name=license_version, filename=unicode(self.field(u'openlp1_location').toString()) ) - bible_name = importer.name if importer.do_import(): self.manager.save_meta_data(license_version, license_version, license_copyright, license_permissions) @@ -754,5 +753,5 @@ class BibleImportForm(OpenLPWizard): else: self.progressLabel.setText(translate( 'BiblesPlugin.ImportWizardForm', 'Your Bible import failed.')) + del self.manager.db_cache[importer.name] delete_database(self.plugin.settingsSection, importer.file) - del self.manager.db_cache[bible_name] From 0dbc1c6e1a06375b5968587995309907049ed7f4 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Fri, 25 Feb 2011 17:29:03 +0100 Subject: [PATCH 62/90] different clean ups --- .../plugins/songs/lib/foilpresenterimport.py | 8 +++---- openlp/plugins/songs/lib/mediaitem.py | 23 +++++-------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 1a2aaa18d..e232d7d2f 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -133,6 +133,7 @@ class FoilPresenterImport(SongImport): log.exception(u'XML syntax error in file %s' % file_path) return True + class FoilPresenter(object): """ This class represents the converter for Foilpresenter XML from a song. @@ -259,7 +260,6 @@ class FoilPresenter(object): copyright = None if copyright: strings = [] - author_temp = [] if copyright.find(u'Copyright') != -1: temp = copyright.partition(u'Copyright') copyright = temp[0] @@ -305,7 +305,7 @@ class FoilPresenter(object): while i != 1: if copyright.find(u'<marker>') != -1: temp = copyright.partition(u'<marker>') - if (temp[0].strip() != u'') & (x > 0): + if temp[0].strip() and x > 0: strings.append(temp[0]) copyright = temp[2] x += 1 @@ -330,12 +330,12 @@ class FoilPresenter(object): author = author.strip() if re.search( u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s', - author, re.U) != None: + author, re.U): temp = re.split(u'\s[a|u]nd\s|\s&\s', author) for tempx in temp: tempx = tempx.strip() authors.append(tempx) - elif (len(author) > 2): + elif len(author) > 2: authors.append(author) for display_name in authors: author = self.manager.get_object_filtered(Author, diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 1bf00b403..37579ce1d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -218,13 +218,9 @@ class SongMediaItem(MediaManagerItem): self.listView.clear() searchresults.sort(cmp=self.collateSongTitles) for song in searchresults: - author_list = u'' - for author in song.authors: - if author_list != u'': - author_list = author_list + u', ' - author_list = author_list + author.display_name + author_list = [author.display_name for author in song.authors] song_title = unicode(song.title) - song_detail = u'%s (%s)' % (song_title, author_list) + song_detail = u'%s (%s)' % (song_title, u', '.join(author_list)) song_name = QtGui.QListWidgetItem(song_detail) song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) self.listView.addItem(song_name) @@ -334,9 +330,6 @@ class SongMediaItem(MediaManagerItem): def generateSlideData(self, service_item, item=None, xmlVersion=False): log.debug(u'generateSlideData (%s:%s)' % (service_item, item)) raw_footer = [] - author_list = u'' - author_audit = [] - ccli = u'' item_id = self._getIdOfItemToGenerate(item, self.remoteSong) service_item.add_capability(ItemCapabilities.AllowsEdit) service_item.add_capability(ItemCapabilities.AllowsPreview) @@ -397,13 +390,9 @@ class SongMediaItem(MediaManagerItem): for slide in verses: service_item.add_from_text(slide[:30], unicode(slide)) service_item.title = song.title - for author in song.authors: - if len(author_list) > 1: - author_list = author_list + u', ' - author_list = author_list + unicode(author.display_name) - author_audit.append(unicode(author.display_name)) + author_list = [unicode(author.display_name) for author in song.authors] raw_footer.append(song.title) - raw_footer.append(author_list) + raw_footer.append(u', '.join(author_list)) raw_footer.append(song.copyright) if QtCore.QSettings().value(u'general/ccli number', QtCore.QVariant(u'')).toString(): @@ -413,10 +402,10 @@ class SongMediaItem(MediaManagerItem): QtCore.QVariant(u'')).toString())) service_item.raw_footer = raw_footer service_item.audit = [ - song.title, author_audit, song.copyright, unicode(song.ccli_number) + song.title, author_list, song.copyright, unicode(song.ccli_number) ] service_item.data_string = {u'title': song.search_title, - u'authors': author_list} + u'authors': u', '.join(author_list)} service_item.xml_version = self.openLyrics.song_to_xml(song) return True From 0ed7e259fc86585ed65fa24ff7ba050f2ec9fa2d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Fri, 25 Feb 2011 18:05:01 +0100 Subject: [PATCH 63/90] removed white spaces --- openlp/core/lib/__init__.py | 4 ++-- openlp/core/lib/db.py | 10 +++++----- openlp/core/lib/settingsmanager.py | 8 ++++---- openlp/core/lib/ui.py | 14 +++++++------- openlp/core/theme/theme.py | 8 ++++---- openlp/core/ui/displaytagform.py | 2 +- openlp/core/ui/generaltab.py | 2 +- openlp/core/ui/thememanager.py | 6 +++--- openlp/core/utils/__init__.py | 4 ++-- openlp/plugins/bibles/lib/db.py | 2 +- openlp/plugins/bibles/lib/http.py | 10 +++++----- openlp/plugins/bibles/lib/manager.py | 2 +- openlp/plugins/media/mediaplugin.py | 2 +- .../plugins/presentations/lib/impresscontroller.py | 4 ++-- .../presentations/lib/presentationcontroller.py | 2 +- openlp/plugins/remotes/lib/httpserver.py | 2 +- openlp/plugins/songs/forms/editsongform.py | 6 +++--- openlp/plugins/songs/lib/easislidesimport.py | 2 +- openlp/plugins/songs/lib/ewimport.py | 4 ++-- openlp/plugins/songs/lib/foilpresenterimport.py | 4 ++-- openlp/plugins/songs/lib/mediaitem.py | 2 +- openlp/plugins/songs/lib/songimport.py | 2 +- 22 files changed, 51 insertions(+), 51 deletions(-) diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index 89ecaf3be..dc60a5a65 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -106,8 +106,8 @@ def translate(context, text, comment=None, def get_text_file_string(text_file): """ - Open a file and return its content as unicode string. If the supplied file - name is not a file then the function returns False. If there is an error + Open a file and return its content as unicode string. If the supplied file + name is not a file then the function returns False. If there is an error loading the file or the content can't be decoded then the function will return None. diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index 62150cce3..f6a7fdaad 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -65,7 +65,7 @@ def delete_database(plugin_name, db_file_name=None): The name of the plugin to remove the database for ``db_file_name`` - The database file name. Defaults to None resulting in the + The database file name. Defaults to None resulting in the plugin_name being used. """ db_file_path = None @@ -107,7 +107,7 @@ class Manager(object): The init_schema function for this database ``db_file_name`` - The file name to use for this database. Defaults to None resulting + The file name to use for this database. Defaults to None resulting in the plugin_name being used. """ settings = QtCore.QSettings() @@ -211,11 +211,11 @@ class Manager(object): The type of objects to return ``filter_clause`` - The filter governing selection of objects to return. Defaults to + The filter governing selection of objects to return. Defaults to None. ``order_by_ref`` - Any parameters to order the returned objects by. Defaults to None. + Any parameters to order the returned objects by. Defaults to None. """ query = self.session.query(object_class) if filter_clause is not None: @@ -232,7 +232,7 @@ class Manager(object): The type of objects to return. ``filter_clause`` - The filter governing selection of objects to return. Defaults to + The filter governing selection of objects to return. Defaults to None. """ query = self.session.query(object_class) diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py index 3d8d8059e..d09497540 100644 --- a/openlp/core/lib/settingsmanager.py +++ b/openlp/core/lib/settingsmanager.py @@ -64,7 +64,7 @@ class SettingsManager(object): Read the last directory used for plugin. ``section`` - The section of code calling the method. This is used in the + The section of code calling the method. This is used in the settings key. ``num`` @@ -84,7 +84,7 @@ class SettingsManager(object): Save the last directory used for plugin. ``section`` - The section of code calling the method. This is used in the + The section of code calling the method. This is used in the settings key. ``directory`` @@ -160,11 +160,11 @@ class SettingsManager(object): Get a list of files from the data files path. ``section`` - Defaults to *None*. The section of code getting the files - used + Defaults to *None*. The section of code getting the files - used to load from a section's data subdirectory. ``extension`` - Defaults to *None*. The extension to search for. + Defaults to *None*. The extension to search for. """ path = AppLocation.get_data_path() if section: diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index c127d810d..eae4f60ca 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -130,7 +130,7 @@ def create_accept_reject_button_box(parent, okay=False): methods to handle the default ``accepted()`` and ``rejected()`` signals. ``parent`` - The parent object. This should be a ``QWidget`` descendant. + The parent object. This should be a ``QWidget`` descendant. ``okay`` If true creates an okay/cancel combination instead of save/cancel. @@ -185,15 +185,15 @@ def media_item_combo_box(parent, name): def create_delete_push_button(parent, icon=None): """ - Creates a standard push button with a delete label and optional icon. The + Creates a standard push button with a delete label and optional icon. The button is connected to the parent's ``onDeleteButtonClicked()`` method to handle the ``clicked()`` signal. ``parent`` - The parent object. This should be a ``QWidget`` descendant. + The parent object. This should be a ``QWidget`` descendant. ``icon`` - An icon to display on the button. This can be either a ``QIcon``, a + An icon to display on the button. This can be either a ``QIcon``, a resource path or a file name. """ delete_button = QtGui.QPushButton(parent) @@ -210,12 +210,12 @@ def create_delete_push_button(parent, icon=None): def create_up_down_push_button_set(parent): """ Creates a standard set of two push buttons, one for up and the other for - down, for use with lists. The buttons use arrow icons and no text and are + down, for use with lists. The buttons use arrow icons and no text and are connected to the parent's ``onUpButtonClicked()`` and ``onDownButtonClicked()`` to handle their respective ``clicked()`` signals. ``parent`` - The parent object. This should be a ``QWidget`` descendant. + The parent object. This should be a ``QWidget`` descendant. """ up_button = QtGui.QPushButton(parent) up_button.setIcon(build_icon(u':/services/service_up.png')) @@ -295,7 +295,7 @@ def create_valign_combo(form, parent, layout): The UI screen that the label and combo will appear on. ``parent`` - The parent object. This should be a ``QWidget`` descendant. + The parent object. This should be a ``QWidget`` descendant. ``layout`` A layout object to add the label and combo widgets to. diff --git a/openlp/core/theme/theme.py b/openlp/core/theme/theme.py index 17217113a..bb6b25a9e 100644 --- a/openlp/core/theme/theme.py +++ b/openlp/core/theme/theme.py @@ -92,7 +92,7 @@ class Theme(object): * ``solid`` - color ``BackgroundParameter2`` - Extra information about the background. The contents of this attribute + Extra information about the background. The contents of this attribute depend on the BackgroundType: * ``image`` - border color @@ -100,7 +100,7 @@ class Theme(object): * ``solid`` - N/A ``BackgroundParameter3`` - Extra information about the background. The contents of this attribute + Extra information about the background. The contents of this attribute depend on the BackgroundType: * ``image`` - N/A @@ -142,7 +142,7 @@ class Theme(object): Color for the outline (or None if Outline is 0) ``HorizontalAlign`` - The horizontal alignment to apply to text. Valid alignments are: + The horizontal alignment to apply to text. Valid alignments are: * ``0`` - left align * ``1`` - right align @@ -156,7 +156,7 @@ class Theme(object): * ``2`` - centre align ``WrapStyle`` - The wrap style to apply to the text. Valid styles are: + The wrap style to apply to the text. Valid styles are: * ``0`` - normal * ``1`` - lyrics diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py index 114a52bf6..e29fe3384 100644 --- a/openlp/core/ui/displaytagform.py +++ b/openlp/core/ui/displaytagform.py @@ -72,7 +72,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog): def preLoad(self): """ Load the Tags from store so can be used in the system or used to - update the display. If Cancel was selected this is needed to reset the + update the display. If Cancel was selected this is needed to reset the dsiplay to the correct version. """ # Initial Load of the Tags diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index f2bcbbe7e..4eacc5959 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -45,7 +45,7 @@ class ValidEdit(QtGui.QLineEdit): def validText(self): """ - Only return Integers. Space is 0 + Only return Integers. Space is 0 """ if self.text().isEmpty(): return QtCore.QString(u'0') diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 974f98f61..0e04d7b46 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -266,7 +266,7 @@ class ThemeManager(QtGui.QWidget): oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString()) self.fileRenameForm.fileNameEdit.setText(oldThemeName) if self.fileRenameForm.exec_(): - newThemeName = unicode(self.fileRenameForm.fileNameEdit.text()) + newThemeName = unicode(self.fileRenameForm.fileNameEdit.text()) if self.checkIfThemeExists(newThemeName): oldThemeData = self.getThemeData(oldThemeName) self.cloneThemeData(oldThemeData, newThemeName) @@ -284,7 +284,7 @@ class ThemeManager(QtGui.QWidget): oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString()) self.fileRenameForm.fileNameEdit.setText(oldThemeName) if self.fileRenameForm.exec_(True): - newThemeName = unicode(self.fileRenameForm.fileNameEdit.text()) + newThemeName = unicode(self.fileRenameForm.fileNameEdit.text()) if self.checkIfThemeExists(newThemeName): themeData = self.getThemeData(oldThemeName) self.cloneThemeData(themeData, newThemeName) @@ -399,7 +399,7 @@ class ThemeManager(QtGui.QWidget): def onImportTheme(self): """ Opens a file dialog to select the theme file(s) to import before - attempting to extract OpenLP themes from those files. This process + attempting to extract OpenLP themes from those files. This process will load both OpenLP version 1 and version 2 themes. """ files = QtGui.QFileDialog.getOpenFileNames(self, diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 86372e080..70b994653 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -242,7 +242,7 @@ def add_actions(target, actions): The menu or toolbar to add actions to. ``actions`` - The actions to be added. An action consisting of the keyword 'None' + The actions to be added. An action consisting of the keyword 'None' will result in a separator being inserted into the target. """ for action in actions: @@ -318,7 +318,7 @@ def get_web_page(url, header=None, update_openlp=False): Tells OpenLP to update itself if the page is successfully downloaded. Defaults to False. """ - # TODO: Add proxy usage. Get proxy info from OpenLP settings, add to a + # TODO: Add proxy usage. Get proxy info from OpenLP settings, add to a # proxy_handler, build into an opener and install the opener into urllib2. # http://docs.python.org/library/urllib2.html if not url: diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index 63dd15466..5cf000ee1 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -322,7 +322,7 @@ class BibleDB(QtCore.QObject, Manager): def get_books(self): """ A wrapper so both local and web bibles have a get_books() method that - manager can call. Used in the media manager advanced search tab. + manager can call. Used in the media manager advanced search tab. """ return self.get_all_objects(Book, order_by_ref=Book.id) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 60b515f88..e13985e4b 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -238,8 +238,8 @@ class BGExtract(object): raw_verse_num = content.next clean_verse_num = 0 # Not all verses exist in all translations and may or may not be - # represented by a verse number. If they are not fine, if they are - # it will probably be in a format that breaks int(). We will then + # represented by a verse number. If they are not fine, if they are + # it will probably be in a format that breaks int(). We will then # have no idea what garbage may be sucked in to the verse text so # if we do not get a clean int() then ignore the verse completely. try: @@ -384,7 +384,7 @@ class HTTPBible(BibleDB): BibleDB.__init__(self, parent, **kwargs) self.download_source = kwargs[u'download_source'] self.download_name = kwargs[u'download_name'] - # TODO: Clean up proxy stuff. We probably want one global proxy per + # TODO: Clean up proxy stuff. We probably want one global proxy per # connection type (HTTP and HTTPS) at most. self.proxy_server = None self.proxy_username = None @@ -458,8 +458,8 @@ class HTTPBible(BibleDB): search_results = self.get_chapter(book, reference[1]) if search_results and search_results.has_verselist(): ## We have found a book of the bible lets check to see - ## if it was there. By reusing the returned book name - ## we get a correct book. For example it is possible + ## if it was there. By reusing the returned book name + ## we get a correct book. For example it is possible ## to request ac and get Acts back. bookname = search_results.book Receiver.send_message(u'openlp_process_events') diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 251ce350b..6794ec1ba 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -275,7 +275,7 @@ class BibleManager(object): 'Scripture Reference Error'), u'message': translate('BiblesPlugin.BibleManager', 'Your scripture reference is either not supported by OpenLP ' - 'or is invalid. Please make sure your reference conforms to ' + 'or is invalid. Please make sure your reference conforms to ' 'one of the following patterns:\n\n' 'Book Chapter\n' 'Book Chapter-Chapter\n' diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index ac3a2636b..3438f0279 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -63,7 +63,7 @@ class MediaPlugin(Plugin): if ext not in list: list.append(ext) self.serviceManager.supportedSuffixes(extension[1:]) - log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, + log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) def about(self): diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index 2880bd27a..48fb85ed3 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -211,8 +211,8 @@ class ImpressDocument(PresentationDocument): """ Called when a presentation is added to the SlideController. It builds the environment, starts communcations with the background - OpenOffice task started earlier. If OpenOffice is not present is is - started. Once the environment is available the presentation is loaded + OpenOffice task started earlier. If OpenOffice is not present is is + started. Once the environment is available the presentation is loaded and started. ``presentation`` diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index d995baa8c..bd37746c1 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -357,7 +357,7 @@ class PresentationController(object): def __init__(self, plugin=None, name=u'PresentationController', document_class=PresentationDocument): """ - This is the constructor for the presentationcontroller object. This + This is the constructor for the presentationcontroller object. This provides an easy way for descendent plugins to populate common data. This method *must* be overridden, like so:: diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 173c89e13..c92569a4a 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -43,7 +43,7 @@ log = logging.getLogger(__name__) class HttpServer(object): """ Ability to control OpenLP via a webbrowser - e.g. http://localhost:4316/send/slidecontroller_live_next + e.g. http://localhost:4316/send/slidecontroller_live_next http://localhost:4316/send/alerts_text?q=your%20alert%20text """ def __init__(self, parent): diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index ef47e5694..0e874c3d5 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -557,7 +557,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): """ Check the validity of the song. """ - # This checks data in the form *not* self.song. self.song is still + # This checks data in the form *not* self.song. self.song is still # None at this point. log.debug(u'Validate Song') # Lets be nice and assume the data is correct. @@ -714,14 +714,14 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def saveSong(self, preview=False): """ Get all the data from the widgets on the form, and then save it to the - database. The form has been validated and all reference items + database. The form has been validated and all reference items (Authors, Books and Topics) have been saved before this function is called. ``preview`` Should be ``True`` if the song is also previewed (boolean). """ - # The Song() assignment. No database calls should be made while a + # The Song() assignment. No database calls should be made while a # Song() is in a partially complete state. if not self.song: self.song = Song() diff --git a/openlp/plugins/songs/lib/easislidesimport.py b/openlp/plugins/songs/lib/easislidesimport.py index 67f889898..c4683765b 100644 --- a/openlp/plugins/songs/lib/easislidesimport.py +++ b/openlp/plugins/songs/lib/easislidesimport.py @@ -96,7 +96,7 @@ class EasiSlidesImport(SongImport): mandatory=False): """ Add imported values to the song model converting them to unicode at the - same time. If the unicode decode fails or a mandatory attribute is not + same time. If the unicode decode fails or a mandatory attribute is not present _success is set to False so the importer can react appropriately. diff --git a/openlp/plugins/songs/lib/ewimport.py b/openlp/plugins/songs/lib/ewimport.py index 2119cc245..1f4ded5bd 100644 --- a/openlp/plugins/songs/lib/ewimport.py +++ b/openlp/plugins/songs/lib/ewimport.py @@ -72,7 +72,7 @@ def strip_rtf(blob, encoding): elif control_str == 'tab': clear_text.append(u'\t') # Prefer the encoding specified by the RTF data to that - # specified by the Paradox table header + # specified by the Paradox table header # West European encoding elif control_str == 'fcharset0': encoding = u'cp1252' @@ -163,7 +163,7 @@ class EasyWorshipSongImport(SongImport): if code_page == 852: self.encoding = u'cp1250' # The following codepage to actual encoding mappings have not been - # observed, but merely guessed. Actual example files are needed. + # observed, but merely guessed. Actual example files are needed. elif code_page == 737: self.encoding = u'cp1253' elif code_page == 775: diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index e232d7d2f..c0f9f093d 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -296,7 +296,7 @@ class FoilPresenter(object): u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz', u'Text[\w\,\. ]*:', u'Melodie', u'Musik', u'Satz', u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch', - u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] + u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain'] for marker in markers: copyright = re.compile(marker).sub(u'<marker>', copyright, re.U) copyright = re.compile(u'(?<=<marker>) *:').sub(u'', copyright) @@ -411,7 +411,7 @@ class FoilPresenter(object): temp_verse_order_backup = [] temp_sortnr_backup = 1 temp_sortnr_liste = [] - versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, + versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1, u'P': 1} for strophe in foilpresenterfolie.strophen.strophe: text = self._child(strophe.text_) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 37579ce1d..d9e9b3063 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -199,7 +199,7 @@ class SongMediaItem(MediaManagerItem): """ log.debug(u'onSongListLoad') # Called to redisplay the song list screen edit from a search - # or from the exit of the Song edit dialog. If remote editing is active + # or from the exit of the Song edit dialog. If remote editing is active # Trigger it and clean up so it will not update again. if self.remoteTriggered == u'L': self.onAddClick() diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 0212184f8..5bfba9b77 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -347,7 +347,7 @@ class SongImport(QtCore.QObject): """ For debugging """ - print u'========================================' \ + print u'========================================' \ + u'========================================' print u'TITLE: ' + self.title print u'ALT TITLE: ' + self.alternate_title From 123b1beded13310a55e8da0c370160742d1750f8 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Fri, 25 Feb 2011 18:27:06 +0100 Subject: [PATCH 64/90] added missing lines --- openlp/core/lib/db.py | 1 + openlp/core/lib/theme.py | 3 +++ openlp/plugins/presentations/lib/messagelistener.py | 1 + openlp/plugins/songs/lib/ewimport.py | 1 + openlp/plugins/songs/lib/mediaitem.py | 1 + openlp/plugins/songs/lib/opensongimport.py | 1 - 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index f6a7fdaad..c92f992c8 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -91,6 +91,7 @@ class BaseModel(object): instance.__setattr__(key, kwargs[key]) return instance + class Manager(object): """ Provide generic object persistence management diff --git a/openlp/core/lib/theme.py b/openlp/core/lib/theme.py index 6f97c0608..ef26ca842 100644 --- a/openlp/core/lib/theme.py +++ b/openlp/core/lib/theme.py @@ -91,6 +91,7 @@ class ThemeLevel(object): Service = 2 Song = 3 + class BackgroundType(object): """ Type enumeration for backgrounds. @@ -123,6 +124,7 @@ class BackgroundType(object): elif type_string == u'image': return BackgroundType.Image + class BackgroundGradientType(object): """ Type enumeration for background gradients. @@ -200,6 +202,7 @@ INTEGER_LIST = [u'size', u'line_adjustment', u'x', u'height', u'y', u'width', u'shadow_size', u'outline_size', u'horizontal_align', u'vertical_align', u'wrap_style'] + class ThemeXML(object): """ A class to encapsulate the Theme XML. diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index cf43566ae..4db78f7a5 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -213,6 +213,7 @@ class Controller(object): def poll(self): self.doc.poll_slidenumber(self.is_live) + class MessageListener(object): """ This is the Presentation listener who acts on events from the slide diff --git a/openlp/plugins/songs/lib/ewimport.py b/openlp/plugins/songs/lib/ewimport.py index 1f4ded5bd..880c7f547 100644 --- a/openlp/plugins/songs/lib/ewimport.py +++ b/openlp/plugins/songs/lib/ewimport.py @@ -129,6 +129,7 @@ class FieldDescEntry: self.type = type self.size = size + class EasyWorshipSongImport(SongImport): """ The :class:`EasyWorshipSongImport` class provides OpenLP with the diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index d9e9b3063..d29e18c1d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -53,6 +53,7 @@ class SongSearch(object): Authors = 4 Themes = 5 + class SongMediaItem(MediaManagerItem): """ This is the custom media manager item for Songs. diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 8fddf5e4f..4da1234a5 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -36,7 +36,6 @@ from openlp.plugins.songs.lib.songimport import SongImport log = logging.getLogger(__name__) -#TODO: Use lxml for parsing and make sure we use methods of "SongImport" . class OpenSongImport(SongImport): """ Import songs exported from OpenSong From c12b84fa38417f4b2a3b11196a5beef118768da3 Mon Sep 17 00:00:00 2001 From: Tim Bentley <tim.bentley@gmail.com> Date: Fri, 25 Feb 2011 18:05:02 +0000 Subject: [PATCH 65/90] Make static static --- openlp/core/lib/rendermanager.py | 34 +++++++++++++++----------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index b68237b4a..eaf628a34 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -34,6 +34,15 @@ from openlp.core.ui import MainDisplay log = logging.getLogger(__name__) +VERSE = u'The Lord said to {r}Noah{/r}: \n' \ + 'There\'s gonna be a {su}floody{/su}, {sb}floody{/sb}\n' \ + 'The Lord said to {g}Noah{/g}:\n' \ + 'There\'s gonna be a {st}floody{/st}, {it}floody{/it}\n' \ + 'Get those children out of the muddy, muddy \n' \ + '{r}C{/r}{b}h{/b}{bl}i{/bl}{y}l{/y}{g}d{/g}{pk}' \ + 'r{/pk}{o}e{/o}{pp}n{/pp} of the Lord\n' +FOOTER = [u'Arky Arky (Unknown)', u'Public Domain', u'CCLI 123456'] + class RenderManager(object): """ Class to pull all Renderer interactions into one place. The plugins will @@ -202,28 +211,17 @@ class RenderManager(object): self.force_page = force_page # set the default image size for previews self.calculate_default(self.screens.preview[u'size']) - verse = u'The Lord said to {r}Noah{/r}: \n' \ - 'There\'s gonna be a {su}floody{/su}, {sb}floody{/sb}\n' \ - 'The Lord said to {g}Noah{/g}:\n' \ - 'There\'s gonna be a {st}floody{/st}, {it}floody{/it}\n' \ - 'Get those children out of the muddy, muddy \n' \ - '{r}C{/r}{b}h{/b}{bl}i{/bl}{y}l{/y}{g}d{/g}{pk}' \ - 'r{/pk}{o}e{/o}{pp}n{/pp} of the Lord\n' - # make big page for theme edit dialog to get line count - if self.force_page: - verse = verse + verse + verse - else: - self.image_manager.del_image(theme_data.theme_name) - footer = [] - footer.append(u'Arky Arky (Unknown)') - footer.append(u'Public Domain') - footer.append(u'CCLI 123456') # build a service item to generate preview serviceItem = ServiceItem() serviceItem.theme = theme_data - serviceItem.add_from_text(u'', verse, footer) + if self.force_page: + # make big page for theme edit dialog to get line count + serviceItem.add_from_text(u'', VERSE + VERSE + VERSE, FOOTER) + else: + self.image_manager.del_image(theme_data.theme_name) + serviceItem.add_from_text(u'', VERSE, FOOTER) serviceItem.render_manager = self - serviceItem.raw_footer = footer + serviceItem.raw_footer = FOOTER serviceItem.render(True) if not self.force_page: self.display.buildHtml(serviceItem) From b12a37b9865be703884a71efc003af747f1a3484 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Fri, 25 Feb 2011 20:52:13 +0100 Subject: [PATCH 66/90] inform the user, that he has to restart openlp if he wants changes to the monitor set up to be available --- openlp.pyw | 15 ++++++++++++++- openlp/core/lib/ui.py | 27 +++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/openlp.pyw b/openlp.pyw index 85ba81fba..6712dc419 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -34,7 +34,8 @@ from subprocess import Popen, PIPE from PyQt4 import QtCore, QtGui -from openlp.core.lib import Receiver, check_directory_exists +from openlp.core.lib import Receiver, translate, check_directory_exists +from openlp.core.lib.ui import information_message_box from openlp.core.resources import qInitResources from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.exceptionform import ExceptionForm @@ -166,6 +167,9 @@ class OpenLP(QtGui.QApplication): QtCore.SIGNAL(u'cursor_busy'), self.setBusyCursor) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'cursor_normal'), self.setNormalCursor) + QtCore.QObject.connect(self.desktop(), + QtCore.SIGNAL(u'screenCountChanged(int)'), + self.onScreenCountChanged) self.setOrganizationName(u'OpenLP') self.setOrganizationDomain(u'openlp.org') self.setApplicationName(u'OpenLP') @@ -225,6 +229,15 @@ class OpenLP(QtGui.QApplication): """ self.restoreOverrideCursor() + def onScreenCountChanged(self): + """ + Called when the user changes the monitor set up. + """ + information_message_box( + message=translate('OpenLP','You have changed the monitor set up. ' + 'You have to restart OpenLP in order to change the live display ' + 'monitor.')) + def main(): """ The main function which parses command line options and then runs diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index c127d810d..9555e0533 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -58,6 +58,7 @@ class UiStrings(object): 'Abbreviated font pointsize unit') Image = translate('OpenLP.Ui', 'Image') Import = translate('OpenLP.Ui', 'Import') + Information = translate('OpenLP.Ui', 'Information') LengthTime = unicode(translate('OpenLP.Ui', 'Length %s')) Live = translate('OpenLP.Ui', 'Live') LiveBGError = translate('OpenLP.Ui', 'Live Background Error') @@ -173,6 +174,32 @@ def critical_error_message_box(title=None, message=None, parent=None, data[u'title'] = title if title else UiStrings.Error return Receiver.send_message(u'openlp_error_message', data) +def information_message_box(title=None, message=None, parent=None, + question=False): + """ + Provides a standard information message box for notes that OpenLP displays + to users. + + ``title`` + The title for the message box. + + ``message`` + The message to display to the user. + + ``parent`` + The parent UI element to attach the dialog to. + + ``question`` + Should this message box question the user. + """ + if question: + return QtGui.QMessageBox.critical(parent, UiStrings.Information, + message, QtGui.QMessageBox.StandardButtons( + QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) + data = {u'message': message} + data[u'title'] = title if title else UiStrings.Information + return Receiver.send_message(u'openlp_information_message', data) + def media_item_combo_box(parent, name): """ Provide a standard combo box for media items. From 1a645acc0692a48ce39841bba9fb38b609b227f3 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Fri, 25 Feb 2011 21:29:45 +0100 Subject: [PATCH 67/90] removed information_message_box --- openlp.pyw | 12 +++++++----- openlp/core/lib/ui.py | 27 --------------------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 6712dc419..29cb856c3 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -35,7 +35,6 @@ from subprocess import Popen, PIPE from PyQt4 import QtCore, QtGui from openlp.core.lib import Receiver, translate, check_directory_exists -from openlp.core.lib.ui import information_message_box from openlp.core.resources import qInitResources from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.exceptionform import ExceptionForm @@ -233,10 +232,13 @@ class OpenLP(QtGui.QApplication): """ Called when the user changes the monitor set up. """ - information_message_box( - message=translate('OpenLP','You have changed the monitor set up. ' - 'You have to restart OpenLP in order to change the live display ' - 'monitor.')) + data = { + u'title': translate('OpenLP.Ui', 'Information'), + u'message': translate('OpenLP','The monitor set up has changed. You' + ' have to restart OpenLP in order to change the live display' + ' monitor.') + } + Receiver.send_message(u'openlp_information_message', data) def main(): """ diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 9555e0533..c127d810d 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -58,7 +58,6 @@ class UiStrings(object): 'Abbreviated font pointsize unit') Image = translate('OpenLP.Ui', 'Image') Import = translate('OpenLP.Ui', 'Import') - Information = translate('OpenLP.Ui', 'Information') LengthTime = unicode(translate('OpenLP.Ui', 'Length %s')) Live = translate('OpenLP.Ui', 'Live') LiveBGError = translate('OpenLP.Ui', 'Live Background Error') @@ -174,32 +173,6 @@ def critical_error_message_box(title=None, message=None, parent=None, data[u'title'] = title if title else UiStrings.Error return Receiver.send_message(u'openlp_error_message', data) -def information_message_box(title=None, message=None, parent=None, - question=False): - """ - Provides a standard information message box for notes that OpenLP displays - to users. - - ``title`` - The title for the message box. - - ``message`` - The message to display to the user. - - ``parent`` - The parent UI element to attach the dialog to. - - ``question`` - Should this message box question the user. - """ - if question: - return QtGui.QMessageBox.critical(parent, UiStrings.Information, - message, QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) - data = {u'message': message} - data[u'title'] = title if title else UiStrings.Information - return Receiver.send_message(u'openlp_information_message', data) - def media_item_combo_box(parent, name): """ Provide a standard combo box for media items. From fe2f80d1478c63a910f08b67142132c84723fe49 Mon Sep 17 00:00:00 2001 From: Jon Tibble <meths@btinternet.com> Date: Sat, 26 Feb 2011 00:34:46 +0000 Subject: [PATCH 68/90] Fix BibleGateway Jesus' speech --- openlp/plugins/bibles/lib/http.py | 38 ++++++++++++++++++------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 60b515f88..fcb1467f2 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -35,7 +35,7 @@ import socket import urllib from HTMLParser import HTMLParseError -from BeautifulSoup import BeautifulSoup, NavigableString +from BeautifulSoup import BeautifulSoup, NavigableString, Tag from openlp.core.lib import Receiver, translate from openlp.core.lib.ui import critical_error_message_box @@ -221,21 +221,14 @@ class BGExtract(object): crossrefs = soup.findAll(u'sup', u'xref') if crossrefs: [crossref.extract() for crossref in crossrefs] + headings = soup.findAll(u'h5') + if headings: + [heading.extract() for heading in headings] cleanup = [(re.compile('\s+'), lambda match: ' ')] verses = BeautifulSoup(str(soup), markupMassage=cleanup) - content = verses.find(u'div', u'result-text-style-normal') - if not content: - content = verses.find(u'div', u'result-text-style-rtl-serif') - if not content: - log.debug(u'No content found in the BibleGateway response.') - send_error_message(u'parse') - return None - verse_count = len(verses.findAll(u'sup', u'versenum')) - found_count = 0 verse_list = {} - while found_count < verse_count: - content = content.findNext(u'sup', u'versenum') - raw_verse_num = content.next + for verse in verses(u'sup', u'versenum'): + raw_verse_num = verse.next clean_verse_num = 0 # Not all verses exist in all translations and may or may not be # represented by a verse number. If they are not fine, if they are @@ -248,9 +241,22 @@ class BGExtract(object): log.exception(u'Illegal verse number in %s %s %s:%s', version, bookname, chapter, unicode(raw_verse_num)) if clean_verse_num: - raw_verse_text = raw_verse_num.next - verse_list[clean_verse_num] = unicode(raw_verse_text) - found_count += 1 + verse_text = raw_verse_num.next + part = raw_verse_num.next.next + while not (isinstance(part, Tag) and part.attrMap and + part.attrMap[u'class'] == u'versenum'): + # While we are still in the same verse grab all the text. + if isinstance(part, NavigableString): + verse_text = verse_text + part + if isinstance(part.next, Tag) and part.next.name == u'div': + # Run out of verses so stop. + break + part = part.next + verse_list[clean_verse_num] = unicode(verse_text) + if not verse_list: + log.debug(u'No content found in the BibleGateway response.') + send_error_message(u'parse') + return None return SearchResults(bookname, chapter, verse_list) From 631d8e84ff8e068320821631195869e6eec6d558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armin=20K=C3=B6hler?= <orangeshirt@web.de> Date: Sat, 26 Feb 2011 09:14:37 +0100 Subject: [PATCH 69/90] adapt regex define author_temp again --- openlp/plugins/songs/lib/foilpresenterimport.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index c0f9f093d..0d81e6f41 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -314,14 +314,15 @@ class FoilPresenter(object): i = 1 else: i = 1 + author_temp = [] for author in strings: temp = re.split(u',(?=\D{2})|(?<=\D),|\/(?=\D{3,})|(?<=\D);', author) for tempx in temp: author_temp.append(tempx) for author in author_temp: - regex = u'^[\/,;\-\s]+|[\/,;\-\s]+$|'\ - '\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s]*$' + regex = u'^[\/,;\-\s\.]+|[\/,;\-\s\.]+$|'\ + '\s*[0-9]{4}\s*[\-\/]?\s*([0-9]{4})?[\/,;\-\s\.]*$' author = re.compile(regex).sub(u'', author) author = re.compile( u'[0-9]{1,2}\.\s?J(ahr)?h\.|um\s*$|vor\s*$').sub(u'', From 86eb34ae1c0e2049171df5009bcb803700baff7d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Sat, 26 Feb 2011 22:43:41 +0100 Subject: [PATCH 70/90] clean ups, further implementation --- openlp.pyw | 49 ++++++++++++++++++++++-------------- openlp/core/ui/generaltab.py | 1 + openlp/core/ui/screen.py | 49 ++++++++++++++++++++++++++++++------ 3 files changed, 72 insertions(+), 27 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 29cb856c3..1269c7ece 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -167,8 +167,7 @@ class OpenLP(QtGui.QApplication): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'cursor_normal'), self.setNormalCursor) QtCore.QObject.connect(self.desktop(), - QtCore.SIGNAL(u'screenCountChanged(int)'), - self.onScreenCountChanged) + QtCore.SIGNAL(u'screenCountChanged(int)'), self.updateScreenList) self.setOrganizationName(u'OpenLP') self.setOrganizationDomain(u'openlp.org') self.setApplicationName(u'OpenLP') @@ -182,17 +181,13 @@ class OpenLP(QtGui.QApplication): self.splash.show() # make sure Qt really display the splash screen self.processEvents() - screens = ScreenList() + self.screens = ScreenList() # Decide how many screens we have and their size - for screen in xrange(0, self.desktop().numScreens()): - size = self.desktop().screenGeometry(screen) - screens.add_screen({u'number': screen, - u'size': size, - u'primary': (self.desktop().primaryScreen() == screen)}) - log.info(u'Screen %d found with resolution %s', screen, size) + self.updateScreenList(True) # start the main app window self.appClipboard = self.clipboard() - self.mainWindow = MainWindow(screens, app_version, self.appClipboard) + self.mainWindow = MainWindow( + self.screens, app_version, self.appClipboard) self.mainWindow.show() if show_splash: # now kill the splashscreen @@ -228,17 +223,33 @@ class OpenLP(QtGui.QApplication): """ self.restoreOverrideCursor() - def onScreenCountChanged(self): + def updateScreenList(self, applicationStart=False): """ - Called when the user changes the monitor set up. + Called when the list of screens has to be updated. + + ``applicationStart`` + Should be ``True`` when starting the application, otherwise + ``False``. """ - data = { - u'title': translate('OpenLP.Ui', 'Information'), - u'message': translate('OpenLP','The monitor set up has changed. You' - ' have to restart OpenLP in order to change the live display' - ' monitor.') - } - Receiver.send_message(u'openlp_information_message', data) + # Add new screens. + for number in xrange(0, self.desktop().numScreens()): + if not self.screens.screen_exists(number): + size = self.desktop().screenGeometry(number) + self.screens.add_screen({ + u'number': number, + u'size': size, + u'primary': (self.desktop().primaryScreen() == number) + }) + log.info(u'Screen %d found with resolution %s', number, size) + # Remove unplugged screens. + for screen in self.screens.screen_list: + if screen[u'number'] > self.desktop().numScreens(): + self.screens.remove_screen(screen) + log.info(u'Screen %d removed' % creen[u'number']) + if not applicationStart: + pass + # TODO: Refresh settings. + # TODO: Make the new (second) monitor the live display. def main(): """ diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 4eacc5959..777302a41 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -300,6 +300,7 @@ class GeneralTab(SettingsTab): """ settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) + self.monitorComboBox.clear() for screen in self.screens.screen_list: screen_name = u'%s %d' % (translate('OpenLP.GeneralTab', 'Screen'), screen[u'number'] + 1) diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 4530cfd3c..df8ae9cbf 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -25,7 +25,7 @@ ############################################################################### """ The :mod:`screen` module provides management functionality for a machines' -displays +displays. """ import logging import copy @@ -51,25 +51,58 @@ class ScreenList(object): def add_screen(self, screen): """ - Add a screen to the list of known screens + Add a screen to the list of known screens. + + ``screen`` + A dict with the screen properties:: + + { + u'primary': True, + u'number': 0, + u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) + } + """ + print u'add screen: %s' % screen if screen[u'primary']: self.current = screen self.screen_list.append(screen) self.display_count += 1 + def remove_screen(self, number): + """ + Remove a screen from the list of known screens. + + ``number`` + The screen number (int). + """ + print u'remove screen %s' % number + for screen in self.screen_list: + if screen[u'number'] == number: + self.screen_list.remove(screen) + self.display_count -= 1 + break + def screen_exists(self, number): """ - Confirms a screen is known + Confirms a screen is known. + + ``number`` + The screen number (int). """ for screen in self.screen_list: if screen[u'number'] == number: + print u'screen %s exists' % number return True + print u'screen %s does not exist' % number return False def set_current_display(self, number): """ - Set up the current screen dimensions + Set up the current screen dimensions. + + ``number`` + The screen number (int). """ log.debug(u'set_current_display %s', number) if number + 1 > self.display_count: @@ -86,8 +119,8 @@ class ScreenList(object): def set_override_display(self): """ - replace the current size with the override values - user wants to have their own screen attributes + Replace the current size with the override values, as the user wants to + have their own screen attributes. """ log.debug(u'set_override_display') self.current = copy.deepcopy(self.override) @@ -95,8 +128,8 @@ class ScreenList(object): def reset_current_display(self): """ - replace the current values with the correct values - user wants to use the correct screen attributes + Replace the current values with the correct values, as the user wants to + use the correct screen attributes. """ log.debug(u'reset_current_display') self.set_current_display(self.current_display) From d0520b739c450a7de6bb6e61dc1a6e0f5483843b Mon Sep 17 00:00:00 2001 From: Tim Bentley <tim.bentley@gmail.com> Date: Sun, 27 Feb 2011 06:58:23 +0000 Subject: [PATCH 71/90] Fix toolbar Separator Fixes: https://launchpad.net/bugs/725887 --- openlp/core/lib/mediamanageritem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index c44b89534..e3bb4ae0f 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -220,8 +220,6 @@ class MediaManagerItem(QtGui.QWidget): if self.hasDeleteIcon: toolbar_actions.append([StringContent.Delete, u':/general/general_delete.png', self.onDeleteClick]) - ## Separator Line ## - self.addToolbarSeparator() ## Preview ## toolbar_actions.append([StringContent.Preview, u':/general/general_preview.png', self.onPreviewClick]) @@ -232,6 +230,8 @@ class MediaManagerItem(QtGui.QWidget): toolbar_actions.append([StringContent.Service, u':/general/general_add.png', self.onAddClick]) for action in toolbar_actions: + if action[0] == StringContent.Preview: + self.addToolbarSeparator() self.addToolbarButton( self.plugin.getString(action[0])[u'title'], self.plugin.getString(action[0])[u'tooltip'], From 4792a73bb4ed5521d8dcc7ee7c388db20741a1ed Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Sun, 27 Feb 2011 16:44:56 +0100 Subject: [PATCH 72/90] change screen size when the screen resolution changes (only when the user does not override the screen); reload settings when screen resolution changed or a new screen has been detected --- openlp.pyw | 34 ++++++++++++++++++----------- openlp/core/ui/screen.py | 40 ++++++++++++++++++++++++++++++---- openlp/core/ui/settingsform.py | 9 ++++++++ 3 files changed, 66 insertions(+), 17 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 1269c7ece..da347b1ea 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -24,7 +24,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### - +import copy import os import sys import logging @@ -168,6 +168,8 @@ class OpenLP(QtGui.QApplication): QtCore.SIGNAL(u'cursor_normal'), self.setNormalCursor) QtCore.QObject.connect(self.desktop(), QtCore.SIGNAL(u'screenCountChanged(int)'), self.updateScreenList) + QtCore.QObject.connect(self.desktop(), + QtCore.SIGNAL(u'resized(int)'), self.updateScreenList) self.setOrganizationName(u'OpenLP') self.setOrganizationDomain(u'openlp.org') self.setApplicationName(u'OpenLP') @@ -228,27 +230,33 @@ class OpenLP(QtGui.QApplication): Called when the list of screens has to be updated. ``applicationStart`` - Should be ``True`` when starting the application, otherwise - ``False``. + ``True`` when starting the application, otherwise ``False``. """ + for screen in copy.deepcopy(self.screens.screen_list): + # Remove unplugged screens. + if screen[u'number'] == self.desktop().numScreens(): + self.screens.remove_screen(screen[u'number']) + else: + # Check if the screen has changed. + temp_screen = { + u'number': screen[u'number'], + u'size': self.desktop().screenGeometry(screen[u'number']), + u'primary': + (self.desktop().primaryScreen() == screen[u'number']) + } + if temp_screen != screen: + self.screens.update_screen(temp_screen) # Add new screens. for number in xrange(0, self.desktop().numScreens()): if not self.screens.screen_exists(number): - size = self.desktop().screenGeometry(number) self.screens.add_screen({ u'number': number, - u'size': size, + u'size': self.desktop().screenGeometry(number), u'primary': (self.desktop().primaryScreen() == number) }) - log.info(u'Screen %d found with resolution %s', number, size) - # Remove unplugged screens. - for screen in self.screens.screen_list: - if screen[u'number'] > self.desktop().numScreens(): - self.screens.remove_screen(screen) - log.info(u'Screen %d removed' % creen[u'number']) if not applicationStart: - pass - # TODO: Refresh settings. + # Reload setting tabs to apply possible changes. + self.mainWindow.settingsForm.reload() # TODO: Make the new (second) monitor the live display. def main(): diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index df8ae9cbf..c21131a58 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -30,6 +30,8 @@ displays. import logging import copy +from openlp.core.lib import Receiver + log = logging.getLogger(__name__) class ScreenList(object): @@ -39,6 +41,8 @@ class ScreenList(object): log.info(u'Screen loaded') def __init__(self): + # The screen used for the rendermanager. + # (Why does the rendermanager needs his own?) self.preview = None self.current = None self.override = None @@ -61,14 +65,43 @@ class ScreenList(object): u'number': 0, u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) } - """ print u'add screen: %s' % screen + log.info(u'Screen %d found with resolution %s', + screen[u'number'], screen[u'size']) if screen[u'primary']: self.current = screen self.screen_list.append(screen) self.display_count += 1 + def update_screen(self, newScreen): + """ + Adjusts the screen's properties in the ``screen_list`` to the properties + of the given screen. + + ``newScreen`` + A dict with the new properties of the screen:: + + { + u'primary': True, + u'number': 0, + u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) + } + """ + print u'update_screen %s' % newScreen[u'number'] + log.info(u'update_screen %d' % newScreen[u'number']) + for oldScreen in self.screen_list: + if newScreen[u'number'] == oldScreen[u'number']: + self.remove_screen(oldScreen[u'number']) + self.add_screen(newScreen) + # The screen's default size is used, that is why we have to + # update the override screen. + if oldScreen == self.override: + self.override = copy.deepcopy(newScreen) + self.set_override_display() + Receiver.send_message(u'config_screen_changed') + break + def remove_screen(self, number): """ Remove a screen from the list of known screens. @@ -76,9 +109,10 @@ class ScreenList(object): ``number`` The screen number (int). """ - print u'remove screen %s' % number + log.info(u'remove_screen %d' % number) for screen in self.screen_list: if screen[u'number'] == number: + print u'remove screen %s' % number self.screen_list.remove(screen) self.display_count -= 1 break @@ -92,9 +126,7 @@ class ScreenList(object): """ for screen in self.screen_list: if screen[u'number'] == number: - print u'screen %s exists' % number return True - print u'screen %s does not exist' % number return False def set_current_display(self, number): diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 872b37586..29f5eedbf 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -107,3 +107,12 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): """ for tabIndex in range(0, self.settingsTabWidget.count()): self.settingsTabWidget.widget(tabIndex).postSetUp() + + def reload(self): + """ + Reload all tabs to update settings which have been changed and are + outside of our scope. + """ + print u'reload' + for tabIndex in range(0, self.settingsTabWidget.count()): + self.settingsTabWidget.widget(tabIndex).load() From 0bb1ec6db51251c6d38895d1b76c5e16c65f02da Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Sun, 27 Feb 2011 17:27:45 +0100 Subject: [PATCH 73/90] clean up --- openlp.pyw | 1 + openlp/core/ui/screen.py | 13 +++++-------- openlp/core/ui/settingsform.py | 1 - 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index da347b1ea..7f0dd21e1 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -257,6 +257,7 @@ class OpenLP(QtGui.QApplication): if not applicationStart: # Reload setting tabs to apply possible changes. self.mainWindow.settingsForm.reload() + #Receiver.send_message(u'config_screen_changed') # TODO: Make the new (second) monitor the live display. def main(): diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index c21131a58..53db37031 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -30,8 +30,6 @@ displays. import logging import copy -from openlp.core.lib import Receiver - log = logging.getLogger(__name__) class ScreenList(object): @@ -82,11 +80,11 @@ class ScreenList(object): ``newScreen`` A dict with the new properties of the screen:: - { - u'primary': True, - u'number': 0, - u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) - } + { + u'primary': True, + u'number': 0, + u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) + } """ print u'update_screen %s' % newScreen[u'number'] log.info(u'update_screen %d' % newScreen[u'number']) @@ -99,7 +97,6 @@ class ScreenList(object): if oldScreen == self.override: self.override = copy.deepcopy(newScreen) self.set_override_display() - Receiver.send_message(u'config_screen_changed') break def remove_screen(self, number): diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 29f5eedbf..0c058cfd0 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -113,6 +113,5 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): Reload all tabs to update settings which have been changed and are outside of our scope. """ - print u'reload' for tabIndex in range(0, self.settingsTabWidget.count()): self.settingsTabWidget.widget(tabIndex).load() From b309c8d6737845d54eccdc7570fd60ffa711c89a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Sun, 27 Feb 2011 19:19:16 +0100 Subject: [PATCH 74/90] clean up --- openlp.pyw | 12 ++++++------ openlp/core/ui/screen.py | 3 --- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 7f0dd21e1..d65f68591 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -185,7 +185,7 @@ class OpenLP(QtGui.QApplication): self.processEvents() self.screens = ScreenList() # Decide how many screens we have and their size - self.updateScreenList(True) + self.updateScreenList() # start the main app window self.appClipboard = self.clipboard() self.mainWindow = MainWindow( @@ -225,12 +225,12 @@ class OpenLP(QtGui.QApplication): """ self.restoreOverrideCursor() - def updateScreenList(self, applicationStart=False): + def updateScreenList(self, count=-1): """ Called when the list of screens has to be updated. - ``applicationStart`` - ``True`` when starting the application, otherwise ``False``. + ``count`` + The screen's number which has been (un)plugged """ for screen in copy.deepcopy(self.screens.screen_list): # Remove unplugged screens. @@ -254,10 +254,10 @@ class OpenLP(QtGui.QApplication): u'size': self.desktop().screenGeometry(number), u'primary': (self.desktop().primaryScreen() == number) }) - if not applicationStart: + if count != -1: # Reload setting tabs to apply possible changes. self.mainWindow.settingsForm.reload() - #Receiver.send_message(u'config_screen_changed') + Receiver.send_message(u'config_screen_changed') # TODO: Make the new (second) monitor the live display. def main(): diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 53db37031..df04a40d6 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -64,7 +64,6 @@ class ScreenList(object): u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) } """ - print u'add screen: %s' % screen log.info(u'Screen %d found with resolution %s', screen[u'number'], screen[u'size']) if screen[u'primary']: @@ -86,7 +85,6 @@ class ScreenList(object): u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) } """ - print u'update_screen %s' % newScreen[u'number'] log.info(u'update_screen %d' % newScreen[u'number']) for oldScreen in self.screen_list: if newScreen[u'number'] == oldScreen[u'number']: @@ -109,7 +107,6 @@ class ScreenList(object): log.info(u'remove_screen %d' % number) for screen in self.screen_list: if screen[u'number'] == number: - print u'remove screen %s' % number self.screen_list.remove(screen) self.display_count -= 1 break From c7644bf8d90bba65dead94dfb6ffdff0cfa117b1 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Mon, 28 Feb 2011 20:36:58 +0100 Subject: [PATCH 75/90] removed unused import --- openlp.pyw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp.pyw b/openlp.pyw index c503cfa4b..c88d6a3ee 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -34,7 +34,7 @@ from subprocess import Popen, PIPE from PyQt4 import QtCore, QtGui -from openlp.core.lib import Receiver, translate, check_directory_exists +from openlp.core.lib import Receiver, check_directory_exists from openlp.core.resources import qInitResources from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.exceptionform import ExceptionForm From 89c988b7283d0084cedf0c2184aecbb1053fa3a2 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Tue, 1 Mar 2011 18:16:59 +0100 Subject: [PATCH 76/90] moved code to ScreenList class --- openlp.pyw | 46 +----------------- openlp/core/ui/screen.py | 102 +++++++++++++++++++++++++++------------ 2 files changed, 72 insertions(+), 76 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index c88d6a3ee..02b1d9f73 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -24,7 +24,6 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -import copy import os import sys import logging @@ -166,10 +165,6 @@ class OpenLP(QtGui.QApplication): QtCore.SIGNAL(u'cursor_busy'), self.setBusyCursor) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'cursor_normal'), self.setNormalCursor) - QtCore.QObject.connect(self.desktop(), - QtCore.SIGNAL(u'screenCountChanged(int)'), self.updateScreenList) - QtCore.QObject.connect(self.desktop(), - QtCore.SIGNAL(u'resized(int)'), self.updateScreenList) self.setOrganizationName(u'OpenLP') self.setOrganizationDomain(u'openlp.org') self.setApplicationName(u'OpenLP') @@ -183,13 +178,11 @@ class OpenLP(QtGui.QApplication): self.splash.show() # make sure Qt really display the splash screen self.processEvents() - self.screens = ScreenList() # Decide how many screens we have and their size - self.updateScreenList() + screens = ScreenList(self, self.desktop()) # start the main app window self.appClipboard = self.clipboard() - self.mainWindow = MainWindow( - self.screens, app_version, self.appClipboard) + self.mainWindow = MainWindow(screens, app_version, self.appClipboard) self.mainWindow.show() if show_splash: # now kill the splashscreen @@ -225,41 +218,6 @@ class OpenLP(QtGui.QApplication): """ self.restoreOverrideCursor() - def updateScreenList(self, count=-1): - """ - Called when the list of screens has to be updated. - - ``count`` - The screen's number which has been (un)plugged - """ - for screen in copy.deepcopy(self.screens.screen_list): - # Remove unplugged screens. - if screen[u'number'] == self.desktop().numScreens(): - self.screens.remove_screen(screen[u'number']) - else: - # Check if the screen has changed. - temp_screen = { - u'number': screen[u'number'], - u'size': self.desktop().screenGeometry(screen[u'number']), - u'primary': - (self.desktop().primaryScreen() == screen[u'number']) - } - if temp_screen != screen: - self.screens.update_screen(temp_screen) - # Add new screens. - for number in xrange(0, self.desktop().numScreens()): - if not self.screens.screen_exists(number): - self.screens.add_screen({ - u'number': number, - u'size': self.desktop().screenGeometry(number), - u'primary': (self.desktop().primaryScreen() == number) - }) - if count != -1: - # Reload setting tabs to apply possible changes. - self.mainWindow.settingsForm.reload() - Receiver.send_message(u'config_screen_changed') - # TODO: Make the new (second) monitor the live display. - def main(): """ The main function which parses command line options and then runs diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index df04a40d6..1007ecc56 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -30,6 +30,10 @@ displays. import logging import copy +from PyQt4 import QtCore + +from openlp.core.lib import Receiver + log = logging.getLogger(__name__) class ScreenList(object): @@ -38,7 +42,11 @@ class ScreenList(object): """ log.info(u'Screen loaded') - def __init__(self): + def __init__(self, parent, desktop): + """ + """ + self.parent = parent + self.desktop = desktop # The screen used for the rendermanager. # (Why does the rendermanager needs his own?) self.preview = None @@ -50,6 +58,62 @@ class ScreenList(object): self.current_display = 0 # save config display number self.monitor_number = 0 + self.screenCountChanged() + QtCore.QObject.connect(desktop, + QtCore.SIGNAL(u'resized(int)'), self.screenResolutionChanged) + QtCore.QObject.connect(desktop, + QtCore.SIGNAL(u'screenCountChanged(int)'), self.screenCountChanged) + + def screenResolutionChanged(self, number): + """ + Called when the resolution of a screen has changed. + + ``number`` + The number of the screen, which size has changed. + """ + log.info(u'screenResolutionChanged %d' % number) + for screen in self.screen_list: + if number == screen[u'number']: + newScreen = { + u'number': number, + u'size': self.desktop.screenGeometry(number), + u'primary': (self.desktop.primaryScreen() == number) + } + self.remove_screen(number) + self.add_screen(newScreen) + # The screen's default size is used, that is why we have to + # update the override screen. + if screen == self.override: + self.override = copy.deepcopy(newScreen) + self.set_override_display() + self.parent.mainWindow.settingsForm.reload() + Receiver.send_message(u'config_screen_changed') + break + + def screenCountChanged(self, count=-1): + """ + Called when a screen has been added or removed. + + ``count`` + The screen's number which has been (un)plugged. + """ + # Remove unplugged screens. + for screen in copy.deepcopy(self.screen_list): + if screen[u'number'] == self.desktop.numScreens(): + self.remove_screen(screen[u'number']) + # Add new screens. + for number in xrange(0, self.desktop.numScreens()): + if not self.screen_exists(number): + self.add_screen({ + u'number': number, + u'size': self.desktop.screenGeometry(number), + u'primary': (self.desktop.primaryScreen() == number) + }) + if count != -1: + # Reload setting tabs to apply possible changes. + self.parent.mainWindow.settingsForm.reload() + Receiver.send_message(u'config_screen_changed') + # TODO: Make the new (second) monitor the live display. def add_screen(self, screen): """ @@ -58,11 +122,11 @@ class ScreenList(object): ``screen`` A dict with the screen properties:: - { - u'primary': True, - u'number': 0, - u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) - } + { + u'primary': True, + u'number': 0, + u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) + } """ log.info(u'Screen %d found with resolution %s', screen[u'number'], screen[u'size']) @@ -71,32 +135,6 @@ class ScreenList(object): self.screen_list.append(screen) self.display_count += 1 - def update_screen(self, newScreen): - """ - Adjusts the screen's properties in the ``screen_list`` to the properties - of the given screen. - - ``newScreen`` - A dict with the new properties of the screen:: - - { - u'primary': True, - u'number': 0, - u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768) - } - """ - log.info(u'update_screen %d' % newScreen[u'number']) - for oldScreen in self.screen_list: - if newScreen[u'number'] == oldScreen[u'number']: - self.remove_screen(oldScreen[u'number']) - self.add_screen(newScreen) - # The screen's default size is used, that is why we have to - # update the override screen. - if oldScreen == self.override: - self.override = copy.deepcopy(newScreen) - self.set_override_display() - break - def remove_screen(self, number): """ Remove a screen from the list of known screens. From 6e7dd2ebcbbe9f86e765c03ad2fa648343d6dae5 Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Tue, 1 Mar 2011 20:21:00 +0200 Subject: [PATCH 77/90] Updated the translations. --- resources/i18n/af.ts | 3499 ++++++++++------------ resources/i18n/de.ts | 4004 +++++++++++-------------- resources/i18n/en.ts | 3477 ++++++++++----------- resources/i18n/en_GB.ts | 3489 ++++++++++------------ resources/i18n/en_ZA.ts | 3489 ++++++++++------------ resources/i18n/es.ts | 3489 ++++++++++------------ resources/i18n/et.ts | 3731 ++++++++++------------- resources/i18n/fr.ts | 4832 ++++++++++++++++++++++++++++++ resources/i18n/hu.ts | 3491 ++++++++++------------ resources/i18n/id.ts | 4825 ++++++++++++++++++++++++++++++ resources/i18n/ja.ts | 4681 +++++++++++++---------------- resources/i18n/ko.ts | 3479 ++++++++++----------- resources/i18n/nb.ts | 3483 ++++++++++------------ resources/i18n/nl.ts | 6301 +++++++++++++++++++-------------------- resources/i18n/pt_BR.ts | 4511 +++++++++++++--------------- resources/i18n/ru.ts | 4828 ++++++++++++++++++++++++++++++ resources/i18n/sv.ts | 3613 ++++++++++------------ 17 files changed, 39399 insertions(+), 29823 deletions(-) create mode 100644 resources/i18n/fr.ts create mode 100644 resources/i18n/id.ts create mode 100644 resources/i18n/ru.ts diff --git a/resources/i18n/af.ts b/resources/i18n/af.ts index 73b68d90b..73d77fbd5 100644 --- a/resources/i18n/af.ts +++ b/resources/i18n/af.ts @@ -3,59 +3,61 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> - <translation type="unfinished"></translation> + <translation>Geen Parameter gevind nie</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>Daar is nie 'n parameter gegee om te vervang nie. +Gaan steeds voort?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> - <translation type="unfinished"></translation> + <translation>Geen Plekhouer gevind nie</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>Die attent teks bevat nie '<>' nie. +Gaan steeds voort?</translation> </message> </context> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>W&aarskuwing</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Vertoon 'n waarskuwing boodskap.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Waarskuwing Mini-program</strong><br/>Die waarskuwing mini-program beheer die vertoning van moederskamer inligting op die vertoon skerm</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Waarskuwings</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Waarskuwings</translation> @@ -64,30 +66,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Waarskuwing Boodskap</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Waarskuwing &teks:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Nuwe</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Stoor</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>Wis ui&t</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,17 +96,17 @@ Do want to continue anyway?</source> <translation>Vert&oon && Maak toe</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Nuwe Waarskuwing</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>Daar is geen teks vir die waarskuwing gespesifiseer nie. Tik asseblief teks in voordat 'n nuwe een bygevoeg word.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +122,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Skrif</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Skrif naam:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Skrif kleur:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Agtergrond kleur:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Skrif grootte:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Waarskuwing verstreke-tyd:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Ligging:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Voorskou</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Bo</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Middel</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Onder</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +207,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +220,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bybel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bybel Mini-program</strong><br/>Die Bybel mini-program verskaf die taak om Bybel verse vanaf verskillende bronne tydens die diens te vertoon.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Bybel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bybels</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Bybels</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished">&Invoer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished">R&edigeer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">Geen Boek Gevind nie</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +296,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Skrif Verwysing Fout</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,496 +342,329 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Vers Vertoning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Vertoon net nuwe hoofstuk nommers</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Uitleg styl:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Vertoon styl:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Bybel tema:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Verse Per Skyfie</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Verse Per Lyn</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Aaneen-lopend</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Geen Hakkies</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( En )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ En }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ En ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Nota: Veranderinge affekteer nie verse wat reeds in die diens is nie.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bybel Invoer Gids</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Welkom by die Bybel Invoer Gids</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>Hierdie gids sal u help om Bybels van 'n verskeidenheid formate in te voer. Kliek die volgende knoppie hieronder om die proses te begin deur 'n formaat te kies om in te voer.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Selekteer Invoer Bron</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Selekteer die invoer formaat en van waar af om in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Formaat:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>KGW (CSV)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Web Aflaai</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Lêer ligging:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Boeke ligging:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Vers ligging:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Bybel lêernaam:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Ligging:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Bybel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Aflaai Opsies</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Bediener:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Gebruikersnaam:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Wagwoord:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Tussenganger Bediener (Opsioneel)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Lisensie Besonderhede</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Stel hierdie Bybel se lisensie besonderhede op.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Weergawe naam:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Kopiereg:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Invoer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Wag asseblief terwyl u Bybel ingevoer word.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Gereed.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Ongeldige Bybel Ligging</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>'n Lêer van waar die Byber ingevoer word moet gespesifiseer word.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Ongeldige Boeke Lêer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>'n Lêer met boeke van die Bybel moet gespesifiseer word vir gebruik tydens die invoer.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Ongeldige Vers Lêer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>'n Lêer met Bybel verse moet gespesifiseer word om in te voer.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Ongeldige OpenSong Bybel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>'n OpenSong Bybel moet gespesifiseer word om in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Weergawe Naam is leeg</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>'n Weergawe naam moet vir die Bybel gespesifiseer word.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Kopiereg Leeg</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Bybel Bestaan reeds</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Maak OSIS Lêer oop</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Maak Boeke CSV (KGW) Lêer oop</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Maak Verse CSV Lêer oop</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Maak OpenSong Bybel Oop</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Invoer begin...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Invoer voltooi.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Die Bybel invoer het misluk.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>Die Bybel benodig 'n kopiereg. Bybels in die Publieke Domein moet daarvolgens gemerk word.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>Hierdie Bybel bestaan reeds. Voer asseblief 'n ander Bybel in of wis eers die bestaande een uit.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished">openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">Alle Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished">Die openlp.org 1.x invoerder is onaktief gestel weens 'n vermisde Python module. Om van hierdie invoerder gebruik te maak moet die "python-sqlite" module installeer word.</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Vinnig</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Gevorderd</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Weergawe:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Tipe soek:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Vind:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Soek</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Resultate:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Boek:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Hoofstuk:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>Vanaf:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>Tot:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Soek Vers</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Teks Soektog</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Maak Skoon</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Behou</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation type="unfinished">%s ingevoer...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -889,12 +673,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -903,7 +687,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Aanpas Mini-program</strong><br/>Die aanpas mini-program verskaf die vermoë om aangepasde teks skyfies op te stel wat in dieselfde manier gebruik word as die liedere mini-program. Dié mini-program verskaf grooter vryheid as die liedere mini-program.</translation> </message> @@ -924,210 +708,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Redigeer Aangepaste Skyfies</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Skuif skyfie een posisie op.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Skuif skyfie een posisie af.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Voeg nuwe skyfie by aan die onderkant.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Redigeer die geselekteerde skyfie.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Redigeer al die skyfies tegelyk.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Wis die geselekteerde skyfie uit.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Verdeel Skyfie</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Verdeel 'n skyfie deur 'n skyfie-verdeler te gebruik.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>Te&ma:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Krediete:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Stoor && Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>'n Titel word benodig.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Ten minste een skyfie moet bygevoeg word</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished">R&edigeer</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished">Red&igeer Alles</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Daar is nie 'n item geselekteer om te redigeer nie.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Daar is nie 'n item geselekteer om uit te wis nie.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Redigeer</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Aanpas</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Aanpas</translation> @@ -1136,169 +832,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Beeld Mini-program</strong><br/>Die beeld mini-program verskaf vertoning van beelde.<br/>Een van die onderskeidende kenmerke van hierdie mini-program is die vermoë om beelde te groepeer in die diensbestuurder wat dit maklik maak om verskeie beelde te vertoon. Die mini-program kan ook van OpenLP se "tydgebonde herhaling"-funksie gebruik maak om 'n automatiese skyfe-vertoning te verkry. Verder kan beelde van hierdie mini-program gebruik word om die huidige tema se agtergrond te vervang hoewel 'n tema sy eie agtergrond het.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Redigeer</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Beeld</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Selekteer beeld(e)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Alle Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Vervang Regstreekse Agtergrond</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Vervang Agtergrond</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Herstel Regstreekse Agtergrond</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>'n Beeld om uit te wis moet geselekteer word.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Beeld(e)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>'n Beeld wat die agtergrond vervang moet gekies word.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1306,94 +940,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Media Mini-program</strong><br/>Die media mini-program verskaf speel funksies van audio en video.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Redigeer</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished">Media</translation> @@ -1402,50 +1001,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Selekteer Media</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Vervang Regstreekse Agtergrond</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Vervang Agtergrond</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>'n Media lêer om uit te wis moet geselekteer word.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1453,12 +1027,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1466,16 +1040,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished">Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1483,18 +1052,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Beeld Lêers</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>Aangaande OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1513,12 +1077,7 @@ Vind meer uit oor OpenLP: http://openlp.org/ OpenLP is geskryf en word onderhou deur vrywilligers. As u graag wil sien dat meer Christelike sagteware geskryf word, oorweeg dit asseblief om by te dra deur die knoppie hieronder te gebruik.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>Aangaande</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Krediete</translation> </message> @@ -1538,7 +1097,7 @@ OpenLP is geskryf en word onderhou deur vrywilligers. As u graag wil sien dat me <translation>bou %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1591,9 +1150,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1729,125 +1290,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Gevorderd</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>GK (UI) Verstellings</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Hoeveelheid onlangse lêers om te vertoon:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Onthou die laaste media bestuurder oortjie wanneer die program begin</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Agtergrond kleur:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1855,40 +1424,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Oeps! OpenLP het 'n probleem ondervind en kon nie daarvanaf herstel nie. Die teks in die boks hieronder bevat inligting wat van hulp kan wees aan die OpenLP ontwikkelaars, so stuur dit asseblief per e-pos na bugs@openlp.org saam met 'n gedetaileerde beskrywing van wat gedoen was toe die probleem plaasgevind het.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>'n Fout het opgeduik</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1898,24 +1497,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1929,17 +1519,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1947,130 +1537,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>Algemeen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitors</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Selekteer monitor vir uitgaande vertoning:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Vertoon as dit 'n enkel skerm is</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Applikasie Aanskakel</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Vertoon leë skerm waarskuwing</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Maak vanself die laaste diens oop</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Wys die spatsel skerm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Program Verstellings</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Vra om te stoor voordat 'n nuwe diens begin word</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Wys voorskou van volgende item in diens automaties</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Skyfie herhaal vertraging:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation>sek</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI Inligting</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI nommer:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect gebruikersnaam:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect wagwoord:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Vertoon Posisie</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Hoogte</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Wydte</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Oorskryf vertoon posisie</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2088,7 +1678,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2096,377 +1686,352 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&Lêer</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Invoer</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>Uitvo&er</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&Bekyk</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>M&odus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Gereedskap</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>Ver&stellings</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>Taa&l</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Hulp</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Media Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Diens Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Tema Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&Nuwe</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Nuwe Diens</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Skep 'n nuwe diens.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>Maak &Oop</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Maak Diens Oop</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Maak 'n bestaande diens oop.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Stoor</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Stoor Diens</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Stoor die huidige diens na skyf.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Stoor &As...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Stoor Diens As</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Stoor die huidige diens onder 'n nuwe naam.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>&Uitgang</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Sluit OpenLP Af</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Tema</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Konfigureer OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Media Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Wissel Media Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Wissel sigbaarheid van die media bestuurder.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Tema Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Wissel Tema Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Wissel sigbaarheid van die tema bestuurder.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Diens Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Wissel Diens Bestuurder</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Wissel sigbaarheid van die diens bestuurder.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>Voorskou &Paneel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Wissel Voorskou Paneel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Wissel sigbaarheid van die voorskou paneel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>Regstreekse Panee&l</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Wissel Regstreekse Paneel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Wissel sigbaarheid van die regstreekse paneel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>Mini-&program Lys</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Lys die Mini-programme</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>Gebr&uikers Gids</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&Aangaande</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>Meer inligting aangaande OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Aanlyn Hulp</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Web Tuiste</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>Verklik Outom&aties</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Gebruik die sisteem se taal as dit beskikbaar is.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Verstel die koppelvlak taal na %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Voeg Gereedskaps&tuk by...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Voeg 'n applikasie by die lys van gereedskapstukke.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Verstek</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Verstel skou modus terug na verstek modus.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>Op&stel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Verstel die skou modus na Opstel modus.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Regstreeks</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Verstel die skou modus na Regstreeks.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2475,32 +2040,22 @@ You can download the latest version from http://openlp.org/.</source> Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP Weergawe is Opdateer</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>OpenLP Hoof Vertoning Blanko</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>Die Hoof Skerm is afgeskakel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Stoor Veranderinge aan Diens?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Die diens het verander. Stoor veranderinge?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Verstek Tema: %s</translation> </message> @@ -2511,75 +2066,85 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/.</translation> <translation>Afrikaans</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Geen item geselekteer nie</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Voeg by die geselekteerde Diens item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Kies een of meer items vir die voorskou.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>Kies een of meer items vir regstreekse uitsending.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Kies een of meer items.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>Geen items geselekteer nie</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>Kies een of meer items</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>Geen Diens Item Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>'n Bestaande diens item moet geselekteer word om by by te voeg.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Ongeldige Diens Item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>Kies 'n %s diens item.</translation> </message> @@ -2587,25 +2152,15 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/.</translation> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Mini-program Lys</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Mini-program Besonderhede</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Weergawe:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>Aangaande:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2622,238 +2177,319 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/.</translation> <translation>Onaktief</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (Onaktief)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (Aktief)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (Onaktief)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Hergroepeer Diens Item</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Wis uit</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Hergroepeer Diens Item</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>Nuwe Diens</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Skep 'n nuwe diens</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Maak Diens Oop</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Laai 'n bestaande diens</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Stoor Diens</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Stoor hierdie diens</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Tema:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Selekteer 'n tema vir die diens</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Skuif boon&toe</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Skuif item tot heel bo in die diens.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Sk&uif op</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Skuif item een posisie boontoe in die diens.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Skuif &af</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Skuif item een posisie af in die diens.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Skuif &tot heel onder</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Skuif item tot aan die einde van die diens.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>Wis uit vanaf die &Diens</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Wis geselekteerde item van die diens af.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Voeg Nuwe Item By</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Voeg by Geselekteerde Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>R&edigeer Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>Ve&rander Item orde</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Notas</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>Vers V&oorsig</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Regstreekse Vers</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Verander Item Tema</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>Lêer is nie 'n geldige diens nie. Die inhoud enkodering is nie UTF-8 nie.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>Lêer is nie 'n geldige diens nie.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Vermisde Vertoon Hanteerder</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Die item kan nie vertoon word nie omdat daar nie 'n hanteerder is om dit te vertoon nie</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Die item kan nie vertoon word nie omdat die mini-program wat dit moet vertoon vermis of onaktief is</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Diens Item Notas</translation> </message> @@ -2861,7 +2497,7 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Konfigureer OpenLP</translation> </message> @@ -2884,17 +2520,17 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2908,137 +2544,180 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Regstreeks</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Voorskou</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Beweeg na vorige</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Beweeg na volgende</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Verskuil</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Verskuif na regstreekse skerm</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Begin aaneenlopende lus</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Stop deurlopende lus</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Vertraging tussen skyfies in sekondes</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Begin media speel</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Gaan Na</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Redigeer en laai weer 'n lied voorskou</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Spelling Voorstelle</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Uitleg Hakkies</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">Alle Lêers</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished">Selekteer beeld</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3046,477 +2725,432 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>Nuwe Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Skep 'n nuwe tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Redigeer Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Redigeer 'n tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation>Wis Tema Uit</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Wis 'n tema uit.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Voer Tema In</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Voer 'n tema in.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Voer Tema Uit</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Voer 'n tema uit.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>R&edigeer Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>&Wis Tema uit</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Stel in As &Globale Standaard</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (standaard)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>Kies 'n tema om te redigeer.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>Die standaard tema kan nie uitgewis word nie.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>Geen tema is geselekteer nie.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Stoor Tema - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Tema Uitvoer</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>Die tema was suksesvol uitgevoer.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>Tema Uitvoer het Misluk</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>Die tema kon nie uitgevoer word nie weens 'n fout.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Kies Tema Invoer Lêer</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>Lêer is nie 'n geldige tema nie. Die inhoud enkodering is nie UTF-8 nie.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>Lêer is nie 'n geldige tema nie.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>Tema %s is in gebruik deur die %s mini-program.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Soliede Kleur</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished">Gradiënt</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Beeld</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished">Kleur:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished">Gradiënt:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished">Horisontaal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertikaal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished">Sirkelvormig</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Beeld:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished">Skrif:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Grootte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Vetgedruk</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished">Links</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished">Regs</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Middel</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Bo</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Middel</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Onder</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished">X posisie:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished">px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished">Y posisie:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Wydte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Hoogte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished">Gebruik verstek ligging</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished">Nuwe Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3524,47 +3158,42 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Temas</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Globale Tema</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Tema Vlak</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>Lied Vl&ak</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>Gebruik die tema van elke lied in die lied-databasis. As 'n lied nie 'n geassosieërde tema het nie, gebruik die diens se tema. As die diens nie 'n tema het nie, gebruik dan die globale tema.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>Dien&s Vlak</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>Gebruik die tema van die diens en verplaas enige van die individuele liedere se temas. As die diens nie 'n tema het nie, gebruik dan die globale tema.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Globale Vlak</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Gebruik die globale tema om enige temas wat met die diens of liedere geassosieer is te vervang.</translation> </message> @@ -3572,82 +3201,471 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Fout</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Wis Uit</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Gevorderd</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Alle Lêers</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Skep 'n nuwe diens.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">R&edigeer</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Regstreeks</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Nuwe Diens</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Maak Diens Oop</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Voorskou</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Vervang Agtergrond</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Vervang Regstreekse Agtergrond</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Herstel Regstreekse Agtergrond</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Stoor Diens</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Bo</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Middel</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Onder</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Aangaande</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Deursoek...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI nommer:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Beeld</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Nuwe Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Geen item geselekteer nie</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Stoor && Voorskou</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Soek</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">Selekteer 'n item om te regideer.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Temas</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Invoer voltooi.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Formaat:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Invoer</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">"%s" ingevoer...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Selekteer Invoer Bron</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">Die openlp.org 1.x invoerder is onaktief gestel weens 'n vermisde Python module. Om van hierdie invoerder gebruik te maak moet die "python-sqlite" module installeer word.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Gereed.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Invoer begin...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Welkom by die Bybel Invoer Gids</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Welkom by die Lied Invoer Gids</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Skrywers</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Lied Boek</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Lied Boeke</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Lied Onderhoud</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Onderwerp</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Onderwerpe</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Aanbieding Mini-program</strong><br/>Die aanbieding mini-program bied die vermoë om aanbiedings van verskillende programme te vertoon. Die keuse van beskikbare aanbieding-programme word aan die gebruiker vertoon deur 'n hangkieslys.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Aanbieding</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Aanbiedinge</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Aanbiedinge</translation> @@ -3656,105 +3674,100 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Selekteer Aanbieding(e)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>Outomaties</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Bied aan met:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>Lêer Bestaan Reeds</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>'n Aanbieding met daardie lêernaam bestaan reeds.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Lêer nie Ondersteun nie</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>Hierdie tipe aanbieding word nie ondersteun nie.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>'n Item om uit te wis moet geselekteer word.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Beskikbare Beheerders</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Gevorderd</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>Laat toe dat aanbieding program oorheers word</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>Afgeleë Mini-program</strong><br/>Die afgeleë mini-program verskaf die vermoë om boodskappe na 'n lopende weergawe van OpenLP op 'n ander rekenaar te stuur deur 'n web-blaaier of deur die afgeleë PPK (API).</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Afstandbehere</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3842,7 +3855,7 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Wis Lied Gebruik Data Uit</translation> </message> @@ -3856,263 +3869,255 @@ Die inhoud enkodering is nie UTF-8 nie.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation>Wis regtig die geselekteerde Diens Gebruik data uit?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Diens Gebruik Ontrekking</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Selekteer Datum Grense</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>tot</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Rapporteer Ligging</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Uitvoer Lêer Ligging</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Voer liedere in deur van die invoer helper gebruik te maak.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Liedere Mini-program</strong><br/>Die liedere mini-program verskaf die vermoë om liedere te vertoon en te bestuur.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Redigeer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Wis uit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished">Regstreeks</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Liedere</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Liedere</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Outeur Onderhoud</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Vertoon naam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>Voornaam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Van:</translation> </message> @@ -4122,12 +4127,12 @@ The encoding is responsible for the correct character representation.</source> <translation>U moet die naam van die skrywer invul.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>U moet ten minste die skrywer se naam invoer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>'n Vertoon naam vir die skrywer is nie opgestel nie. Kan die naam en van gekombineer word?</translation> </message> @@ -4135,7 +4140,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4143,242 +4148,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Lied Redigeerder</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>Alt&ernatiewe titel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>&Lirieke:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>&Vers orde:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Voeg by</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>R&edigeer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>Red&igeer Alles</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Wis Uit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Titel && Lirieke</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Skrywers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Voeg by Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>Ve&rwyder</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>&Bestuur Skrywers, Onderwerpe en Lied Boeke</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Onderwerp</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>Voeg by Lie&d</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>V&erwyder</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Lied Boek</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Boek:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Nommer:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Skrywers, Onderwerpe && Lied Boek</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Tema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>Nuwe &Tema</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Kopiereg Informasie</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI nommer:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Kommentaar</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Tema, Kopiereg Informasie && Kommentaar</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Stoor && Voorskou</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Voeg Skrywer By</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>Hierdie skrywer bestaan nie, moet die skrywer bygevoeg word?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>Hierdie skrywer is alreeds in die lys.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>Geen Skrywer Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>Die geselekteerde skrywer is ongeldig. Kies 'n skrywer vanaf die lys of voer 'n nuwe skrywer in en kliek op die "Voeg Skrywer by Lied" knoppie om die skrywer by te voeg.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Voeg Onderwerp by</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>Die onderwerp bestaan nie. Voeg dit by?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>Die onderwerp is reeds in die lys.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>Geen Onderwep Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>Geselekteerde onderwerp is ongeldig. Kies 'n onderwerp vanaf die lys of voer 'n nuwe onderwerp in en kliek die "Voeg Onderwerp by Lied" knoppie om die onderwerp by te voeg.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>Tik 'n lied titel in.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>Ten minste een vers moet ingevoer word.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Waarskuwing</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>Die vers orde is ongeldig. Daar is geen vers wat ooreenstem met %s nie. Geldige opsies is %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>In die vers orde is %s nie gebruik nie. Kan die lied so gestoor word?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Voeg Boek by</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>Die lied boek bestaan nie. Voeg dit by?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4386,290 +4331,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Redigeer Vers</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>&Vers tipe:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>Sit Tussen-&in</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>Geen OpenLP 2.0 Lied Databasis Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>'n OpenLP 2.0 lied databasis moet geselekteer word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>Geen OpenLP 1.x Lied Databasis Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>'n OpenLP 1.x lied databasis moet geselekteer word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>Geen OpenSong Lêer Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>Ten minste een OpenSong lêer moet bygevoeg word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>Geen Words of Worship Lêer Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>Ten minste een Words of Worship lêer moet bygevoeg word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>Geen CCLI Lêer Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>Ten minste een CCLI lêer moet bygevoeg word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>Geen Songs of Fellowship Lêer Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>Ten minste een Songs of Fellowship lêer moet bygevoeg word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>Geen Dokument/Aanbieding Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>Ten minste een dokument of aanbieding moet bygevoeg word om vanaf in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>Selekteer OpenLP 2.0 Databasis Lêer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>Selekteer openlp.org 1.x Databasis Lêer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Selekteer Open Song Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>Selekteer Words of Worship Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>Selekteer CCLI Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>Selekteer Songs of Fellowship Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Selekteer Dokument/Aanbieding Lêers</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Invoer begin...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Lied Invoer Gids</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Welkom by die Lied Invoer Gids</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>Hierdie gids help met die invoer van liedere in verskillende formate. Kliek die volgende knoppie hieronder om die proses te begin deur 'n formaat te kies wat gebruik moet word vir invoer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Selekteer Invoer Bron</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Selekteer die invoer formaat en van waar af om in te voer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Formaat:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation>Words of Worship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation>CCLI/SongSelect</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation>Songs of Fellowship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Generiese Dokumentasie/Aanbieding</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Lêernaam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Deursoek...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>Die openlp.org 1.x invoerder is onaktief gestel weens 'n vermisde Python module. Om van hierdie invoerder gebruik te maak moet die "python-sqlite" module installeer word.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Voeg Lêers by...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Verwyder Lêer(s)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Die Songs of Fellowship invoerder is onaktief gestel omdat OpenLP nie OpenOffice.org op die rekenaar kon vind nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Die generiese dokument/aanbieding invoerder is onaktief gestel omdat OpenLP nie OpenOffice.org op die rekenaar kon vind nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Invoer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Wag asseblief terwyl die liedere ingevoer word.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Gereed.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>"%s" ingevoer...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>%s ingevoer...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>Geen EasyWorship Lied Databasis Geselekteer nie</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>'n EasyWorship lied databasis om vanaf in te voer moet geselekteer word.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>Selekteer EasyWorship Databasis Lêer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation>EasyWorship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>Die OpenLyrics invoerder is nog nie ontwikkel nie, maar soos gesien kan word is ons van mening om dit te doen. Hopelik sal dit in die volgende vrystelling wees.</translation> </message> @@ -4679,88 +4492,43 @@ The encoding is responsible for the correct character representation.</source> <translation>Toegedien deur %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">Alle Lêers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4768,116 +4536,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Lied Onderhoud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Handhaaf die lys van skrywers, onderwerpe en boeke</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Soek:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Soek</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Titels</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Lirieke</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Skrywers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>Selekteer 'n item om te regideer.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>Selekteer 'n item om uit te wis.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Wis Lied(ere) uit?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Temas</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">%s ingevoer...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation type="unfinished">%s ingevoer...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Lied Boek Onderhoud</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Naam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Uitgewer:</translation> </message> @@ -4887,33 +4612,31 @@ The encoding is responsible for the correct character representation.</source> <translation>'n Naam vir die boek moet ingevoer word.</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>kopiereg</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Invoer voltooi.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Lied invoer het misluk.</translation> </message> @@ -4921,157 +4644,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Lied Onderhoud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Skrywers</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Onderwerpe</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Lied Boeke</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Voeg By</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>R&edigeer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Wis Uit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>Skrywer kon nie bygevoeg word nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>Die skrywer bestaan reeds.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>Onderwerp kon nie bygevoeg word nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>Hierdie onderwerp bestaan reeds.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>Boek kon nie bygevoeg word nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>Hierdie boek bestaan reeds.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>Veranderinge kon nie gestoor word nie.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>Geredigeerde onderwerp kon nie gestoor word nie, want dit bestaan alreeds.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Wis Skrywer Uit</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Wis die geselekteerde skrywer uit?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>Die skrywer kan nie uitgewis word nie, omdat die skrywer aan ten minste een lied toegeken is.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>Geen skrywer geselekteer nie!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Wis Onderwerp Uit</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>Wis die geselekteerde onderwerp uit?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>Die onderwerp kan nie uitgewis word nie, omdat dit aan ten minste een lied toegeken is.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation> Geen onderwerp geselekteer nie!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Wis Boek Uit</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>Wis die geselekteerde boek uit?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>Die boek kan nie uitgewis word nie, omdat dit aan ten minste een lied toegeken is.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>Geen boek geselekteer nie!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>Geredigeerde skrywer kon nie gestoor word nie, omdat die skrywer reeds bestaan.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5107,12 +4780,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Onderwerp Onderhoud</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Onderwerp naam:</translation> </message> @@ -5125,7 +4798,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Vers</translation> </message> @@ -5135,37 +4808,29 @@ The encoding is responsible for the correct character representation.</source> <translation>Koor</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Brug</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Voor-Refrein</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Inleiding</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Slot</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Ander</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/de.ts b/resources/i18n/de.ts index e1daf3a2b..727cc13e2 100644 --- a/resources/i18n/de.ts +++ b/resources/i18n/de.ts @@ -3,24 +3,24 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>Kein Parameter gefunden</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>Sie haben keinen Parameter angegeben, der ersetzt werden könnte. Möchten Sie trotzdem fortfahren?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation>Kein Platzhalter gefunden</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>Der Hinweistext enthält kein '<>'. @@ -30,34 +30,34 @@ Möchten Sie trotzdem fortfahren?</translation> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Hinweis</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Hinweis anzeigen.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Hinweis Erweiterung</strong><br />Die Erweiterung Hinweis ermöglicht es, Texte auf der Anzeige einzublenden.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation>Hinweis</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation>Hinweise</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation>Hinweise</translation> @@ -66,30 +66,25 @@ Möchten Sie trotzdem fortfahren?</translation> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Hinweis</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Hinweis&text:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Neu</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Speichern</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Löschen</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -101,17 +96,17 @@ Möchten Sie trotzdem fortfahren?</translation> <translation>An&zeigen && Schließen</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Neuer Hinweis</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>Der Hinweis enthält noch keinen Text. Bitte geben Sie einen Text an, bevor Sie auf Neu klicken.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation>&Parameter:</translation> </message> @@ -127,260 +122,214 @@ Möchten Sie trotzdem fortfahren?</translation> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Schrift</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Anzeigedauer:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Ort:</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>oben</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>unten</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Schriftart:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Schriftfarbe:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Hintergrundfarbe:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Schriftgröße:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>mittig</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation>Download Fehler</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation>Formatfehler</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Beim Herunterladen des Bibeltextes ist ein Fehler aufgetreten. Bitte überprüfen Sie Ihre Internetverbindung. Sollte dieser Fehler dennoch auftreten, so wenden Sie sich bitte an den OpenLP Support.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Beim Auslesen des Bibeltextes ist ein Fehler aufgetreten. Sollte dieser Fehler wiederholt auftreten, so wenden Sie sich bitte an den OpenLP Support.</translation> </message> </context> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation>Verse aus Vergleichsübersetzungen können nicht mit Versen einzelner Übersetzungen kombiniert werden. Möchten Sie die Suchergebnisse löschen und eine neue Suche starten?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> - <translation type="unfinished"></translation> + <translation>Die Bibelübersetzung ist unvollständig.</translation> </message> </context> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bibelmodul</strong><br />Das Bibelmodul ermöglicht es Bibelverse aus verschiedenen Quellen anzuzeigen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>Eine Bibel importieren</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> - <source>Add a new Bible</source> - <translation>Einen neuen Bibeltext hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> - <source>Edit the selected Bible</source> - <translation>Den ausgewählten Bibeltext bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> - <source>Delete the selected Bible</source> - <translation>Den ausgewählten Bibeltext entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> - <source>Preview the selected Bible</source> - <translation>Den ausgewählten Bibeltext in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> - <source>Send the selected Bible live</source> - <translation>Den ausgewählten Bibeltext Live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> - <source>Add the selected Bible to the service</source> - <translation>Den augewählten Bibeltext zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation>Bibeltext</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation>Bibeln</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation>Bibeln</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation>&Importieren</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation>&Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation>&Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation>&Löschen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation>Kein Buch gefunden</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation>Es konnte kein passendes Buch gefunden werden. Überprüfen Sie bitte die Schreibweise.</translation> </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <source>Add a new Bible</source> + <translation>Füge eine neue Bibel hinzu</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> + <source>Edit the selected Bible</source> + <translation>Bearbeite die ausgewählte Bibel</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> + <source>Delete the selected Bible</source> + <translation>Lösche die ausgewählte Bibel</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> + <source>Preview the selected Bible</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> + <source>Send the selected Bible live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> + <source>Add the selected Bible to the service</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Fehler im Textverweis</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation>Für Onlinebibeln nicht verfügbar</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation>In Onlinebibeln ist Textsuche nicht möglich.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation>Es wurde kein Suchbegriff eingegeben. Um nach mehreren Begriffen gleichzeitig zu suchen, müssen die Begriffe durch ein Leerzeichen getrennt sein. Alternative Suchbegriffe müssen per Komma getrennt sein.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation>Keine Übersetzung verfügbar</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation>Zur Zeit sind keine Bibelübersetzungen installiert. Zur Suche muss eine solche mit dem Importassistent importiert werden.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -394,356 +343,207 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Bibelstellenanzeige</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Nur neue Kapitelnummern anzeigen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Seitenformat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Versangabenformat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Bibel-Design:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Verse pro Seite</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Verse pro Zeile</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Fortlaufend</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Keine Klammern</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( und )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ und }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ und ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Anmerkung: Änderungen beeinflussen keine Verse, welche bereits im Veranstaltungplan sind.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation>Vergleichsbibel anzeigen</translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation>%s %s wird importiert...</translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bibel Importassistent</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Willkommen beim Bibel Importassistenten</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>Dieser Assistent hilft Ihnen Bibeln aus verschiedenen Formaten zu importieren. Um den Assistenten zu starten klicken Sie auf »Weiter«.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Importquelle auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Auswahl des Importformates und der Quelle.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Onlinebibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Quelle:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Übersetzung:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Download Optionen</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Benutzername:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Passwort:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proxy-Server (optional)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Lizenzdetails</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Eingabe der Urheberrechtsangaben der Bibelübersetzung.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Copyright:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importieren</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Bitte warten Sie während Ihre Bibel importiert wird.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Fertig.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Ungültige Pfadangabe</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Eine Datei, die Ihre Bibel enthält, muss zum Import angegeben werden.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Ungültige Bücherdatei</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>Eine Buchinformations-Datei muss zum Import angegeben werden.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Ungültige Versdatei</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>Eine Bibeltext-Datei muss zum Import angegeben werden.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Ungültige OpenSong-Bibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>Eine OpenSong Bibel-Datei muss angegeben werden.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Leerer Übersetzungsname</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>Bitte geben Sie den Namen der Bibelübersetzung ein.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Fehlendes Copyright</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Übersetzung bereits vorhanden</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>OSIS Bibel öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>CSV Bücherdatei öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>CSV Bibeltext öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>OpenSong-Bibel öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Import startet...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Importvorgang abgeschlossen.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Der Bibelimport ist fehlgeschlagen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Bibeldatei:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Bücherdatei:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Bibeltext:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Bibeldatei:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Bibelausgabe:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>Das Copyright muss angegeben werden. Gemeinfreie Bibeln ohne Copyright sind als solche zu kennzeichnen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>Diese Bibel existiert bereit. Bitte geben Sie einen anderen Übersetzungsnamen an oder löschen Sie zuerst die Existierende.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation>openlp.org 1.x Bibeldatei öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation>Starte Erfassung der Bibel...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation>Erfassung abgeschlossen. @@ -751,141 +551,123 @@ Bitte beachten Sie, dass Bibeltexte bei Bedarf heruntergeladen werden. Daher ist eine Verbindung zum Internet erforderlich.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation>Genehmigung:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation>CSV Datei</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation>openlp.org 1.x Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation>Alle Dateien</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation>Bibleserver.com</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>Aufgrund einer fehlenden Programmabhängigkeit wurde der openlp.org 1.x-Importer deaktiviert. Um den openlp.org 1.x-Import zu nutzen muss das Programmpaket "python-sqlite" installiert werden.</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation>Bibeldatei:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation>Testamentdatei:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation>Bücherdatei:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation>Versedatei:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Schnellsuche</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Erweitert</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Übersetzung:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Bibelstelle:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Suchen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Ergebnisse:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Buch:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Kapitel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>Von:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>Bis:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Stellenangabe</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Textsuche</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>ersetzen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>ergänzen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Art der Suche:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation>Vergleichstext:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation>%s wird importiert...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation>Bibelstelle</translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %s wird importiert...</translation> @@ -894,12 +676,12 @@ Daher ist eine Verbindung zum Internet erforderlich.</translation> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation>Kodierung wird ermittelt (dies kann etwas dauern)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %s wird importiert...</translation> @@ -908,7 +690,7 @@ Daher ist eine Verbindung zum Internet erforderlich.</translation> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Sonderfolien Erweiterung</strong><br />Die Erweiterung Sonderfolien ermöglicht es beliebige Textfolien zu erstellen. Diese können in der gleichen Weise, wie Lieder dargestellt werden, bieten aber mehr Flexibilität.</translation> </message> @@ -929,382 +711,232 @@ Daher ist eine Verbindung zum Internet erforderlich.</translation> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Sonderfolien bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Folie teilen</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>Desig&n:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>A&utoren:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Speichern && Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Folie um eine Position nach unten verschieben</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Neue Folie am Ende einfügen</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Ausgewählte Folie bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Alle Folien bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Ausgewählte Folie löschen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Einen Seitenumbruch einfügen</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Bitte geben Sie einen Titel ein.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Es muss mindestens eine Folie erstellt werden.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Die Folie um eine Position nach oben verschieben.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation>&Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation>&Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation>&Alles bearbeiten</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation>&Löschen</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Sie haben nichts zum Bearbeiten ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Sie haben nichts zum Löschen ausgewählt.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation>Import</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation>Sonderfolien importieren</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation>Öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> - <source>Load a new Custom</source> - <translation>Sonderfolien öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation>Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> - <source>Add a new Custom</source> - <translation>Sonderfolien hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation>Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> - <source>Edit the selected Custom</source> - <translation>Die ausgewählten Sonderfolien bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation>Entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> - <source>Delete the selected Custom</source> - <translation>Die ausgewählten Sonderfolien entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> - <source>Preview the selected Custom</source> - <translation>Die ausgewählten Sonderfolien in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> - <source>Send the selected Custom live</source> - <translation>Die ausgewählten Sonderfolien live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> - <source>Add the selected Custom to the service</source> - <translation>Die augewählten Sonderfolien zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation>Sonderfolien</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation>Sonderfolien</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation>Sonderfolien</translation> </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation>Erstelle eine neue Sonderfolie</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation>Bearbeite die ausgewählte Sonderfolie</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation>Lösche die ausgewählte Sonderfolie</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <source>Add the selected Custom to the service</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Bilder Erweiterung</strong><br />Die Erweiterung Bilder ermöglicht die Anzeige von Bildern.<br />Eine der besonderen Eigenschaften dieser Erweiterung ist die Möglichkeit, in der Ablaufverwaltung, mehrere Bilder zu einer Gruppe zusammen zu fassen. Dies vereinfacht die die Anzeige mehrerer Bilder. Ebenso kann mit Hilfe der Zeitschleife, sehr einfach eine Diaschau erzeugt werden, welche dann automatisch abläuft. Des weiteren können mit dieser Erweiterung Bilder benutzt werden, um das Hintergrundbild des aktuellen Design zu ersetzen.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation>Öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> - <source>Load a new Image</source> - <translation>Bilder öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation>Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> - <source>Add a new Image</source> - <translation>Bilder hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation>Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> - <source>Edit the selected Image</source> - <translation>Bilder bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation>Entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> - <source>Delete the selected Image</source> - <translation>Die ausgewählten Bilder entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> - <source>Preview the selected Image</source> - <translation>Die ausgewählten Bilder in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> - <source>Send the selected Image live</source> - <translation>Die ausgewählten Bilder Live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> - <source>Add the selected Image to the service</source> - <translation>Die augewählten Bilder zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation>Bild</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation>Bilder</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation>Bilder</translation> </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Füge eine neues Bild hinzu</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Bearbeite das ausgewählte Bild</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> + <source>Delete the selected Image</source> + <translation>Lösche da ausgewählte Bild</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <source>Preview the selected Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> + <source>Send the selected Image live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> + <source>Add the selected Image to the service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation>Anhang auswählen</translation> + </message> </context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Bilder auswählen</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Alle Dateien</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Live-Hintergrund ersetzen</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Bild(er)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Hintergrund ersetzen</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>Das Bild, das entfernt werden soll, muss ausgewählt sein.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>Das Bild, das Sie als Hintergrund setzen möchten, muss ausgewählt sein.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Den Live-Hintergrund zurücksetzen</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation>Hintergrund zurücksetzen</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation>Fehlende Bilder</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation>Auf die folgenden Bilder kann nicht mehr zugegriffen werden: %s</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation>Auf die folgenden Bilder kann nicht mehr zugegriffen werden: %s. Wollen Sie die anderen Bilder trotzdem hinzufügen?</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation>Fehlendes Bild</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation>Da auf das Bild »%s« nicht mehr zugegriffen werden kann, konnte es nicht als Hintergrund gesetzt werden.</translation> </message> @@ -1312,176 +944,111 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen?</translation> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Erweiterung Medien</strong><br />Die Erweiterung Medien ermöglicht es Audio- und Videodateien abzuspielen.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation>Öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> - <source>Load a new Media</source> - <translation>Mediendatei öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation>Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> - <source>Add a new Media</source> - <translation>Mediendatei hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation>Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> - <source>Edit the selected Media</source> - <translation>Die ausgewählte Mediendatei bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation>Entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> - <source>Delete the selected Media</source> - <translation>Die ausgewählte Mediendatei entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> - <source>Preview the selected Media</source> - <translation>Die ausgewählte Mediendatei in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> - <source>Send the selected Media live</source> - <translation>Die ausgewählte Mediendatei live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> - <source>Add the selected Media to the service</source> - <translation>Die augewählte Mediendatei zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation>Medien</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation>Medien</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation>Medien</translation> </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> + <source>Load a new Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> + <source>Add a new Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> + <source>Edit the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> + <source>Delete the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> + <source>Preview the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> + <source>Send the selected Media live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Mediendatei</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Mediendatei auswählen</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Live-Hintergrund ersetzen</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Hintergrund ersetzen</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>Das Video, das entfernt werden soll, muss ausgewählt sein.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation>Videos (%s);;Audio (%s);Alle Dateien (*)</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation>Fehlende Mediendatei</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation>Die Mediendatei »%s« existiert nicht mehr.</translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation>Hintergrund zurücksetzen</translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> <translation>Das Video, das Sie als Hintergrund setzen möchten, muss ausgewählt sein.</translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation>Fehlende Mediendatei</translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation>Da auf die Mediendatei »%s« nicht mehr zugegriffen werden kann, konnte sie nicht als Hintergrund gesetzt werden.</translation> </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> + <translation>Video (%s);;Audio (%s);;%s (*)</translation> + </message> </context> <context> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation>Medien</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation>Medienanzeige</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation>Videos über Phonon abspielen</translation> </message> @@ -1489,18 +1056,13 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen?</translation> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Bilddateien</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>Über OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1519,12 +1081,7 @@ Erkunden Sie OpenLP: http://openlp.org/ OpenLP wird von freiwiligen Helfern programmiert und gewartet. Wenn Sie sich mehr freie christliche Programme wünschen, ermutigen wir Sie, sich doch sich zu beteiligen und den Knopf weiter unten nutzen.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>Über</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Danksagungen</translation> </message> @@ -1544,7 +1101,7 @@ OpenLP wird von freiwiligen Helfern programmiert und gewartet. Wenn Sie sich meh <translation> build %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1648,9 +1205,11 @@ Schlusswort weil er uns befreit hat.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1780,304 +1339,230 @@ Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gno Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> - <translation>Copyright © 2004-2011 Raoul Snyman\n -Anteilige Copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard\n -\n -Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License in der Version 2, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren.\n -\n -Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, jedoch OHNE IRGENDEINE GARANTIE; sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.\n -\n -\n -GNU General Public License\n -Deutsche Übersetzung der Version 2, Juni 1991\n -\n -Copyright © 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA\n -\n -Es ist jedermann gestattet, diese Lizenzurkunde zu vervielfältigen und unveränderte Kopien zu verbreiten; Änderungen sind jedoch nicht erlaubt.\n -Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion!\n -\n -Vorwort\n -\n -Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die Allgemeine Öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License, der Allgemeinen Öffentlichen GNU-Lizenz für Bibliotheken.) [Mittlerweile wurde die GNU Library Public License von der GNU Lesser Public License abgelöst - Anmerkung des Übersetzers.]\n -\n -Die Bezeichnung „freie“ Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen.\n -\n -Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern.\n -\n -Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch die Empfänger den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen.\n -\n -Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern.\n -\n -Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, daß die Empfänger wissen, daß sie nicht das Original erhalten haben, damit irgendwelche von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen.\n -\n -Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir möchten die Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden darf.\n -\n -Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung:\n -\n -Allgemeine Öffentliche GNU-Lizenz\n -\n -Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung\n -\n -§0. Diese Lizenz gilt für jedes Programm und jedes andere Datenwerk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, daß das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Datenwerk als „das Programm“ bezeichnet; die Formulierung „auf dem Programm basierendes Datenwerk“ bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Datenwerk, welches das Programm, auch auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (Im folgenden wird die Übersetzung ohne Einschränkung als „Bearbeitung“ eingestuft.) Jeder Lizenznehmer wird im folgenden als „Sie“ angesprochen.\n -\n -Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab.\n -\n -§1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgelt eine Garantie für das Programm anbieten.\n -\n -§2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem Programm basierendes Datenwerk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle im folgenden genannten Bedingungen erfüllt werden:\n -\n - 1. Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist.\n -\n - 2. Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird.\n -\n - 3. Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben).\n -\n -Diese Anforderungen gelten für das bearbeitete Datenwerk als Ganzes. Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vernünftigerweise als unabhängige und eigenständige Datenwerke für sich selbst zu betrachten sind, dann gelten diese Lizenz und ihre Bedingungen nicht für die betroffenen Teile, wenn Sie diese als eigenständige Datenwerke weitergeben. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weitergeben, das ein auf dem Programm basierendes Datenwerk darstellt, dann muß die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden - und somit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor.\n -\n -Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte für Datenwerke streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Datenwerken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuüben.\n -\n -Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder einem auf dem Programm basierenden Datenwerk auf ein- und demselben Speicheroder Vertriebsmedium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz.\n -\n -§3. Sie dürfen das Programm (oder ein darauf basierendes Datenwerk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen der Paragraphen 1 und 2 kopieren und weitergeben - vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen:\n -\n - 1. Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder:\n -\n - 2. Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder:\n -\n - 3. Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot gemäß Absatz b erhalten haben.)\n -\n -Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet „der komplette Quelltext“: Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm.\n -\n -Wenn die Verbreitung eines ausführbaren Programms oder von Objectcode dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren.\n -\n -§4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen.\n -\n -§5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Datenwerk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Datenwerks.\n -\n -§6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Datenwerk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen.\n -\n -§7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten.\n -\n -Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Einfluß.\n -\n -Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird.\n -\n -§8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben.\n -\n -§9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, daß es dieser Lizenz in einer bestimmten Versionsnummer oder "jeder späteren Version" (\\any later version") unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde.\n -\n -§10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Datenwerke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fördern.\n -\n -Keine Gewährleistung\n -\n -§11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, „wie es ist“, ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen.\n -\n -§12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war.\n -\n -Ende der Bedingungen</translation> + <translation></translation> </message> </context> <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Erweitert</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>Benutzeroberfläche</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Listeneinträge zuletzt geöffneter Abläufe:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Aktiven Reiter der Medienverwaltung speichern</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation>Objekte bei Doppelklick live anzeigen</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation>Neue Ablaufelemente bei ausklappen</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> - <translation>Verlassen von OpenLP bestätigen</translation> + <translation>Aktiviere Bestätigung beim Schließen</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> + <translation>Mauszeiger</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Hintergrundfarbe:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">Ablauf öffnen</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">Auswahl bearbeiten</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">Aktualisieren</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">Beschreibung</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished">Tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished">Anfangs Tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished">End Tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">Standard</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished">Tag ID</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished">Anfangs HTML</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished">End HTML</translation> + </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> - <translation type="unfinished"></translation> + <translation>Aktualisierungsfehler</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> - <translation type="unfinished"></translation> + <translation>Tag "n" bereits definiert.</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> - <translation type="unfinished"></translation> + <translation>Tag %s bereits definiert.</translation> </message> </context> <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Ups! OpenLP hat ein Problem und kann es nicht beheben. Der Text im unteren Fenster enthält Informationen, welche möglicherweise hilfreich für die OpenLP Entwickler sind. Bitte senden Sie eine E-Mail an: bugs@openlp.org mit einer auführlichen Beschreibung was Sie taten als das Problem auftrat.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Fehler aufgetreten</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation>E-Mail senden</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation>In Datei speichern</translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation>Plattform: %s </translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>Fehlerprotokoll speichern</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>Textdateien (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s </source> - <translation>**OpenLP Fehlerbericht** -Version: %s - ---- Ausnahmenrückverfolgung --- -%s ---- Systeminformation --- -%s ---- Bibliotheksversionen --- -%s -</translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation>Fehlerprotokoll speichern</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation>Textdateien (*.txt *.log *.text)</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -2085,36 +1570,23 @@ Version: %s %s </source> <comment>Please add the information that bug reports are favoured written in English.</comment> - <translation>*OpenLP Fehlerbericht* -Version: %s - ---- Bitte geben Sie ein Fehlerprotokoll unterhalb dieser Linie ein. --- -(Wenn möglich verfassen Sie diesen in Englisch, da die meißten Entwickler kein Deutsch verstehen) - - ---- Ausnahmenrückverfolgung --- -%s ---- Systeminformation --- -%s ---- Bibliotheksversionen --- -%s -</translation> + <translation></translation> </message> </context> <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation>Datei umbenennen</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation>Neuer Dateiname:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation>Datei kopieren</translation> </message> @@ -2122,130 +1594,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>Allgemein</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Bildschirme</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Projektionsbildschirm:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Anzeige bei nur einem Bildschirm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Programmstart</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Warnung wenn Projektion deaktiviert wurde</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Zuletzt benutzten Ablauf beim Start laden</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Zeige den Startbildschirm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Anwendungseinstellungen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Geänderte Abläufe nicht ungefragt ersetzen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Vorschau des nächsten Ablaufelements</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Schleifenverzögerung:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation> sek</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI-Details</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI Nummer:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect Benutzername:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect Passwort:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Anzeigeposition</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Höhe</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Breite</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Anzeigeposition überschreiben</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation>Bildschirm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation>Hauptbildschirm</translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation>Prüfe nach Aktualisierungen</translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2263,7 +1735,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation>OpenLP Anzeige</translation> </message> @@ -2271,407 +1743,372 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&Datei</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Importieren</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Exportieren</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&Ansicht</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>An&sichtsmodus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>E&xtras</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Einstellungen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Sprache</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Hilfe</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Medienverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Ablaufverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Designverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&Neu</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Einen neuen Ablauf erstellen</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Einen neuen Ablauf erstellen.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Strg+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>Ö&ffnen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Einen vorhandenen Ablauf öffnen</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Einen vorhandenen Ablauf öffnen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Strg+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Speichern</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Den aktuellen Ablauf speichern</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Den aktuellen Ablauf speichern.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Strg+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Speichern &unter...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Den aktuellen Ablauf unter einem neuen Namen speichern</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Den aktuellen Ablauf unter einem neuen Namen speichern.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Strg+Umschalt+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>&Beenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>OpenLP beenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Design</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Einstellungen...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Medienverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Die Medienverwaltung ein- bzw. ausblenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Die Medienverwaltung ein- bzw. ausblenden.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Designverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Die Designverwaltung ein- bzw. ausblenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Die Designverwaltung ein- bzw. ausblenden.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Ablaufverwaltung</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Die Ablaufverwaltung ein- bzw. ausblenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Die Ablaufverwaltung ein- bzw. ausblenden.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> - <translation>&Vorschau</translation> + <translation>&Vorschau Ansicht</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Die Vorschau ein- bzw. ausblenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Die Vorschau ein- bzw. ausschalten.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>&Live Ansicht</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Die Live Ansicht ein- bzw. ausschalten</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Die Live Ansicht ein- bzw. ausschalten.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>Er&weiterungen...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Erweiterungen verwalten</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>Benutzer&handbuch</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&Info über OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>Mehr Informationen über OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Strg+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Online Hilfe</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Webseite</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Automatische Auswahl</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Die Systemsprache, sofern diese verfügbar ist, verwenden.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Die Sprache von OpenLP auf %s stellen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Hilfsprogramm hin&zufügen...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Eine Anwendung zur Liste der Hilfsprogramme hinzufügen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Standard</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Den Ansichtsmodus auf Standardeinstellung setzen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Einrichten</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Die Ansicht für die Ablauferstellung optimieren.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Live</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Die Ansicht für den Live-Betrieb optimieren.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>Neue OpenLP Version verfügbar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>Hauptbildschirm abgedunkelt</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>Die Projektion ist momentan nicht aktiv.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Änderungen am Ablauf speichern?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Der Ablauf wurde geändert. Wollen Sie diese Änderungen speichern?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Standarddesign: %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2686,75 +2123,85 @@ Sie können die letzte Version auf http://openlp.org abrufen.</translation> <translation>Deutsch</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation>&Tastenkürzel einrichten...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation>OpenLP beenden</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation>Sind Sie sicher, dass OpenLP beendet werden soll?</translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation>Drucke den aktuellen Ablauf.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation>Strg+P</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Keine Elemente ausgewählt.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>Zum &gewählten Ablaufelement hinzufügen</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Zur Vorschau muss mindestens ein Elemente auswählt sein.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>Zur Live Anzeige muss mindestens ein Element ausgewählt sein.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Es muss mindestens ein Element ausgewählt sein.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>Kein Element ausgewählt</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>Sie müssen mindestens ein Element markieren.</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>Kein Ablaufelement ausgewählt</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>Sie müssen ein vorhandenes Ablaufelement auswählen.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Ungültiges Ablaufelement</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>Sie müssen ein %s-Element im Ablaufs wählen.</translation> </message> @@ -2762,25 +2209,15 @@ Sie können die letzte Version auf http://openlp.org abrufen.</translation> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Erweiterungen</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Erweiterungsdetails</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Version:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>Über:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2797,238 +2234,319 @@ Sie können die letzte Version auf http://openlp.org abrufen.</translation> <translation>inaktiv</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (inaktiv)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (aktiv)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (deaktiviert)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Aufnahme Ablaufelement</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Löschen</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished">Drucke Folientext wenn verfügbar</translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished">Drucke Element Notizen</translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished">Drucke Spiellänge von Medien Elementen</translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished">Ablauf</translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Aufnahme Ablaufelement</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>Neuer Ablauf</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Einen neuen Ablauf erstellen</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Ablauf öffnen</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Einen bestehenden Ablauf öffnen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Ablauf speichern</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Dan aktuellen Ablauf speichern</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Design:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Design für den Ablauf auswählen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Zum &Anfang schieben</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Das ausgewählte Element an den Anfang des Ablaufs verschieben.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Nach &oben schieben</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Das ausgewählte Element um eine Position im Ablauf nach oben verschieben.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Nach &unten schieben</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Das ausgewählte Element um eine Position im Ablauf nach unten verschieben.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Zum &Ende schieben</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Das ausgewählte Element an das Ende des Ablaufs verschieben.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>Vom Ablauf &löschen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Das ausgewählte Element aus dem Ablaufs entfernen.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Neues Element hinzufügen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Zum gewählten Element hinzufügen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>Element &bearbeiten</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>&Aufnahmeelement</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Notizen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>Seite in der &Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>Seite Live &zeigen</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Design des Elements ändern</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>Die gewählte Datei ist keine gültige OpenLP Ablaufdatei. Der Inhalt ist nicht in UTF-8 kodiert.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>Die Datei ist keine gültige OpenLP Ablaufdatei.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Fehlende Anzeigesteuerung</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Dieses Element kann nicht angezeigt werden, da es keine Steuerung dafür gibt.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Dieses Element kann nicht angezeigt werden, da die zugehörige Erweiterung fehlt oder inaktiv ist.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation>Alle au&sklappen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation>Alle Ablaufelemente ausklappen.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation>Alle ei&nklappen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation>Alle Ablaufelemente einklappen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation>Änderungen speichern</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation>Der geöffnete Ablauf wurde geändert. Möchten Sie die Änderungen speichern?</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation>Ablauf öffnen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation>OpenLP Ablaufdateien (*.osz)</translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation>Modifizierter Ablauf</translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation>Notizen:</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation>Der momentane Ablauf wurde modifiziert. Möchten Sie ihn speichern?</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Elementnotiz</translation> </message> @@ -3036,7 +2554,7 @@ Der Inhalt ist nicht in UTF-8 kodiert.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Konfiguriere OpenLP</translation> </message> @@ -3059,17 +2577,17 @@ Der Inhalt ist nicht in UTF-8 kodiert.</translation> <translation>Tastenkürzel</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation>Standard: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation>Benutzerdefiniert:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation>Kein</translation> </message> @@ -3083,137 +2601,180 @@ Der Inhalt ist nicht in UTF-8 kodiert.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation>Das Tastenkürzel »%s« ist bereitz einer anderen Aktion zugeordnet. Bitte wählen Sie ein anderes Tastenkürzel.</translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation>Alternative</translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Vorherige Seite anzeigen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Nächste Seite anzeigen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Verbergen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Zur Live Ansicht verschieben</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Endlosschleife starten</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Endlosschleife stoppen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Pause zwischen den Folien in Sekunden</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Abspielen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Gehe zu</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Bearbeiten und Liedvorschau aktualisieren</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation>Anzeige abdunkeln</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation>Design leeren</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation>Desktop anzeigen</translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Rechtschreibvorschläge</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Formatkürzel</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation>Alle Dateien</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation>Stunden:</translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation>h</translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation>m</translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation>Minuten:</translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation>Sekunden:</translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation>Bild auswählen</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation>Designname fehlt</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation>Es wurde kein Designname angegeben. Bitte benennen Sie das Design.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation>Designname ungültig</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation>Der Designname ist ungültig. Bitte ändern Sie diesen.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation>(%d Zeilen pro Seite)</translation> </message> @@ -3221,525 +2782,475 @@ Der Inhalt ist nicht in UTF-8 kodiert.</translation> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>Neues Design</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>Create a new theme.</source> - <translation>Ein neues Design erstellen.</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> - <source>Edit Theme</source> - <translation>Design bearbeiten</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Ein bestehendes Design bearbeiten.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> - <source>Delete Theme</source> - <translation>Design löschen</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Ein Design löschen.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> - <source>Import Theme</source> - <translation>Design importieren</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Ein Design aus einer Datei importieren.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> - <source>Export Theme</source> - <translation>Design exportieren</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Ein Design in eine Datei exportieren.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>Design &bearbeiten</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>Design &löschen</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Als &globalen Standard setzen</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (standard)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>Zum Bearbeiten muss ein Design ausgewählt sein.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>Es ist nicht möglich das Standarddesign zu entfernen.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>Es ist kein Design ausgewählt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Speicherort für »%s«</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Design exportiert</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>Das Design wurde erfolgreich exportiert.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>Designexport fehlgeschlagen</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>Dieses Design konnte aufgrund eines Fehlers nicht exportiert werden.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>OpenLP Designdatei importieren</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>Die Datei ist keine gültige OpenLP Designdatei. Sie ist nicht in UTF-8 kodiert.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>Diese Datei ist keine gültige OpenLP Designdatei.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>Das Design %s wird in der %s Erweiterung benutzt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation>Design &kopieren</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation>Design &umbenennen</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation>Design &exportieren</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation>Es ist kein Design zur Umbenennung ausgewählt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation>Umbenennung bestätigen</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation>Soll das Design »%s« wirklich umbenennt werden?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation>Es ist kein Design zum Löschen ausgewählt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation>Löschbestätigung</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation>Sott das Design »%s« wirklich gelöscht werden?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="564"/> + <source>A theme with this name already exists.</source> + <translation>Ein Design mit diesem Namen existiert bereits.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="66"/> + <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> - <source>A theme with this name already exists.</source> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit Theme</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation>OpenLP Designs (*.theme *.otz)</translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation>Designassistent</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation>Willkomen beim Designassistenten</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation>Hintergrund einrichten</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation>Der Designhintergrund wird anhand der Parameter unten eingerichtet.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation>Hintergrundart:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation>Füllfarbe</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation>Farbverlauf</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation>Bild</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation>Farbe:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation>Verlauf:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation>horizontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation>vertikal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation>radial</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation>diagonal abwärts</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation>diagonal aufwärts</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation>Bild:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation>Schriftschnitt und -farbe</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation>Die Schrift und die Anzeigeeigenschaften für die Hauptanzeigefläche einrichten</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation>Schriftart:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation>Schriftgröße:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation>Zeilenabstand:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation>&Umrandung:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation>S&chatten:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation>&fett</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation>&kursiv</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation>Fußzeile einrichten</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation>Die Schrift und die Anzeigeeigenschaften für die Fußzeile einrichten</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation>Weitere Formatierung</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation>Hier können zusätzliche Anzeigeeigenschaften eingerichtet werden.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation>Horizontale Ausrichtung:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation>links</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation>rechts</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation>zentriert</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation>Vertikale Ausrichtung:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation>oben</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation>mittig</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation>unten</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation>Anzeigeflächen</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation>Hier ist es möglich Hauptanzeigefläche und die Fußzeile zu verschieben.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation>&Hauptanzeigefläche</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation>&Automatisch positionieren</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation>Von links:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation>px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation>Von oben:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation>Breite:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation>Höhe:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation>Automatisch positionieren</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation>Vorschau und Speichern</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation>Eine Vorschau anzeigen und das Design abspeichern</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation>Designname:</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation>Neues Design</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation>Dieser Assistent hilft Ihnen Designs zu erstellen oder zu bearbeiten. Klicken Sie auf »Weiter« um den Hintergrund einzurichten.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation>Übergänge:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation>&Fußzeile</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> - <translation type="unfinished"></translation> + <translation>Bearbeite Design - %s</translation> </message> </context> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Designs</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Globales Standarddesign</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Designstufe</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>&Liedstufe</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>Das im jeweiligen Lied eingestellte Design wird verwendet. Wenn für ein Lied kein Design festgelegt ist, wird das Ablaufdesign verwendet. Wenn dort auch kein Design festgelegt wurde, wird das Standarddesign benutzt.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>&Ablaufstufe</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>Das dem Ablauf zugewiesene Design wird genutzt. Das im Lied eingestellte Design wird ignoriert. Wenn dem Ablauf kein Design zugeordnet ist, dann wird das Standarddesign verwendet.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Globale Stufe</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Das Standarddesign immer verwenden, unabhängig vom Lieddesign oder Ablaufdesign.</translation> </message> @@ -3747,189 +3258,573 @@ Sie ist nicht in UTF-8 kodiert.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> - <translation type="unfinished">Fehler</translation> + <translation>Fehler</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation>&Löschen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation>&Hinzufügen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation>Erweitert</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation>Alle Dateien</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation>&Bearbeiten</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation>Import</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation>Live</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation>Öffnen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation>Neu</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation>OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation>Vorschau</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation>Hintergrund ersetzen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation>Live-Hintergrund ersetzen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation>Hintergrund zurücksetzen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation>Live-Hintergrund zurücksetzen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation>Ablauf</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation>oben</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation>mittig</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation>unten</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation>Erstelle neuen Ablauf</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation>Länge %s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation>Neuer Ablauf</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation>Öffne Ablauf</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation>Speicher Ablauf</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Über</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Durchsuchen...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">Abbrechen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Bild</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Neues Design</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Keine Elemente ausgewählt.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished">Ablauf drucken</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Speichern && Vorschau</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Suchen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">Es ist kein Lied zur Bearbeitung ausgewählt.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Design</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Designs</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Importvorgang abgeschlossen.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Format:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importieren</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">»%s« wird importiert...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Importquelle auswählen</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Fertig.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Willkommen beim Bibel Importassistenten</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Willkommen beim Lied Importassistenten</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Autoren</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Liederbuch</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Liederbücher</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Liedverwaltung</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Thema</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Themen</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Erweiterung Präsentationen</strong><br />Die Erweiterung Präsentationen ermöglicht die Darstellung von Präsentationen, unter Verwendung verschiedener Programme. In einer Auswahlbox kann eines der verfügbaren Programme gewählt werden.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation>Öffnen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> - <source>Load a new Presentation</source> - <translation>Eine neue Präsentation laden</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation>Entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> - <source>Delete the selected Presentation</source> - <translation>Die ausgewählte Präsentation entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> - <source>Preview the selected Presentation</source> - <translation>Die ausgewählte Präsentation in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> - <source>Send the selected Presentation live</source> - <translation>Die ausgewählte Präsentation live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> - <source>Add the selected Presentation to the service</source> - <translation>Die augewählte Präsentation zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation>Präsentation</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation>Präsentationen</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation>Präsentationen</translation> </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> + <source>Load a new Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> + <source>Delete the selected Presentation</source> + <translation>Lösche die ausgewählte Präsentatione</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <source>Add the selected Presentation to the service</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Präsentationen auswählen</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>automatisch</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Anzeigen mit:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>Eine Präsentation mit diesem Dateinamen existiert bereits.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>Zum Entfernen muss eine Präsentationsdatei ausgewählt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>Datei existiert</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Nicht unterstütztes Dateiformat</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>Präsentationsdateien dieses Dateiformats werden nicht unterstützt.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation>Präsentationen (%s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation>Fehlende Präsentation</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation>Die Präsentation »%s« existiert nicht mehr.</translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation>Die Präsentation %s ist nicht vollständig, bitte neu laden.</translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Verwendete Präsentationsprogramme</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Erweitert</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>Präsentationsprogramm kann ersetzt werden</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>Erweiterung Fernsteuerung</strong><br />Die Erweiterung Fernsteuerung ermöglicht es eine laufende Version von OpenLP von einem anderen Computer über einen Web-Browser oder über die Fernsteuerungsoberfläche zu steuern.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation>Fernsteuerung</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation>Fernsteuerung</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation>Fernsteuerung</translation> @@ -4017,7 +3912,7 @@ Sie ist nicht in UTF-8 kodiert.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Protokolldaten löschen</translation> </message> @@ -4031,263 +3926,256 @@ Sie ist nicht in UTF-8 kodiert.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation>Sind sie sicher, dass die ausgewählten Protokolldaten löschen wollen?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation>Löschung erfolgreich</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Protokoll extrahieren</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Zeitspanne</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>bis</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Speicherort für die Statistiken</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Speicherort</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation>Aufrufprotokoll_%s_%s.txt</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Lieder importieren.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Erweiterung Lieder</strong><br />Die Erweiterung Lieder ermöglicht die Darstellung und Verwaltung von Liedtexten.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation>Liederverzeichnis &reindizieren</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation>Das reindizieren der Liederdatenbank kann die Suchergebnisse verbessern.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation>Reindiziere die Liederdatenbank...</translation> </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation>Abbrechen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation>Hinzufügen</translation> - </message> <message> <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> - <source>Add a new Song</source> - <translation>Ein neues Lied hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation>Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> - <source>Edit the selected Song</source> - <translation>Das ausgewählte Lied bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation>Entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> - <source>Delete the selected Song</source> - <translation>Das ausgewählte Lied entfernen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation>Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> - <source>Preview the selected Song</source> - <translation>Das ausgewählte Lied in der Vorschau zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> - <source>Send the selected Song live</source> - <translation>Das ausgewählte Lied live zeigen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation>Ablauf</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> - <source>Add the selected Song to the service</source> - <translation>Das augewählte Lied zum Ablauf hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> <source>Song</source> <comment>name singular</comment> <translation>Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation>Lieder</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation>Lieder</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation>Arabisch (CP-1256)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation>Baltisch (CP-1257)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation>Zentraleuropäisch (CP-1250)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation>Kyrillisch (CP-1251)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation>Griechisch (CP-1253)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation>Hebräisch (CP-1255)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation>Japanisch (CP-932)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation>Koreanisch (CP-949)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation>Chinesisch, vereinfacht (CP-936)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation>Thailändisch (CP-874)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation>Chinesisch, traditionell (CP-950)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation>Türkisch (CP-1254)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation>Vietnamesisch (CP-1258)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation>Westeuropäisch (CP-1252)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation>Zeichenkodierung</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> - <translation>Bitte wählen sie die Zeichenkodierung. Diese ist für die korrekte Darstellung der Sonderzeichen verantwortlich.</translation> + <translation>Bitte wählen sie die Zeichenkodierung. +Diese ist für die korrekte Darstellung der Sonderzeichen verantwortlich.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> + <source>Add a new Song</source> + <translation>Erstelle eine neues Lied</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation>Bearbeite das ausgewählte Lied</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> + <source>Delete the selected Song</source> + <translation>Lösche das ausgewählte Lied</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> + <source>Preview the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> + <source>Send the selected Song live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> + <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Autorenverwaltung</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Anzeigename:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>Vorname:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Nachname:</translation> </message> @@ -4297,12 +4185,12 @@ Usually you are fine with the preselected choice.</source> <translation>Der Vornamen des Autors muss angegeben werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>Der Nachname des Autors muss angegeben werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>Es wurde kein Anzeigename für den Autor angegeben. Soll der Vor- und Nachname kombiniert werden?</translation> </message> @@ -4310,7 +4198,7 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation>Lied %d von %d wird importiert.</translation> </message> @@ -4318,242 +4206,182 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Lied bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>Lied&text:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>&Alles Bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Löschen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Titel && Liedtext</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Autoren</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Hinzufügen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Entfernen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Thema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>H&inzufügen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>&Entfernen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Liederbuch</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Design</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>Neues &Design</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Copyright</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Kommentare</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Design, Copyright && Kommentare</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Speichern && Vorschau</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Autor hinzufügen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>Dieser Autor existiert nicht. Soll er zur Datenbank hinzugefügt werden?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>Kein Autor ausgewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>Es wurde kein gültiger Autor ausgewählt. Bitte wählen Sie einen Autor aus der Liste oder geben Sie einen neuen Author ein und drücken die Schaltfläche »Author hinzufügen«.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Thema hinzufügen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>Dieses Thema existiert nicht. Soll es zur Datenbank hinzugefügt werden?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>Kein Thema gewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>Es wurde kein gültiges Thema ausgewählt. Bitte wählen Sie ein Thema aus der Liste oder geben Sie ein neues Thema ein und drücken die Schaltfläche »Thema hinzufügen«.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Liederbuch hinzufügen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>Dieses Liederbuch existiert nicht. Soll es zur Datenbank hinzugefügt werden?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>Ein Liedtitel muss angegeben sein.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>Mindestens ein Vers muss angegeben sein.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>Die Versfolge ist ungültig. Es gibt keinen Vers mit der Kennung »%s«. Gültige Werte sind »%s«.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>»%s« wurde nirgends in der Versfolge verwendet. Wollen Sie das Lied trotzdem so abspeichern?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>&Zusatztitel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>&Versfolge:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>&Datenbankeinträge verwalten</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Autoren, Themen && Liederbücher</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCL-Nummer:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>Dieser Autor ist bereits vorhanden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>Dieses Thema ist bereits vorhanden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Liederbuch:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Nummer:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation>Das Lied benötigt mindestens einen Author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation>Das Lied benötigt mindestens einen Vers.</translation> </message> @@ -4561,290 +4389,158 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Vers bearbeiten</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>&Verstyp:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>&Einfügen</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation>Verzeichnis:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation>Exportiere</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>Keine OpenSong Dateien ausgewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>Mindestens ein OpenSong Lieddatei muss für den Import ausgewählt werden.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>Keine CCLI Dateien ausgewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>Mindestens eine CCLI Datei muss für den Import ausgewählt werden.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Import wird gestartet...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Lied Importassistent</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Willkommen beim Lied Importassistenten</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>Dieser Assistent hilft Ihnen Liedtexte aus verschiedenen Formaten zu importieren. Klicken Sie auf »Weiter« um das Quellformat auszuwählen, aus dem Sie importieren möchen.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Importquelle auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Auswahl des Importformates und der Importquelle.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Hinzufügen...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Entfernen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Dateiname:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Durchsuchen...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Importieren</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Die Liedtexte werden importiert. Bitte warten.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Fertig.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>Keine OpenLP 2.0 Lieddatenbank ausgewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>Für den Import muss eine OpenLP 2.0 Lieddatenbank ausgewählt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>Keine openlp.org 1.x Lieddatenbank ausgewählt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>Für den Import muss eine openlp.org 1.x Lieddatenbank ausgewählt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>Keine »Words of Worship«-Dateien</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>Mindestens eine »Words of Worship«-Datei muss für den Import hinzufügt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>Keine »Songs of Fellowship«-Dateien</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>Mindestens eine »Songs of Fellowship«-Datei muss für den Import hinzufügt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>Keine Präsentationen oder Dokumente</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>Mindestens eine Präsentation oder ein Textdokument muss für den Import hinzufügt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>OpenLP 2.0 Datenbank auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>openlp.org 1.x Datenbank auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Open Song-Lieddateien auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>»Word of Worship«-Dateien auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>CCLI-Dateien auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>»Songs of Fellowship«-Dateien auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Präsentationen/Textdokumente auswählen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation>Words of Worship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation>CCLI/SongSelect</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation>Songs of Fellowship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Präsentation/Textdokument</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>Aufgrund einer fehlenden Programmabhängigkeit ist der Import von openlp.org 1.x Liederdatenbanken nicht möglich. Um den Import zu nutzen muss das Programmpaket »python-sqlite« installiert werden.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Da OpenLP auf Ihrem Computer kein OpenOffice.org finden konnte ist der Import von »Songs of Fellowship«-Dateien nicht möglich.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Da OpenLP auf Ihrem Computer kein OpenOffice.org finden konnte ist der Import allgemeiner Präsentations- und Textdokumenten nicht möglich.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>»%s« wird importiert...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>»%s« wird importiert...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>Keine EasyWorship Lieddatenbank</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>Für den Import muss eine EasyWorship Lieddatenbank ausgewählt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>EasyWorship Datenbank auswählen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation>EasyWorship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>Leider können noch keine OpenLyric Lieder importiert werden, aber vielleicht klappts ja in der nächsten Version.</translation> </message> @@ -4854,88 +4550,43 @@ Usually you are fine with the preselected choice.</source> <translation>Verwaltet durch %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation>Keine SongBeamer Lieddatei</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation>Mindestens eine SongBeamer Lieddatei muss für den Import hinzufügt sein.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation>Alle Dateien</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation>OpenLP 2.0 Lieddatenbanken</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation>openlp.org 1.x Lieddatenbanken</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation>»Words of Worship« Lieddateien</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> - <translation>»Songs of Fellowship« Lieddateien</translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> + <translation>Songs Of Fellowship Song Dateien</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> - <translation>SongBeamer Lieddateien auswählen</translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> + <translation>SongBeamer Dateien</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> - <translation>SongBeamer</translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> + <translation>SongShow Plus Song Dateien</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> - <translation>SongBeamer Lieddateien</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4943,111 +4594,68 @@ Usually you are fine with the preselected choice.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Liedverwaltung</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Autoren, Themen und Bücher verwalten</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Suche:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Suchen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Titel</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Liedtext</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Autor</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>Es ist kein Lied zur Bearbeitung ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>Es sind keine Lieder zum Löschen ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Lied(er) löschen?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation>CCLI-Lizenz: </translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation>Ganzes Lied</translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation> <numerusform>Sind Sie sicher, dass das Lied gelöscht werden soll?</numerusform> <numerusform>Sind Sie sicher, dass die %n Lieder gelöscht werden sollen?</numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Designs</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation>Lied %d von %d wird importiert.</translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation>»%s« wird importiert...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation>Exportiere "%s"...</translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Verlag:</translation> </message> @@ -5057,38 +4665,36 @@ Usually you are fine with the preselected choice.</source> <translation>Ein Buchname muss angegeben werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Liederbuch-Verwaltung</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>copyright</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation>Author unbekannt</translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Importvorgang abgeschlossen.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Importvorgang fehlgeschlagen.</translation> </message> @@ -5096,157 +4702,107 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Liedverwaltung</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Autoren</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Themen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Hinzufügen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>&Bearbeiten</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Löschen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Autor löschen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Sind Sie sicher, dass der ausgewählten Autor gelöscht werden soll?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>Es ist kein keinen Autor zum Löschen ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Thema löschen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>Sind Sie sicher, dass das ausgewählte Thema gelöscht werden soll?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation>Es ist kein Thema zum Löschen ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Liederbuch löschen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>Sind Sie sicher, dass das ausgewählte Liederbuch gelöscht werden soll?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>Es ist kein Liederbuch zum Löschen ausgewählt.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Liederbücher</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>Der Author konnte nicht hinzugefügt werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>Der Author existiert bereits in der Datenbank.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>Das Thema konnte nicht hinzugefügt werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>Das Thema existiert bereits in der Datenbank.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>Das Liederbuch konnte nicht hinzugefügt werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>Das Liederbuch existiert bereits in der Datenbank.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>Die Änderungen konnten nicht gesteichert werden.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>Das geänderte Thema konnte nicht gespeichert werden, da es bereits in der Datenbank existiert.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>Der Author konnte nicht gelöscht werden, da er mindestens einem Lied zugeordnet ist.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>Das Thema konnte nicht gelöscht werden, da es mindestens einem Lied zugeordnet ist.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>Das Liederbuch konnte nicht gelöscht werden, da es mindestens einem Lied zugeordnet ist.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>Der geänderte Author konnte nicht gespeichert werden, da es bereits in der Datenbank existiert.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation>Der Author %s existiert bereits. Sollen Lieder von %s %s als Author setzen?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation>Das Thema %s existiert bereits. Sollen Lieder zum Thema %s das Thema %s verwenden?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation>Das Liederbuch »%s« existiert bereits. Sollen Lieder aus »%s« dem Buch »%s« zugeordnet werden?</translation> </message> @@ -5261,7 +4817,7 @@ Usually you are fine with the preselected choice.</source> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> <source>Enable search as you type</source> - <translation>Während der Eingabe suchen</translation> + <translation>Aktiviere Vorschlagssuche</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> @@ -5282,12 +4838,12 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Themenverwaltung</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Thema:</translation> </message> @@ -5300,7 +4856,7 @@ Usually you are fine with the preselected choice.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Strophe</translation> </message> @@ -5310,37 +4866,29 @@ Usually you are fine with the preselected choice.</source> <translation>Refrain</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Bridge</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Überleitung</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Ende</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Anderes</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished">Author unbekannt</translation> - </message> -</context> </TS> diff --git a/resources/i18n/en.ts b/resources/i18n/en.ts index 498bcda61..0f6bd17eb 100644 --- a/resources/i18n/en.ts +++ b/resources/i18n/en.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation type="unfinished"></translation> @@ -28,34 +28,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -64,28 +64,23 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> - <source>&Save</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> + <source>&Save</source> <translation type="unfinished"></translation> </message> <message> @@ -99,17 +94,17 @@ Do want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +120,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation type="unfinished"></translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +205,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +218,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +294,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,495 +340,328 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -888,12 +670,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -902,7 +684,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation type="unfinished"></translation> </message> @@ -923,210 +705,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1135,169 +829,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1305,94 +937,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1401,80 +998,50 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1482,18 +1049,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1506,12 +1068,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation type="unfinished"></translation> </message> @@ -1531,7 +1088,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1584,9 +1141,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1722,125 +1281,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1848,40 +1415,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1488,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1922,17 +1510,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1940,130 +1528,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2081,7 +1669,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2089,409 +1677,374 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation type="unfinished"></translation> </message> @@ -2502,75 +2055,85 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation type="unfinished"></translation> </message> @@ -2578,23 +2141,13 @@ You can download the latest version from http://openlp.org/.</source> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> - <source>Plugin Details</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> + <source>Plugin Details</source> <translation type="unfinished"></translation> </message> <message> @@ -2613,237 +2166,318 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished"></translation> </message> @@ -2851,7 +2485,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation type="unfinished"></translation> </message> @@ -2874,17 +2508,17 @@ The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2898,137 +2532,180 @@ The content encoding is not UTF-8.</source> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3036,476 +2713,431 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> @@ -3513,47 +3145,42 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation type="unfinished"></translation> </message> @@ -3561,82 +3188,471 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3645,105 +3661,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3831,7 +3842,7 @@ The content encoding is not UTF-8.</source> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3845,263 +3856,255 @@ The content encoding is not UTF-8.</source> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation type="unfinished"></translation> </message> @@ -4111,12 +4114,12 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation type="unfinished"></translation> </message> @@ -4124,7 +4127,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4132,242 +4135,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4375,381 +4318,204 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4757,71 +4523,36 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> @@ -4831,41 +4562,33 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation type="unfinished"></translation> </message> @@ -4875,33 +4598,31 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation type="unfinished"></translation> </message> @@ -4909,157 +4630,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5095,12 +4766,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation type="unfinished"></translation> </message> @@ -5113,7 +4784,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation type="unfinished"></translation> </message> @@ -5123,37 +4794,29 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/en_GB.ts b/resources/i18n/en_GB.ts index be876c347..167e03f96 100644 --- a/resources/i18n/en_GB.ts +++ b/resources/i18n/en_GB.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation type="unfinished"></translation> @@ -28,34 +28,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Alert</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Show an alert message.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Alerts</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Alerts</translation> @@ -64,30 +64,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Alert Message</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Alert &text:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&New</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Save</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,17 +94,17 @@ Do want to continue anyway?</source> <translation>Display && Cl&ose</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>New Alert</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>You haven't specified any text for your alert. Please type in some text before clicking New.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +120,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Font</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Font name:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Font colour:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Background colour:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Font size:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Alert timeout:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Location:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Preview</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Top</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Middle</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Bottom</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +205,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +218,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bibles</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Bibles</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished">&Import</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished">&Add</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished">&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">No Book Found</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +294,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Scripture Reference Error</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,496 +340,329 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Verse Display</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Only show new chapter numbers</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Layout style:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Display style:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Bible theme:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Verse Per Slide</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Verse Per Line</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Continuous</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>No Brackets</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( And )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ And }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ And ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Note: Changes do not affect verses already in the service.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bible Import Wizard</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Welcome to the Bible Import Wizard</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Select Import Source</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Select the import format, and where to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Web Download</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>File location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Books location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Verse location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Bible filename:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Location:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Bible:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Download Options</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Username:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Password:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proxy Server (Optional)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>License Details</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Set up the Bible's license details.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Version name:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Copyright:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importing</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Please wait while your Bible is imported.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Ready.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Invalid Bible Location</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>You need to specify a file to import your Bible from.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Invalid Books File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>You need to specify a file with books of the Bible to use in the import.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Invalid Verse File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>You need to specify a file of Bible verses to import.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Invalid OpenSong Bible</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>You need to specify an OpenSong Bible file to import.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Empty Version Name</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>You need to specify a version name for your Bible.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Empty Copyright</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Bible Exists</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Open OSIS File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Open Books CSV File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Open Verses CSV File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Open OpenSong Bible</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Starting import...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Finished import.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Your Bible import failed.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>This Bible already exists. Please import a different Bible or first delete the existing one.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished">openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished">The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Quick</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Version:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Search type:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Find:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Search</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Results:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Book:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Chapter:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Verse:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>From:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>To:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Verse Search</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Text Search</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Clear</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Keep</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -889,12 +671,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -903,7 +685,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</translation> </message> @@ -924,210 +706,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Edit Custom Slides</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Move slide up one position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Move slide down one position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Title:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Add a new slide at bottom.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Edit the selected slide.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Edit all the slides at once.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Delete the selected slide.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Split Slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Split a slide into two by inserting a slide splitter.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>The&me:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Credits:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Save && Preview</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>You need to type in a title.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>You need to add at least one slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished">&Add</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished">&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished">Ed&it All</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Delete</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>You haven't selected an item to edit.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>You haven't selected an item to delete.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Custom</translation> @@ -1136,169 +830,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Select Image(s)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>All Files</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Replace Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Replace Background</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Reset Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>You must select an image to delete.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Image(s)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>You must select an image to replace the background with.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1306,94 +938,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished">Media</translation> @@ -1402,50 +999,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Select Media</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Replace Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Replace Background</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>You must select a media file to delete.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1453,12 +1025,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1466,16 +1038,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished">Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1483,18 +1050,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Image Files</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>About OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1513,12 +1075,7 @@ 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.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>About</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Credits</translation> </message> @@ -1538,7 +1095,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation> build %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1591,9 +1148,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1729,125 +1288,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>UI Settings</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Number of recent files to display:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Remember active media manager tab on startup</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Background colour:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1855,40 +1422,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Error Occurred</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1898,24 +1495,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1929,17 +1517,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1947,130 +1535,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>General</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitors</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Select monitor for output display:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Display if a single screen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Application Startup</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Show blank screen warning</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Automatically open the last service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Show the splash screen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Application Settings</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Prompt to save before starting a new service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Automatically preview next item in service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Slide loop delay:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation> sec</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI Details</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect username:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect password:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Display Position</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Height</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Width</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Override display position</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2088,7 +1676,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2096,377 +1684,352 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&File</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Import</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Export</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&View</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>M&ode</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Tools</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Settings</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Language</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Help</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&New</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>New Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Create a new service.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>&Open</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Open Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Open an existing service.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Save</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Save Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Save the current service to disk.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Save &As...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Save Service As</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Save the current service under a new name.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>E&xit</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Quit OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Theme</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Configure OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Toggle Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Toggle the visibility of the media manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Toggle Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Toggle the visibility of the theme manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Toggle Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Toggle the visibility of the service manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>&Preview Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Toggle Preview Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Toggle the visibility of the preview panel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>&Live Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Toggle Live Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Toggle the visibility of the live panel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>&Plugin List</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>List the Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>&User Guide</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&About</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>More information about OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Online Help</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Web Site</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Auto Detect</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Use the system language, if available.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Set the interface language to %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Add &Tool...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Add an application to the list of tools.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Default</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Set the view mode back to the default.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Setup</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Set the view mode to Setup.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Live</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Set the view mode to Live.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2474,32 +2037,22 @@ You can download the latest version from http://openlp.org/.</source> You can download the latest version from http://openlp.org/.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP Version Updated</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>OpenLP Main Display Blanked</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>The Main Display has been blanked out</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Save Changes to Service?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Your service has changed. Do you want to save those changes?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Default Theme: %s</translation> </message> @@ -2510,75 +2063,85 @@ You can download the latest version from http://openlp.org/.</translation> <translation>English (United Kingdom)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>No Items Selected</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Add to selected Service Item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>You must select one or more items to preview.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>You must select one or more items to send live.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>You must select one or more items.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>No items selected</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>You must select one or more items</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>No Service Item Selected</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>You must select an existing service item to add to.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Invalid Service Item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>You must select a %s service item.</translation> </message> @@ -2586,25 +2149,15 @@ You can download the latest version from http://openlp.org/.</translation> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Plugin List</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Plugin Details</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Version:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>About:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2621,238 +2174,319 @@ You can download the latest version from http://openlp.org/.</translation> <translation>Inactive</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (Inactive)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (Active)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (Disabled)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Reorder Service Item</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Delete</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Reorder Service Item</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>New Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Create a new service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Open Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Load an existing service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Save Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Save this service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Theme:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Select a theme for the service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Move to &top</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Move item to the top of the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Move &up</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Move item up one position in the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Move &down</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Move item down one position in the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Move to &bottom</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Move item to the end of the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>&Delete From Service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Delete the selected item from the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Add New Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Add to Selected Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>&Edit Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>&Reorder Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Notes</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>&Preview Verse</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Live Verse</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Change Item Theme</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>File is not a valid service. The content encoding is not UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>File is not a valid service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Missing Display Handler</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Your item cannot be displayed as there is no handler to display it</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Your item cannot be displayed as the plugin required to display it is missing or inactive</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Service Item Notes</translation> </message> @@ -2860,7 +2494,7 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Configure OpenLP</translation> </message> @@ -2883,17 +2517,17 @@ The content encoding is not UTF-8.</translation> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2907,137 +2541,180 @@ The content encoding is not UTF-8.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Preview</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Move to previous</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Move to next</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Hide</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Move to live</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Start continuous loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Stop continuous loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Delay between slides in seconds</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Start playing media</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Go To</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Edit and reload song preview</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Spelling Suggestions</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Formatting Tags</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished">Select Image</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3045,477 +2722,432 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>New Theme</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Create a new theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Edit Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Edit a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation>Delete Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Delete a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Import Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Import a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Export Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Export a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>&Edit Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>&Delete Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Set As &Global Default</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (default)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>You must select a theme to edit.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>You are unable to delete the default theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>You have not selected a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Save Theme - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Theme Exported</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>Your theme has been successfully exported.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>Theme Export Failed</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>Your theme could not be exported due to an error.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Select Theme Import File</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>File is not a valid theme. The content encoding is not UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>File is not a valid theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>Theme %s is used in the %s plugin.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Solid Colour</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished">Gradient</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Image</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished">Colour:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished">Gradient:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished">Horizontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertical</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished">Circular</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Image:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished">Font:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Size:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Bold</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished">Left</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished">Right</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Centre</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Top</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Middle</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Bottom</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished">X position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished">px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished">Y position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Width:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Height:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished">Use default location</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished">New Theme</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3523,47 +3155,42 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Themes</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Global Theme</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Theme Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>S&ong Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>&Service Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Global Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Use the global theme, overriding any themes associated with either the service or the songs.</translation> </message> @@ -3571,82 +3198,471 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Error</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Delete</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Add</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Advanced</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">All Files</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Create a new service.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Edit</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Live</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">New Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Open Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Preview</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Replace Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Replace Live Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Reset Live Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Save Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Top</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Middle</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Bottom</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">About</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Browse...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI number:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Image</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">New Theme</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">No Items Selected</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Save && Preview</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Search</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished">You must select an item to delete.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">You must select an item to edit.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Theme</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Themes</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Finished import.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Format:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importing</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importing "%s"...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Select Import Source</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Ready.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Starting import...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Welcome to the Bible Import Wizard</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Welcome to the Song Import Wizard</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Authors</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Song Book</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Song Books</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Song Maintenance</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Topic</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Topics</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Presentation</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Presentations</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Presentations</translation> @@ -3655,105 +3671,100 @@ The content encoding is not UTF-8.</translation> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Select Presentation(s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>Automatic</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Present using:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>File Exists</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>A presentation with that filename already exists.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Unsupported File</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>This type of presentation is not supported.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>You must select an item to delete.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Available Controllers</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>Allow presentation application to be overriden</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Remotes</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3841,7 +3852,7 @@ The content encoding is not UTF-8.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Delete Song Usage Data</translation> </message> @@ -3855,263 +3866,255 @@ The content encoding is not UTF-8.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation>Are you sure you want to delete selected Song Usage data?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Song Usage Extraction</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Select Date Range</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>to</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Report Location</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Output File Location</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Song</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Import songs using the import wizard.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Song</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Songs</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Songs</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Author Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Display name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>First name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Last name:</translation> </message> @@ -4121,12 +4124,12 @@ The encoding is responsible for the correct character representation.</source> <translation>You need to type in the first name of the author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>You need to type in the last name of the author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>You have not set a display name for the author, combine the first and last names?</translation> </message> @@ -4134,7 +4137,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4142,242 +4145,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Song Editor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Title:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>Alt&ernate title:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>&Lyrics:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>&Verse order:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Add</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>Ed&it All</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Title && Lyrics</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Add to Song</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Remove</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>&Manage Authors, Topics, Song Books</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Topic</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>A&dd to Song</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>R&emove</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Song Book</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Book:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Number:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Authors, Topics && Song Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Theme</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>New &Theme</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Copyright Information</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Comments</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Theme, Copyright Info && Comments</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Save && Preview</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Add Author</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>This author does not exist, do you want to add them?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>This author is already in the list.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>No Author Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Add Topic</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>This topic does not exist, do you want to add it?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>This topic is already in the list.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>No Topic Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>You need to type in a song title.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>You need to type in at least one verse.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Warning</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Add Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>This song book does not exist, do you want to add it?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4385,290 +4328,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Edit Verse</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>&Verse type:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>&Insert</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>No OpenLP 2.0 Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>You need to select an OpenLP 2.0 song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>No openlp.org 1.x Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>You need to select an openlp.org 1.x song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>No OpenSong Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>You need to add at least one OpenSong song file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>No Words of Worship Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>You need to add at least one Words of Worship file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>No CCLI Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>You need to add at least one CCLI file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>No Songs of Fellowship File Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>You need to add at least one Songs of Fellowship file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>No Document/Presentation Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>You need to add at least one document or presentation file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>Select OpenLP 2.0 Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>Select openlp.org 1.x Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Select Open Song Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>Select Words of Worship Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>Select CCLI Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>Select Songs of Fellowship Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Select Document/Presentation Files</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Starting import...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Song Import Wizard</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Welcome to the Song Import Wizard</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Select Import Source</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Select the import format, and where to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation>Words of Worship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation>CCLI/SongSelect</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation>Songs of Fellowship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Generic Document/Presentation</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Filename:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Browse...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Add Files...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Remove File(s)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Importing</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Please wait while your songs are imported.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Ready.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>Importing "%s"...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>Importing %s...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>No EasyWorship Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>You need to select an EasyWorship song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>Select EasyWorship Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation>EasyWorship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</translation> </message> @@ -4678,88 +4489,43 @@ The encoding is responsible for the correct character representation.</source> <translation>Administered by %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4767,116 +4533,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Song Maintenance</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Maintain the lists of authors, topics and books</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Search:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Search</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Titles</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Lyrics</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>You must select an item to edit.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>You must select an item to delete.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Delete Song(s)?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Themes</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Song Book Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Publisher:</translation> </message> @@ -4886,33 +4609,31 @@ The encoding is responsible for the correct character representation.</source> <translation>You need to type in a name for the book.</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>copyright</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Finished import.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Your song import failed.</translation> </message> @@ -4920,157 +4641,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Song Maintenance</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Topics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Song Books</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Add</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>Could not add your author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>This author already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>Could not add your topic.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>This topic already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>Could not add your book.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>This book already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>Could not save your changes.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>Could not save your modified topic, because it already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Delete Author</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Are you sure you want to delete the selected author?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>This author cannot be deleted, they are currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>No author selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Delete Topic</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>Are you sure you want to delete the selected topic?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>This topic cannot be deleted, it is currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation>No topic selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Delete Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>Are you sure you want to delete the selected book?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>This book cannot be deleted, it is currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>No book selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>Could not save your modified author, because the author already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5106,12 +4777,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Topic Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Topic name:</translation> </message> @@ -5124,7 +4795,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Verse</translation> </message> @@ -5134,37 +4805,29 @@ The encoding is responsible for the correct character representation.</source> <translation>Chorus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Bridge</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Pre-Chorus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Ending</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Other</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/en_ZA.ts b/resources/i18n/en_ZA.ts index b30e1941c..b1b61fb76 100644 --- a/resources/i18n/en_ZA.ts +++ b/resources/i18n/en_ZA.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>No Parameter found</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation type="unfinished"></translation> @@ -28,34 +28,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Alert</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Show an alert message.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished">Alert</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Alerts</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Alerts</translation> @@ -64,30 +64,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Alert Message</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Alert &text:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&New</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Save</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,17 +94,17 @@ Do want to continue anyway?</source> <translation>Display && Cl&ose</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>New Alert</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>You haven't specified any text for your alert. Please type in some text before clicking New.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +120,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Font</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Font name:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Font color:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Background color:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Font size:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Alert timeout:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Location:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Preview</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Top</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Middle</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Bottom</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +205,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +218,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>Import a Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation>Add a new Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation>Edit the selected Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation>Delete the selected Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation>Preview the selected Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation>Send the selected Bible live</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>Service</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation>Add the selected Bible to the service</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Bible</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bibles</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Bibles</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished">&Import</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished">&Add</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished">&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">No Book Found</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +294,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Scripture Reference Error</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation>Web Bible cannot be used</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation>Text Search is not available with Web Bibles.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,351 +340,207 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Verse Display</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Only show new chapter numbers</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Layout style:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Display style:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Bible theme:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Verse Per Slide</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Verse Per Line</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Continuous</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>No Brackets</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( And )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ And }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ And ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Note: Changes do not affect verses already in the service.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation>Display second Bible verses</translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bible Import Wizard</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Welcome to the Bible Import Wizard</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Select Import Source</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Select the import format, and where to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Web Download</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>File location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Books location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Verse location:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Bible filename:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Location:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Bible:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Download Options</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Username:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Password:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proxy Server (Optional)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>License Details</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Set up the Bible's license details.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Version name:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Copyright:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importing</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Please wait while your Bible is imported.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Ready.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Invalid Bible Location</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>You need to specify a file to import your Bible from.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Invalid Books File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>You need to specify a file with books of the Bible to use in the import.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Invalid Verse File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>You need to specify a file of Bible verses to import.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Invalid OpenSong Bible</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>You need to specify an OpenSong Bible file to import.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Empty Version Name</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>You need to specify a version name for your Bible.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Empty Copyright</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Bible Exists</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Open OSIS File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Open Books CSV File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Open Verses CSV File</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Open OpenSong Bible</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Starting import...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Finished import.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Your Bible import failed.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>This Bible already exists. Please import a different Bible or first delete the existing one.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation>Starting Registering bible...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation>Registered bible. Please note, that verses will be downloaded on @@ -743,146 +548,123 @@ demand and thus an internet connection is required.</source> demand and thus an internet connection is required.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation>Permissions:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished">openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished">The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Quick</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Version:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Search type:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Find:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Search</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Results:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Book:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Chapter:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Verse:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>From:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>To:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Verse Search</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Text Search</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Clear</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Keep</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation>Second:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -891,12 +673,12 @@ demand and thus an internet connection is required.</translation> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -905,7 +687,7 @@ demand and thus an internet connection is required.</translation> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</translation> </message> @@ -926,210 +708,122 @@ demand and thus an internet connection is required.</translation> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Edit Custom Slides</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Move slide down one position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Title:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Add a new slide at bottom.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Edit the selected slide.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Edit all the slides at once.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Delete the selected slide.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Split Slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Split a slide into two by inserting a slide splitter.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>The&me:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Credits:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Save && Preview</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>You need to type in a title.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>You need to add at least one slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Move slide up one position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished">&Add</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished">&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished">Ed&it All</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Delete</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>You haven't selected an item to edit.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>You haven't selected an item to delete.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation>Import</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation>Import a Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation>Load</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation>Load a new Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation>Add</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation>Add a new Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation>Edit the selected Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation>Delete the selected Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation>Preview the selected Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation>Send the selected Custom live</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation>Service</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation>Add the selected Custom to the service</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Custom</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished">Customs</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Custom</translation> @@ -1138,169 +832,107 @@ demand and thus an internet connection is required.</translation> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation>Load</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation>Load a new Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation>Add</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation>Add a new Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation>Edit the selected Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation>Delete the selected Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation>Preview the selected Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation>Send the selected Image live</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation>Service</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation>Add the selected Image to the service</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Image</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished">Images</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished">Images</translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Select Image(s)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>All Files</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Replace Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Replace Background</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>You must select an image to delete.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Image(s)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>You must select an image to replace the background with.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Reset Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1308,94 +940,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation>Load</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation>Load a new Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation>Add</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation>Add a new Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation>Edit the selected Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation>Delete the selected Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation>Preview the selected Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation>Send the selected Media live</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation>Service</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation>Add the selected Media to the service</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished">Media</translation> @@ -1404,50 +1001,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Select Media</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Replace Live Background</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Replace Background</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>You must select a media file to delete.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1455,12 +1027,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1468,16 +1040,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished">Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation>Media Display</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation>Use Phonon for video playback</translation> </message> @@ -1485,18 +1052,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Image Files</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>About OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1515,12 +1077,7 @@ 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.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>About</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Credits</translation> </message> @@ -1540,7 +1097,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation> build %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1593,9 +1150,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1731,125 +1290,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>UI Settings</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Number of recent files to display:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Remember active media manager tab on startup</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation>Double-click to send items straight to live</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation>Expand new service items on creation</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Background color:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1857,40 +1424,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Error Occurred</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1900,24 +1497,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1931,17 +1519,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation>File Rename</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation>New File Name:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1949,130 +1537,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>General</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitors</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Select monitor for output display:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Display if a single screen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Application Startup</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Show blank screen warning</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Automatically open the last service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Show the splash screen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Application Settings</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI Details</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect username:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect password:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Display Position</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Height</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Width</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Override display position</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Prompt to save before starting a new service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Automatically preview next item in service</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Slide loop delay:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation> sec</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2090,7 +1678,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2098,407 +1686,372 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&File</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Import</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Export</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&View</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>M&ode</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Tools</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Settings</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Language</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Help</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&New</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>New Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Create a new service.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>&Open</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Open Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Open an existing service.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Save</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Save Service</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Save the current service to disk.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Save &As...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Save Service As</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Save the current service under a new name.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>E&xit</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Quit OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Theme</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Configure OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Toggle Media Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Toggle the visibility of the media manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Toggle Theme Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Toggle the visibility of the theme manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Toggle Service Manager</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Toggle the visibility of the service manager.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>&Preview Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Toggle Preview Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Toggle the visibility of the preview panel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>&Live Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Toggle Live Panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Toggle the visibility of the live panel.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>&Plugin List</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>List the Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>&User Guide</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&About</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>More information about OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Online Help</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Web Site</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Auto Detect</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Use the system language, if available.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Set the interface language to %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Add &Tool...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Add an application to the list of tools.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Default</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Set the view mode back to the default.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Setup</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Set the view mode to Setup.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Live</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Set the view mode to Live.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP Version Updated</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>OpenLP Main Display Blanked</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>The Main Display has been blanked out</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Save Changes to Service?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Your service has changed. Do you want to save those changes?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Default Theme: %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2513,75 +2066,85 @@ You can download the latest version from http://openlp.org/.</translation> <translation>English (South Africa)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation>Configure &Shortcuts...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>No Items Selected</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Add to selected Service Item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>You must select one or more items to preview.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>You must select one or more items to send live.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>You must select one or more items.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>No items selected</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>You must select one or more items</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>No Service Item Selected</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>You must select an existing service item to add to.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Invalid Service Item</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>You must select a %s service item.</translation> </message> @@ -2589,25 +2152,15 @@ You can download the latest version from http://openlp.org/.</translation> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Plugin List</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Plugin Details</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Version:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>About:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2624,238 +2177,319 @@ You can download the latest version from http://openlp.org/.</translation> <translation>Inactive</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (Inactive)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (Active)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (Disabled)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Reorder Service Item</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Delete</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Reorder Service Item</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>New Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Create a new service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Open Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Load an existing service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Save Service</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Save this service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Theme:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Select a theme for the service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Move to &top</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Move item to the top of the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Move &up</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Move item up one position in the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Move &down</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Move item down one position in the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Move to &bottom</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Move item to the end of the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>&Delete From Service</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Delete the selected item from the service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Add New Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Add to Selected Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>&Edit Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>&Reorder Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Notes</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>&Preview Verse</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Live Verse</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Change Item Theme</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>File is not a valid service. The content encoding is not UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>File is not a valid service.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Missing Display Handler</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Your item cannot be displayed as there is no handler to display it</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Your item cannot be displayed as the plugin required to display it is missing or inactive</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation>&Expand all</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation>Expand all the service items.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation>&Collapse all</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation>Collapse all the service items.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Service Item Notes</translation> </message> @@ -2863,7 +2497,7 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Configure OpenLP</translation> </message> @@ -2886,17 +2520,17 @@ The content encoding is not UTF-8.</translation> <translation>Shortcut</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation>Default: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation>Custom:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation>None</translation> </message> @@ -2910,137 +2544,180 @@ The content encoding is not UTF-8.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation>The shortcut "%s" is already assigned to another action, please use a different shortcut.</translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Live</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Preview</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Move to previous</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Move to next</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Hide</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Move to live</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Start continuous loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Stop continuous loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Delay between slides in seconds</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Start playing media</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Go To</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Edit and reload song preview</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation>Blank Screen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation>Blank to Theme</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation>Show Desktop</translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Spelling Suggestions</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Formatting Tags</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished">Select Image</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation>Theme Name Missing</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation>There is no name for this theme. Please enter one.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation>Theme Name Invalid</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation>Invalid theme name. Please enter one.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished">(%d lines per slide)</translation> </message> @@ -3048,477 +2725,432 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>New Theme</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Create a new theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Edit Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Edit a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation>Delete Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Delete a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Import Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Import a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Export Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Export a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>&Edit Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>&Delete Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Set As &Global Default</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (default)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>You must select a theme to edit.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>You are unable to delete the default theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>You have not selected a theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Save Theme - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Theme Exported</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>Your theme has been successfully exported.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>Theme Export Failed</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>Your theme could not be exported due to an error.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Select Theme Import File</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>File is not a valid theme. The content encoding is not UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>File is not a valid theme.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>Theme %s is used in the %s plugin.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation>&Copy Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation>&Rename Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation>&Export Theme</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation>Theme Wizard</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation>Welcome to the Theme Wizard</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation>Set Up Background</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation>Set up your theme's background according to the parameters below.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation>Background type:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Solid Colour</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished">Gradient</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Image</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished">Color:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished">Gradient:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished">Horizontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertical</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished">Circular</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation>Top Left - Bottom Right</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation>Bottom Left - Top Right</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Image:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation>Main Area Font Details</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation>Define the font and display characteristics for the Display text</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished">Font:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Size:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation>Line Spacing:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation>&Outline:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation>&Shadow:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Bold</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation>Italic</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation>Footer Area Font Details</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation>Define the font and display characteristics for the Footer text</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation>Text Formatting Details</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation>Allows additional display formatting information to be defined</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation>Horizontal Align:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished">Left</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished">Right</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Centre</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Top</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Middle</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Bottom</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished">X position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished">px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished">Y position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Width:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Height:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished">Use default location</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished">New Theme</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3526,47 +3158,42 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Themes</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Global Theme</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Theme Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>S&ong Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>&Service Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>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.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Global Level</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Use the global theme, overriding any themes associated with either the service or the songs.</translation> </message> @@ -3574,82 +3201,471 @@ The content encoding is not UTF-8.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Error</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Delete</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Add</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Advanced</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">All Files</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Create a new service.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Edit</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Import</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Live</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Load</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">New Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Open Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Preview</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Replace Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Replace Live Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Reset Live Background</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Save Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Top</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Middle</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Bottom</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">About</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Browse...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI number:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Image</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">New Theme</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">No Items Selected</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Save && Preview</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Search</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished">You must select an item to delete.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">You must select an item to edit.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Theme</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Themes</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Finished import.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Format:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importing</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importing "%s"...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Select Import Source</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Ready.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Starting import...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Welcome to the Bible Import Wizard</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Welcome to the Song Import Wizard</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Authors</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Song Book</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Song Books</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Song Maintenance</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Topic</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Topics</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished">Load</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished">Service</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Presentation</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Presentations</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Presentations</translation> @@ -3658,105 +3674,100 @@ The content encoding is not UTF-8.</translation> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Select Presentation(s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>Automatic</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Present using:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>File Exists</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>A presentation with that filename already exists.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Unsupported File</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>You must select an item to delete.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>This type of presentation is not supported.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Available Controllers</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Advanced</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>Allow presentation application to be overriden</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Remotes</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3854,267 +3865,259 @@ The content encoding is not UTF-8.</translation> <translation>Are you sure you want to delete selected Song Usage data?</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Delete Song Usage Data</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Output File Location</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Song Usage Extraction</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Select Date Range</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>to</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Report Location</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Song</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Import songs using the import wizard.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished">Add</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Preview</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished">Service</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Song</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Songs</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Songs</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Author Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Display name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>First name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Last name:</translation> </message> @@ -4124,12 +4127,12 @@ The encoding is responsible for the correct character representation.</source> <translation>You need to type in the first name of the author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>You need to type in the last name of the author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>You have not set a display name for the author, combine the first and last names?</translation> </message> @@ -4137,7 +4140,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4145,242 +4148,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Song Editor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Title:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>&Lyrics:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Add</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>Ed&it All</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Title && Lyrics</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Add to Song</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Remove</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>&Manage Authors, Topics, Song Books</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Topic</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>A&dd to Song</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>R&emove</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Song Book</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Authors, Topics && Song Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Theme</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>New &Theme</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Copyright Information</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Comments</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Theme, Copyright Info && Comments</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Save && Preview</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Add Author</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>This author does not exist, do you want to add them?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>This author is already in the list.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>No Author Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Add Topic</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>This topic does not exist, do you want to add it?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>This topic is already in the list.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>No Topic Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>You need to type in a song title.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>You need to type in at least one verse.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Warning</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Add Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>This song book does not exist, do you want to add it?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>Alt&ernate title:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>&Verse order:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Book:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Number:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4388,381 +4331,204 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Edit Verse</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>&Verse type:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>&Insert</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>No OpenSong Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>You need to add at least one OpenSong song file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>No CCLI Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>You need to add at least one CCLI file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Starting import...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Song Import Wizard</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Welcome to the Song Import Wizard</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Select Import Source</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Select the import format, and where to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Add Files...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Remove File(s)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Filename:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Browse...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Importing</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Please wait while your songs are imported.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Ready.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>No OpenLP 2.0 Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>You need to select an OpenLP 2.0 song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>No openlp.org 1.x Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>You need to select an openlp.org 1.x song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>No Words of Worship Files Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>You need to add at least one Words of Worship file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>No Songs of Fellowship File Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>You need to add at least one Songs of Fellowship file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>No Document/Presentation Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>You need to add at least one document or presentation file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>Select OpenLP 2.0 Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>Select openlp.org 1.x Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Select Open Song Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>Select Words of Worship Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>Select Songs of Fellowship Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Select Document/Presentation Files</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation>Words of Worship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation>CCLI/SongSelect</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation>Songs of Fellowship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Generic Document/Presentation</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>Select CCLI Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>Importing "%s"...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>Importing %s...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</translation> </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>No EasyWorship Song Database Selected</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>You need to select an EasyWorship song database file to import from.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>Select EasyWorship Database File</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation>EasyWorship</translation> - </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> <translation>Administered by %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">All Files</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4770,116 +4536,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Song Maintenance</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Maintain the lists of authors, topics and books</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Search:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Search</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Titles</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Lyrics</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>You must select an item to edit.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>You must select an item to delete.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Delete Song(s)?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Themes</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation type="unfinished">Importing %s...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Song Book Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Name:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Publisher:</translation> </message> @@ -4889,33 +4612,31 @@ The encoding is responsible for the correct character representation.</source> <translation>You need to type in a name for the book.</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>copyright</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Finished import.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Your song import failed.</translation> </message> @@ -4923,157 +4644,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Song Maintenance</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Authors</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Topics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Song Books</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Add</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>&Edit</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Delete</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>Could not add your author.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>This author already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>Could not add your topic.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>This topic already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>Could not add your book.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>This book already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>Could not save your changes.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>Could not save your modified topic, because it already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Delete Author</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Are you sure you want to delete the selected author?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>This author cannot be deleted, they are currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>No author selected!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Delete Topic</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>Are you sure you want to delete the selected topic?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>This topic cannot be deleted, it is currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation>No topic selected!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Delete Book</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>Are you sure you want to delete the selected book?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>This book cannot be deleted, it is currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>No book selected!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>Could not save your modified author, because the author already exists.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5109,12 +4780,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Topic Maintenance</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Topic name:</translation> </message> @@ -5127,7 +4798,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Verse</translation> </message> @@ -5137,37 +4808,29 @@ The encoding is responsible for the correct character representation.</source> <translation>Chorus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Bridge</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Pre-Chorus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Ending</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Other</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/es.ts b/resources/i18n/es.ts index c53756b06..e20667815 100644 --- a/resources/i18n/es.ts +++ b/resources/i18n/es.ts @@ -3,24 +3,24 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>Parámetro no hallado</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>No ha ingresado un parámetro para reemplazarlo. ¿Desea continuar de todas maneras?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>El texto de alerta no contiene '<>'. @@ -30,34 +30,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation type="unfinished">&Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Mostrar mensaje de alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Alerts Plugin</strong><br />El plugin de alertas controla la visualización de mensajes de guardería</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished">Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Alertas</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Alertas</translation> @@ -66,30 +66,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation type="unfinished">Mensaje de Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>&Texto de Alerta:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation type="unfinished">&Nuevo</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation type="unfinished">&Guardar</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Eliminar</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -101,17 +96,17 @@ Do want to continue anyway?</source> <translation>M&ostrar && Cerrar</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Alerta Nueva</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>No ha especificado ningún texto de alerta. Por favor, escriba algún texto antes de hacer clic en Nueva.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -127,95 +122,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation type="unfinished">Tipo de Letra</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Nombre:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Color:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Color de Fondo:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Tamaño:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation type="unfinished">Espera:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation type="unfinished">s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation type="unfinished">Ubicación:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Superior</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation type="unfinished">Medio</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Inferior</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -223,12 +207,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -236,110 +220,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation type="unfinished">&Biblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bible Plugin</strong><br />El plugin de Biblia proporciona la capacidad de mostrar versículos de la Biblia de fuentes diferentes durante el servicio..</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Biblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Biblias</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Biblias</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">No se encontró el libro</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -347,39 +296,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Error de Referencia Bíblica</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -393,495 +342,328 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation type="unfinished">Visualización de versículos</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation type="unfinished">Solo mostrar los números de capítulos nuevos</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation type="unfinished">Asistente de Importación de Biblias</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation type="unfinished">Bienvenido al Asistente de Importación de Biblias</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation type="unfinished">Este asistente le ayudará a importar Biblias en una variedad de formatos. Haga clic en el botón siguiente para empezar el proceso seleccionando un formato a importar.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation type="unfinished">Seleccione Origen de Importación</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">Seleccione el formato y el lugar del cual importar.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation type="unfinished">Formato:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished">OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished">CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation type="unfinished">Descarga Web</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation type="unfinished">Ubicación:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation type="unfinished">Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation type="unfinished">BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation type="unfinished">Biblia:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation type="unfinished">Opciones de Descarga</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation type="unfinished">Servidor:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation type="unfinished">Usuario:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation type="unfinished">Contraseña:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation type="unfinished">Servidor Proxy (Opcional)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation type="unfinished">Detalles de Licencia</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation type="unfinished">Establezca los detalles de licencia de la Biblia.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation type="unfinished">Derechos de autor:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation type="unfinished">Importando</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation type="unfinished">Por favor, espere mientras que la Biblia es importada.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation type="unfinished">Listo.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation type="unfinished">Ubicación de Biblia no válida</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished">Archivo de Libros No Válido</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished">Archivo de Versículo No Válido</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished">Biblia OpenSong No Válida</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished">Nombre de Versión Vacío</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation type="unfinished">Derechos de autor en blanco</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation type="unfinished">Ya existe la Biblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation type="unfinished">Abrir Biblia OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation type="unfinished">Iniciando importación...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished">Importación finalizada.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation type="unfinished">La importación de su Biblia falló.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation type="unfinished">Rápida</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished">Avanzado</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation type="unfinished">Versión:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation type="unfinished">Encontrar:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation type="unfinished">Buscar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation type="unfinished">Resultados:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation type="unfinished">Libro:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation type="unfinished">Capítulo:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation type="unfinished">Versículo:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation type="unfinished">Desde:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation type="unfinished">Hasta:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished">Búsqueda de versículo</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation type="unfinished">Búsqueda de texto</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation type="unfinished">Limpiar</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation type="unfinished">Conservar</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -890,12 +672,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -904,7 +686,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation type="unfinished"></translation> </message> @@ -925,210 +707,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation type="unfinished">Editar Diapositivas Personalizadas</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished">Guardar && Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Eliminar</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1137,169 +831,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Imagen</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation type="unfinished">Seleccionar Imagen(es)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation type="unfinished">Imagen(es)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1307,146 +939,86 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Medios</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Medios</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Medios</translation> </message> </context> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished">Medios</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation type="unfinished">Seleccionar Medios</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1454,12 +1026,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1467,16 +1039,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1484,18 +1051,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished">Acerca de OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1508,12 +1070,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished">Acerca De</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation type="unfinished">Créditos</translation> </message> @@ -1533,7 +1090,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1586,9 +1143,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1724,125 +1283,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished">Avanzado</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Color de Fondo:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1850,40 +1417,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1893,24 +1490,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1924,17 +1512,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1942,130 +1530,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation type="unfinished">General</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation type="unfinished">Monitores</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation type="unfinished">Seleccionar monitor para visualizar la salida:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation type="unfinished">Inicio de la Aplicación</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation type="unfinished">Mostrar advertencia de pantalla en blanco</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation type="unfinished">Abrir automáticamente el último servicio</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation type="unfinished">Mostrar pantalla de bienvenida</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation type="unfinished">Configuración del Programa</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation type="unfinished">Detalles de CCLI</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2083,7 +1671,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2091,409 +1679,374 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation type="unfinished">&Archivo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation type="unfinished">&Importar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation type="unfinished">&Exportar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation type="unfinished">&Ver</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation type="unfinished">M&odo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation type="unfinished">&Herramientas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation type="unfinished">&Preferencias</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation type="unfinished">&Idioma</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation type="unfinished">&Ayuda</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation type="unfinished">Gestor de Medios</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation type="unfinished">Gestor de Servicio</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation type="unfinished">Gestor de Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation type="unfinished">&Nuevo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished">Servicio Nuevo</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation type="unfinished">Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation type="unfinished">&Abrir</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished">Abrir Servicio</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation type="unfinished">Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation type="unfinished">&Guardar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished">Guardar Servicio</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation type="unfinished">Crtl+G</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation type="unfinished">Guardar &Como...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation type="unfinished">Guardar Servicio Como</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation type="unfinished">&Salir</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation type="unfinished">Salir de OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation type="unfinished">Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation type="unfinished">&Tema</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation type="unfinished">Gestor de &Medios</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation type="unfinished">Alternar Gestor de Medios</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation type="unfinished">F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation type="unfinished">Gestor de &Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation type="unfinished">Alternar Gestor de Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation type="unfinished">F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation type="unfinished">Gestor de &Servicio</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation type="unfinished">Alternar Gestor de Servicio</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation type="unfinished">F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation type="unfinished">&Panel de Vista Previa</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation type="unfinished">Alternar Panel de Vista Previa</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation type="unfinished">F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation type="unfinished">F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation type="unfinished">Lista de &Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation type="unfinished">Lista de Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation type="unfinished">Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation type="unfinished">Guía de &Usuario</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation type="unfinished">&Acerca De</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation type="unfinished">Más información acerca de OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation type="unfinished">Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation type="unfinished">&Ayuda En Línea</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation type="unfinished">Sitio &Web</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation type="unfinished">En &vivo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation type="unfinished">Versión de OpenLP Actualizada</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation type="unfinished">Pantalla Principal de OpenLP en Blanco</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation type="unfinished">La Pantalla Principal esta en negro</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation type="unfinished"></translation> </message> @@ -2504,75 +2057,85 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished">Español</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished">Usted debe seleccionar uno o más elementos</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation type="unfinished"></translation> </message> @@ -2580,25 +2143,15 @@ You can download the latest version from http://openlp.org/.</source> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation type="unfinished">Lista de Plugins</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation type="unfinished">Detalles de Plugin</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished">Versión:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation type="unfinished">Acerca de:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2615,237 +2168,318 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished">Inactivo</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished">Servicio Nuevo</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished">Crear un servicio nuevo</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished">Abrir Servicio</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation type="unfinished">Abrir un servicio existente</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished">Guardar Servicio</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation type="unfinished">Guardar este servicio</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished">Tema:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation type="unfinished">Seleccione un tema para el servicio</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation type="unfinished">&Editar Ítem</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation type="unfinished">&Notas</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished">&Previzualizar Verso</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished">Verso En &Vivo</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation type="unfinished">&Cambiar Tema de Ítem</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished">Notas de Elemento de Servicio</translation> </message> @@ -2853,7 +2487,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation type="unfinished"></translation> </message> @@ -2876,17 +2510,17 @@ The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2900,137 +2534,180 @@ The content encoding is not UTF-8.</source> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished">En vivo</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation type="unfinished">Regresar al anterior</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation type="unfinished">Ir al siguiente</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation type="unfinished">Proyectar en vivo</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation type="unfinished">Iniciar bucle continuo</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation type="unfinished">Detener el bucle</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished">s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation type="unfinished">Espera entre diapositivas en segundos</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation type="unfinished">Iniciar la reproducción de medios</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3038,476 +2715,431 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished">Tema Nuevo</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation type="unfinished">Editar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation type="unfinished">Eliminar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation type="unfinished">Importar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation type="unfinished">Exportar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation type="unfinished">Guardar Tema - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation type="unfinished">Seleccione el Archivo de Tema a Importar</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Color Sólido</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished">Gradiente</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Imagen</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished">Horizontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertical</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished">Circular</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Imagen:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished">Fuente:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Tamaño:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Negrita</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished">Izquierda</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished">Derecha</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Centro</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Superior</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Medio</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Inferior</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished">px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Ancho:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Altura:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3515,47 +3147,42 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished">Temas</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation type="unfinished">Utilice el tema de cada canción en la base de datos. Si una canción no tiene un tema asociado, utilizar el tema del servicio. Si el servicio no tiene un tema, utilizar el tema global.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation type="unfinished">Utilizar el tema del servicio, ignorando el tema de las canciones individuales. Si el servicio no tiene un tema, utilizar el tema global.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation type="unfinished">Utilice el tema global, ignorado los temas asociados con el servicio o con las canciones.</translation> </message> @@ -3563,82 +3190,471 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Error</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Eliminar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Avanzado</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Editar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Servicio Nuevo</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Abrir Servicio</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Vista Previa</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Guardar Servicio</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Superior</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Medio</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Inferior</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Acerca De</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Imagen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Guardar && Vista Previa</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Buscar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Importación finalizada.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Formato:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importando</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Seleccione Origen de Importación</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Iniciando importación...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Bienvenido al Asistente de Importación de Biblias</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Autores</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Himnario</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Categoría</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Categoría</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Presentación</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Presentaciones</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Presentaciones</translation> @@ -3647,105 +3663,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation type="unfinished">Seleccionar Presentación(es)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation type="unfinished">Mostrar usando:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation type="unfinished">Ya existe una presentación con ese nombre.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation type="unfinished">Controladores Disponibles</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished">Avanzado</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Remotas</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3833,7 +3844,7 @@ The content encoding is not UTF-8.</source> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3847,263 +3858,255 @@ The content encoding is not UTF-8.</source> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation type="unfinished">hasta</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation type="unfinished">Ubicación de Reporte</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation type="unfinished">Archivo de Salida</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation type="unfinished">&Canción</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Canción</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Canciones</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Canciones</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation type="unfinished">Mantenimiento de Autores</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation type="unfinished">Mostrar:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation type="unfinished">Nombre:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation type="unfinished">Apellido:</translation> </message> @@ -4113,12 +4116,12 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished">Tiene que escribir el nombre del autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation type="unfinished">Debe ingresar el apellido del autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation type="unfinished"></translation> </message> @@ -4126,7 +4129,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4134,242 +4137,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation type="unfinished">Editor de Canción</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished">&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished">&Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation type="unfinished">Título && Letra</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished">Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation type="unfinished">&Agregar a Canción</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation type="unfinished">&Quitar</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished">Categoría</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation type="unfinished">A&gregar a Canción</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation type="unfinished">&Quitar</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished">Himnario</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation type="unfinished">Libro:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished">Tema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation type="unfinished">Información de Derechos de Autor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation type="unfinished">Comentarios</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation type="unfinished">Tema, Derechos de Autor && Comentarios</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished">Guardar && Vista Previa</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4377,290 +4320,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation type="unfinished">Editar Verso</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished">Iniciando importación...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished">Seleccione Origen de Importación</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">Seleccione el formato y el lugar del cual importar.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished">Formato:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished">Importando</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished">Listo.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> @@ -4670,88 +4481,43 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4759,116 +4525,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation type="unfinished">Administrar la lista de autores, categorías y libros</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished">Buscar:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished">Buscar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation type="unfinished">Títulos</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation type="unfinished">Letra</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished">Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation type="unfinished"></translation> </message> @@ -4878,33 +4601,31 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished">Importación finalizada.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation type="unfinished"></translation> </message> @@ -4912,157 +4633,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished">Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished">Categoría</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished">&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished">&Eliminar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation type="unfinished">Borrar Autor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation type="unfinished">¿Está seguro que desea eliminar el autor seleccionado?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished">¡Ningún autor seleccionado!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation type="unfinished">Borrar Categoría</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation type="unfinished">¿Está seguro que desea eliminar la categoría seleccionada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished">¡No seleccionó la categoría!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation type="unfinished">Eliminar Libro</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation type="unfinished">¿Está seguro de que quiere eliminar el libro seleccionado?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished">¡Ningún libro seleccionado!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5098,12 +4769,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation type="unfinished">Mantenimiento de Categorías</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation type="unfinished">Categoría:</translation> </message> @@ -5116,7 +4787,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation type="unfinished">Verso</translation> </message> @@ -5126,37 +4797,29 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished">Coro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation type="unfinished">Puente</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation type="unfinished">Pre-Coro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation type="unfinished">Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation type="unfinished">Final</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation type="unfinished">Otro</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/et.ts b/resources/i18n/et.ts index cfbebae0e..a048ae372 100644 --- a/resources/i18n/et.ts +++ b/resources/i18n/et.ts @@ -1,26 +1,26 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="et_EE"> +<!DOCTYPE TS><TS version="1.1"> <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>Ühtegi parameetrit ei leitud</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>Sa ei ole sisestanud parameetrit, mida asendada. Kas tahad sellegipoolest jätkata?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation>Ühtegi kohahoidjat ei leitud</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>Teate tekst ei sisalda '<>' märke. @@ -30,34 +30,34 @@ Kas tahad sellegipoolest jätkata?</translation> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Teade</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Teate kuvamine.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Teadete plugin</strong><br />Teadete plugina abil saab juhtida näiteks lastehoiu teadete kuvamist ekraanil</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation>Teade</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation>Teated</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation>Teated</translation> @@ -66,30 +66,25 @@ Kas tahad sellegipoolest jätkata?</translation> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Teate sõnum</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Teate &tekst:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Uus</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Salvesta</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Kustuta</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -101,17 +96,17 @@ Kas tahad sellegipoolest jätkata?</translation> <translation>Kuva && &sulge</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Uus teade</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>Sa ei ole oma teatele teksti lisanud. Enne nupu Uus vajutamist sisesta mingi tekst.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation>&Parameeter:</translation> </message> @@ -127,219 +122,173 @@ Kas tahad sellegipoolest jätkata?</translation> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Kirjastiil</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Kirjastiili nimi:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Kirja värvus:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Taustavärvus:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Kirja suurus:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Teate kestus:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation>Testamentide importimine... %s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Asukoht:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation>Testamentide importimine... valmis.</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Eelvaade</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation>Raamatute importimine... %s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation>Salmide importimine failist %s...</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Üleval</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Keskel</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>All</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation>Salmide importimine... valmis.</translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation>Tõrge allalaadimisel</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation>Parsimise viga</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Valitud salmide allalaadimisel esines viga. Kontrolli oma internetiühendust ning kui see viga kordub, teata sellest veast.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Sinu salmide vahemiku analüüsimisel esines viga. Kui see viga kordub, siis palun teata sellest veast.</translation> </message> </context> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation>Ühe- ja kahekeelseid piiblisalme pole võimalik kombineerida. Kas sa tahad kustutada otsingutulemused ja alustada uut otsingut?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> - <translation type="unfinished"></translation> + <translation>Piibel pole täielikult laaditud</translation> </message> </context> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Piibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Piibli plugin</strong><br />Piibli plugina abil saab teenistuse ajal kuvada erinevate tõlgete piiblisalme.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>Piibli importimine</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation>Uue Piibli lisamine</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation>Valitud Piibli muutmine</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation>Valitud Piibli kustutamine</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation>Valitud Piibli eelvaade</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation>Valitud Piibli saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>Teenistus</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation>Valitud Piibli lisamine teenistusse</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation>Piibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation>Piiblid</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation>Piiblid</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation>&Impordi</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation>&Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation>&Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation>&Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation>Ühtegi raamatut ei leitud</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation>Sellest Piiblist ei leitud vastavat raamatut. Kontrolli, kas sa sisestasid raamatu nime õigesti.</translation> </message> @@ -347,40 +296,40 @@ Kas tahad sellegipoolest jätkata?</translation> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Kirjakohaviite tõrge</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation>Veebipiiblit pole võimalik kasutada</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation>Tekstiotsing veebipiiblist pole võimalik.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation>Sa ei sisestanud otsingusõna. Sa võid eraldada võtmesõnad tühikuga, et otsida neid kõiki, või eraldada need komaga, et otsitaks ühte neist.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> - <translation type="unfinished"></translation> + <translation>Piibleid pole</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> - <translation type="unfinished"></translation> + <translation>Praegu pole ühtegi Piiblit paigaldatud. Palun paigalda mõni Piibel importimise nõustaja abil.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -394,497 +343,330 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Salmi kuvamine</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Kuvatakse ainult uute peatükkide numbreid</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Paigutuse laad:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Kuvalaad:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Piibli kujundus:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Iga salm eraldi slaidil</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Iga salm eraldi real</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Jätkuv</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Ilma sulgudeta</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( ja )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ ja }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ ja ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Märkus: Muudatused ei rakendu juba teenistusesse lisatud salmidele.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation>Piiblit kuvatakse kahes keeles</translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation>%s %s. peatüki importimine...</translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Piibli importimise nõustaja</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Teretulemast Piibli importimise nõustajasse</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>See nõustaja aitab erinevatest vormingutest Piibleid importida. Klõpsa all asuvale edasi nupule, et alustada vormingu valimisest, millest importida.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Importimise allika valimine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Vali importimise vorming ning kust importida.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Vorming:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Veebist allalaadimine</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Faili asukoht:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Raamatute asukoht:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Salmide asukoht:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Piibli failinimi:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Asukoht:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Piibel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Allalaadimise valikud</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Kasutajanimi:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Parool:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proksiserver (valikuline)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Litsentsist lähemalt</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Määra Piibli litsentsi andmed.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Versiooni nimi:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Autoriõigus:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importimine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Palun oota, kuni sinu Piiblit imporditakse.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Valmis.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Ebakorrektne Piibli asukoht</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Pead määrama faili, millest Piibel importida.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Vigane raamatute fail</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>Pead määrama faili, mis sisaldab piibliraamatuid, mida tahad importida.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Vigane salmide fail</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>Pead ette andma piiblisalmide faili, mida importida.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Mittekorrektne OpenSong Piibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>Pead määrama OpenSong piiblifaili, mida importida.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Versiooni nimi määramata</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>Pead määrama Piibli versiooni nime.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Autoriõigused määramata</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>Pead määrama piiblitõlke autoriõiguse! Avalikkuse omandisse kuuluvad Piiblid tuleb vastavalt tähistada.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Piibel on juba olemas</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>See Piibel on juba olemas! Palun impordi mingi muu Piibel või kustuta enne olemasolev.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>OSIS faili avamine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Raamatute CSV faili avamine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Salmide CSV faili avamine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>OpenSong Piibli avamine</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Importimise alustamine...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Importimine lõpetatud.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Piibli importimine nurjus.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation>Ava openlp.org 1.x Piibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation>Piibli registreerimise alustamine...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation>Piibel on registreeritud. Pane tähele, et salmid laaditakse alla vajadusel, seetõttu on vajalik internetiühendus.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation>Õigused:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation>CSV fail</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation>openlp.org 1.x Piibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation>Kõik failid</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation>Piibliserver</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite".</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation>Piibli fail:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation>Testamentide fail:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation>Raamatute fail:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation>Salmide fail:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation>Sa pole määranud testamentide faili. Kas tahad importimisega jätkata?</translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Kiirotsing</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Täpsem</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Tõlge:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Otsingu liik:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Otsing:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Otsi</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Tulemused:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Raamat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Peatükk:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Salm:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>Algus:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>Kuni:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Salmi otsing</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Tekstiotsing</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Puhasta</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Säilita</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation>Teine:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation>%s importimine...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %s. peatüki importimine...</translation> @@ -893,12 +675,12 @@ vajadusel, seetõttu on vajalik internetiühendus.</translation> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation>Kooditabeli tuvastamine (see võib võtta mõne minuti)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %s. peatüki importimine...</translation> @@ -907,7 +689,7 @@ vajadusel, seetõttu on vajalik internetiühendus.</translation> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Kohandatud plugin</strong><br />Kohandatud plugin võimaldab tekitada oma tekstiga slaidid, mida kuvatakse ekraanil täpselt nagu laulusõnugi. See plugin võimaldab rohkem vabadust, kui laulude plugin.</translation> </message> @@ -928,210 +710,122 @@ vajadusel, seetõttu on vajalik internetiühendus.</translation> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Kohandatud slaidide muutmine</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Slaidi liigutamine koha võrra ülesse.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Slaidi liigutamine koha võrra alla.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Pealkiri:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Uue slaidi lisamine kõige alumiseks.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Valitud slaidi muutmine.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Kõigi slaidide muutmine ühekorraga.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Praeguse slaidi kustutamine.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Slaidi tükeldamine</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Tükelda slaid kaheks, sisestades slaidide eraldaja.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>&Kujundus:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Autorid:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Salvesta && eelvaatle</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Pead sisestama pealkirja.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Pead lisama vähemalt ühe slaidi</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation>&Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation>&Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation>Muuda &kõiki</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation>&Kustuta</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Sa pole valinud kirjet, mida muuta.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Sa ei ole valinud kirjet, mida kustutada.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation>Impordi</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation>Impordi kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation>Laadi</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation>Laadi uus kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation>Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation>Lisa uus kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation>Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation>Muuda valitud kohandatut</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation>Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation>Kustuta valitud kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation>Valitud kohandatu eelvaade</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation>Valitud kohandatu saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation>Teenistus</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation>Valitud kohandatud slaidi lisamine teenistusse</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation>Kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation>Kohandatud</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation>Kohandatud</translation> @@ -1140,264 +834,167 @@ vajadusel, seetõttu on vajalik internetiühendus.</translation> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Pildiplugin</strong><br />Pildiplugin võimaldab piltide kuvamise.<br />Üks selle plugina One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation>Laadi</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation>Uue pildi laadimine</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation>Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation>Uue pildi lisamine</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation>Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation>Valitud pildi muutmine</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation>Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation>Valitud pildi kustutamine</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation>Valitud pildi eelvaatlemine</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation>Valitud pildi saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation>Teenistus</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation>Valitud pildi lisamine teenistusele</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation>Pilt</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation>Pildid</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation>Pildid</translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation>Manuse valimine</translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Pildi (piltide) valimine</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Kõik failid</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Ekraani tausta asendamine</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Tausta asendamine</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Ekraani tausta asendamine</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>Pead valima pildi, mida kustutada.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Pildid</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>Pead enne valima pildi, millega tausta asendada.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation>Tausta lähtestamine</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> - <translation type="unfinished"></translation> + <translation>Puuduvad pildid</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> - <translation type="unfinished"></translation> + <translation>Järgnevaid pilte enam pole: %s</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> - <translation type="unfinished"></translation> + <translation>Järgnevaid pilte enam pole: %sKas tahad teised pildid sellest hoolimata lisada?</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> - <translation type="unfinished"></translation> + <translation>Tausta asendamisel esines viga, pildifaili "%s" enam pole.</translation> </message> </context> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Meediaplugin</strong><br />Meedia plugin võimaldab audio- ja videofailide taasesitamist.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation>Laadi</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation>Uue meedia laadimine</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation>Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation>Uue meedia lisamine</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation>Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation>Valitud meedia muutmine</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation>Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation>Valitud meedia kustutamine</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation>Valitud meedia eelvaatlus</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation>Valitud meedia saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation>Teenistus</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation>Valitud meedia lisamine teenistusse</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation>Meedia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation>Meedia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation>Meedia</translation> @@ -1406,63 +1003,38 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Meedia</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Meedia valimine</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Ekraani tausta asendamine</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Tausta asendamine</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>Pead valima meedia, mida kustutada.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation>Videod (%s);;Audio (%s);;Kõik failid (*)</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation>Puuduv meediafail</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation>Faili %s ei ole enam olemas.</translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished">Tausta lähtestamine</translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> - <translation type="unfinished">Pead enne valima meediafaili, millega tausta asendada.</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> + <translation>Pead enne valima meediafaili, millega tausta asendada.</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation>Tausta asendamisel esines viga, meediafaili "%s" enam pole.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1470,16 +1042,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation>Meedia</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation>Meediakuva</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation>Phononi kasutamine video esitamiseks</translation> </message> @@ -1487,7 +1054,7 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Pildifailid</translation> </message> @@ -1495,17 +1062,7 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP.AboutForm</name> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>OpenLP-st lähemalt</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>Programmist</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Autorid</translation> </message> @@ -1542,7 +1099,7 @@ OpenLP kohta võid lähemalt uurida aadressil: http://openlp.org/ OpenLP on kirjutatud vabatahtlike poolt. Kui sulle meeldiks näha rohkem kristlikku tarkvara, siis võid annetada, selleks klõpsa alumisele nupule.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1642,9 +1199,11 @@ meid patust. Me anname selle tarkvara sulle tasuta, sest Tema on teinud meid vabaks.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1774,313 +1333,226 @@ Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gno Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> - <translation>Autoriõigus © 2004-2011 Raoul Snyman -Osade autoriõigused © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard - -See programm on vaba tarkvara. Te võite seda edasi levitada ja/või muuta vastavalt GNU Üldise Avaliku Litsentsi tingimustele, nagu need on Vaba Tarkvara Fondi poolt avaldatud; kas Litsentsi versioon number 2 või (vastavalt Teie valikule) ükskõik milline hilisem versioon. - -Seda programmi levitatakse lootuses, et see on kasulik, kuid ILMA IGASUGUSE GARANTIITA; isegi KESKMISE/TAVALISE KVALITEEDIGARANTIITA või SOBIVUSELE TEATUD KINDLAKS EESMÄRGIKS. Üksikasjade suhtes vaata GNU Üldist Avalikku Litsentsi. - - -GNU GENERAL PUBLIC LICENSE -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. - -GNU GENERAL PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - -a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. - -b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. - -c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, - -c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - -<one line to give the program's name and a brief idea of what it does.> -Copyright (C) <year> <name of author> - -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; either version 2 of the License, or (at your option) any later version. - -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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - -Gnomovision version 69, Copyright (C) year name of author -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type "show w". -This is free software, and you are welcome to redistribute it under certain conditions; type "show c" for details. - -The hypothetical commands "show w" and "show c" should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than "show w" and "show c"; they could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gnomovision" (which makes passes at compilers) written by James Hacker. - -<signature of Ty Coon>, 1 April 1989 -Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</translation> + <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Täpsem</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>Kasutajaliidese sätted</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Kuvatavate hiljutiste failide arv:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Käivitumisel tuletatakse meelde, milline meediahalduri osa oli aktiivne</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation>Topeltklõps otse ekraanile saatmiseks</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation>Uued teenistuse kirjed on loomisel laiendatud</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> - <translation type="unfinished"></translation> + <translation>Rakenduse lõpetamise teabe lubamine</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> + <translation>Hiirekursor</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Taustavärvus:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">Faili avamine</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">Valiku muutmine</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">Uuenda</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">Kirjeldus</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished">Silt</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished">Alustamise silt</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished">Lõpu silt</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">Vaikimisi</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished">Sildi ID</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished">HTMLi algus</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished">HTMLi lõpp</translation> + </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Kustuta</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> - <translation type="unfinished"></translation> + <translation>Tõrge uuendamisel</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> - <translation type="unfinished"></translation> + <translation>Silt "n" on juba defineeritud.</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> - <translation type="unfinished"></translation> + <translation>Silt %s on juba defineeritud.</translation> </message> </context> <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Esines viga</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Uups! OpenLP-s esines viga, millest pole võimalik taastada. Alumises kastis olev tekst võib olla kasulik OpenLP arendajatele, palun meili see aadressil bugs@openlp.org, koos täpse kirjeldusega sellest, mida sa tegid, kui selline probleem esines.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation>Saada e-kiri</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation>Salvesta faili</translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation>Palun kirjelda siin, mida sa tegid, mis kutsus selle vea esile. +(vähemalt 20 tähte)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation>Pane fail kaasa</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation>Puuduvad tähed kirjelduses: %s</translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation>Platvorm: %s </translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>Vearaporti salvestamine</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>Tekstifailid (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s </source> - <translation>**OpenLP vearaport** -versioon: %s + <translation>**OpenLP Bug Report** +Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -2089,24 +1561,15 @@ versioon: %s </translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation>Vearaporti salvestamine</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation>Tekstifailid (*.txt *.log *.text)</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -2114,14 +1577,14 @@ Version: %s %s </source> <comment>Please add the information that bug reports are favoured written in English.</comment> - <translation>*OpenLP vearaport* -versioon: %s + <translation>*OpenLP Bug Report* +Version: %s ---- Palun sisesta vea kirjeldus järgmistele ridadele. --- ---- Kui võimalik, sisesta vea kirjeldus inglise keeles. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -2133,17 +1596,17 @@ versioon: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation>Faili ümbernimetamine</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation>Uue faili nimi:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation>Faili kopeerimine</translation> </message> @@ -2151,129 +1614,129 @@ versioon: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>Üldine</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitorid</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Vali väljundkuva ekraan:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Kuvatakse, kui on ainult üks ekraan</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Rakenduse käivitumine</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Kuvatakse tühja ekraani hoiatust</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Automaatselt avatakse viimane teenistus</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Käivitumisel kuvatakse logo</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Rakenduse sätted</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Enne uue teenistuse alustamist küsitakse, kas salvestada avatud teenistus</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Järgmise teenistuse elemendi automaatne eelvaade</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Slaidi näitamise pikkus korduses:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation>sek</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI andmed</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelecti kasutajanimi:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelecti parool:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Kuva asukoht</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Kõrgus</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Laius</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Kuva asukoht määratakse jõuga</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> - <translation type="unfinished"></translation> + <translation>Ekraan</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> - <translation type="unfinished"></translation> + <translation>peamine</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation>OpenLP uuenduste kontrollimine</translation> </message> </context> <context> @@ -2292,415 +1755,380 @@ versioon: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> - <translation type="unfinished"></translation> + <translation>OpenLP kuva</translation> </message> </context> <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&Fail</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Impordi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Ekspordi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&Vaade</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>&Režiim</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Tööriistad</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Sätted</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Keel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>A&bi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Meediahaldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Teenistuse haldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Kujunduse haldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&Uus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Uus teenistus</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Uue teenistuse loomine.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>&Ava</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Teenistuse avamine</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Olemasoleva teenistuse avamine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Salvesta</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Teenistuse salvestamine</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Praeguse teenistuse salvestamine kettale.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Salvesta &kui...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Salvesta teenistus kui</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Praeguse teenistuse salvestamine uue nimega.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>&Välju</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Lahku OpenLPst</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Kujundus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Seadista OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Meediahaldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Meediahalduri lüliti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Meediahalduri nähtavuse ümberlüliti.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Kujunduse haldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Kujunduse halduri lüliti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Kujunduse halduri nähtavuse ümberlülitamine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Teenistuse haldur</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Teenistuse halduri lüliti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Teenistuse halduri nähtavuse ümberlülitamine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>&Eelvaatluspaneel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Eelvaatluspaneeli lüliti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Eelvaatluspaneeli nähtavuse ümberlülitamine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>&Ekraani paneel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Ekraani paneeli lüliti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Ekraani paneeli nähtavuse muutmine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>&Pluginate loend</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Pluginate loend</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>&Kasutajajuhend</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&Lähemalt</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>Lähem teave OpenLP kohta</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Abi veebis</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Veebileht</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Isetuvastus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Kui saadaval, kasutatakse süsteemi keelt.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Kasutajaliidese keeleks %s määramine</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Lisa &tööriist...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Rakenduse lisamine tööriistade loendisse.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Vaikimisi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Vaikimisi kuvarežiimi taastamine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Ettevalmistus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Ettevalmistuse kuvarežiimi valimine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Otse</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Vaate režiimiks ekraanivaate valimine.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP uuendus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>OpenLP peakuva on tühi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>Peakuva on tühi</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Kas salvestada teenistusse tehtud muudatused?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Seda teenistust on muudetud. Kas sa tahad need muudatused salvestada?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Vaikimisi kujundus: %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2715,75 +2143,85 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/.</translat <translation>Eesti</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation>&Kiirklahvide seadistamine...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation>OpenLP sulgemine</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation>Kas oled kindel, et tahad OpenLP sulgeda?</translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation>Praeguse teenistuse järjekorra printimine.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation>Ctrl+P</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Ühtegi elementi pole valitud</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Lisa valitud teenistuse elemendile</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Sa pead valima vähemalt ühe kirje, mida eelvaadelda.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>Sa pead valima vähemalt ühe kirje, mida tahad ekraanil näidata.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Pead valima vähemalt ühe elemendi.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>Ühtegi elementi pole valitud</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>Pead valima vähemalt ühe elemendi</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>Ühtegi teenistuse elementi pole valitud</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>Pead valima olemasoleva teenistuse, millele lisada.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Vigane teenistuse element</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>Pead valima teenistuse elemendi %s.</translation> </message> @@ -2791,25 +2229,15 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/.</translat <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Pluginate loend</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Plugina andmed</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Versioon:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>Kirjeldus:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2826,238 +2254,319 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/.</translat <translation>Pole aktiivne</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (pole aktiivne)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (aktiivne)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (keelatud)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Teenistuse elementide ümberjärjestamine</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Kustuta</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished">Teenistuse järjekord</translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Teenistuse elementide ümberjärjestamine</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>Uus teenistus</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Uue teenistuse loomine</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Teenistuse avamine</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Olemasoleva teenistuse laadimine</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Salvesta teenistus</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Selle teenistuse salvestamine</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Kujundus:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Vali teenistuse jaoks kujundus</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Tõsta ü&lemiseks</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Teenistuse algusesse tõstmine.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Liiguta &üles</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Elemendi liigutamine teenistuses ühe koha võrra ettepoole.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Liiguta &alla</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Elemendi liigutamine teenistuses ühe koha võrra tahapoole.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Tõsta &alumiseks</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Teenistuse lõppu tõstmine.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>&Kustuta teenistusest</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Valitud elemendi kustutamine teenistusest.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Lisa uus element</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Lisa valitud elemendile</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>&Muuda kirjet</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>&Muuda elemendi kohta järjekorras</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Märkmed</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>&Salmi eelvaatlus</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Otse ekraanile</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Muuda elemendi kujundust</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>Fail ei ole sobiv teenistus. Sisu ei ole UTF-8 kodeeringus.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>Fail pole sobiv teenistus.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Puudub kuvakäsitleja</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation>&Laienda kõik</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation>Kõigi teenistuse kirjete laiendamine.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation>&Ahenda kõik</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation>Kõigi teenistuse kirjete ahendamine.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation>Muudatuste salvestamine</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation>Praegust teenistust on muudetud. Kas tahad selle salvestada?</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation>Faili avamine</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> + <translation>OpenLP teenistuse failid (*.osz)</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation>Valiku tõstmine aknas allapoole.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation>Liiguta üles</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation>Valiku tõstmine aknas ülespoole.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation>Ekraanile</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation>Valitud kirje saatmine ekraanile.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation>Teenistust on muudetud</translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation>Märkmed:</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Teenistuse elemendi märkmed</translation> </message> @@ -3065,7 +2574,7 @@ Sisu ei ole UTF-8 kodeeringus.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Seadista OpenLP</translation> </message> @@ -3088,17 +2597,17 @@ Sisu ei ole UTF-8 kodeeringus.</translation> <translation>Kiirklahv</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation>Vaikimisi: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation>Kohandatud:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation>Pole</translation> </message> @@ -3112,663 +2621,656 @@ Sisu ei ole UTF-8 kodeeringus.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation>Kiirklahv "%s" on juba seotud teise tegevusega, kasuta mingit muud kiirklahvi.</translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Eelmisele liikumine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Järgmisele liikumine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Peida</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Tõsta ekraanile</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Muuda ja kuva laulu eelvaade uuesti</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Katkematu korduse alustamine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Katkematu korduse lõpetamine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Viivitus slaidide vahel sekundites</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Meediaesituse alustamine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Liigu kohta</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation>Ekraani tühjendamine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation>Kujunduse tausta näitamine</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation>Töölaua näitamine</translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation>Eelmine slaid</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation>Järgmine slaid</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation>Eelmine teenistus</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation>Järgmine teenistus</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation>Kuva sulgemine</translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Õigekirjasoovitused</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Siltide vormindus</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation>Kõik failid</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation>Pildi valimine</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation>Kujundusel puudub nimi</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation>Kujundusel ei ole nime. Palun sisesta nimi.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation>Sobimatu kujunduse nimi</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation>Kujunduse nimi pole sobiv. Palun sisesta sobiv nimi.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> - <translation type="unfinished">(%d rida slaidil)</translation> + <translation>(%d rida slaidil)</translation> </message> </context> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>Uus kujundus</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Uue kujunduse loomine.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Kujunduse muutmine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Kujunduse muutmine.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation>Kujunduse kustutamine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Kujunduse kustutamine.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Kujunduse importimine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Kujunduse importimine.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Kujunduse eksportimine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Kujunduse eksportimine.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>Kujunduse &muutmine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>Kujunduse &kustutamine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Määra &globaalseks vaikeväärtuseks</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (vaikimisi)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>Pead valima kujunduse, mida muuta.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>Vaikimisi kujundust pole võimalik kustutada.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>Kujundust %s kasutatakse pluginas %s.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>Sa ei ole kujundust valinud.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Salvesta kujundus - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Kujundus eksporditud</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>Sinu kujunduse on edukalt eksporditud.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>Kujunduse eksportimine nurjus</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>Sinu kujundust polnud võimalik eksportida, kuna esines viga.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Importimiseks kujunduse faili valimine</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>See fail ei ole korrektne kujundus. Sisu kodeering ei ole UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>See fail ei ole sobilik kujundus.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation>&Kopeeri kujundust</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation>&Nimeta kujundus ümber</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation>&Ekspordi kujundus</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation>Pead valima kujunduse, mida ümber nimetada.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation>Ümbernimetamise kinnitus</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation>Kas anda kujundusele %s uus nimi?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation>Pead valima kujunduse, mida tahad kustutada.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation>Kustutamise kinnitus</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation>Kas kustutada kujundus %s?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> - <translation type="unfinished"></translation> + <translation>Valideerimise viga</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> + <translation>Sellenimeline teema on juba olemas.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation>Kujunduse nõustaja</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation>Tere tulemast kujunduse nõustajasse</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation>Tausta määramine</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation>Määra kujunduse taust, kasutades järgnevaid parameetreid.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation>Tausta liik:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation>Ühtlane värv</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation>Üleminek</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation>Pilt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation>Värvus:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation>Üleminek:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation>Horisontaalne</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation>Vertikaalne</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation>Radiaalne</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation>Loodest kagusse</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation>Edelast kirdesse</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation>Pilt:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation>Peamise kirja üksikasjad</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation>Määra font ja teised kuvatava teksti omadused</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation>Kirjastiil:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation>Suurus:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation>Reavahe:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation>&Kontuurjoon:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation>&Vari:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation>Rasvane</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation>Kaldkiri</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation>Jaluse fondi üksikasjad</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation>Määra jaluse kirja font ja muud omadused</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation>Teksti vorminduse üksikasjad</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation>Võimaldab määrata lisaks vorminduse andmeid</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation>Rõhtjoondus:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation>Vasakul</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation>Paremal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation>Keskel</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation>Püstjoondus:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation>Üleval</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation>Keskel</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation>All</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation>Väljundala asukoht</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation>Võimaldab muuta ja liigutada peamist ja jaluse ala.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation>&Peamine ala</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation>&Vaikimisi asukoha kasutamine</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation>X-asukoht:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation>px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation>Y-asukoht:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation>Laius:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation>Kõrgus:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation>Vaikimisi asukoha kasutamine</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation>Salvestamine ja eelvaade</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation>Vaata kujundus üle ja salvesta see, asendades olemasolev või muuda nime, et luua uus kujundus</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation>Kujunduse nimi:</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation>Uus kujundus</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation>See nõustaja aitab kujundusi luua ja muuta. Klõpsa edasi nupul, et alustada tausta määramisest.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation>Üleminekud:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation>&Jaluse ala</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> - <translation type="unfinished"></translation> + <translation>Teema muutmine - %s</translation> </message> </context> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Kujundused</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Üldine kujundus</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Kujunduse tase</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>&Laulu tase</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>Iga laulu jaoks kasutatakse sellele andmebaasis määratud kujundust. Kui laulul kujundus puudub, kasutatakse teenistuse kujundust. Kui teenistusel kujundus puudub, siis kasutatakse üleüldist kujundust.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>&Teenistuse tase</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>Kasutatakse teenistuse kujundust, eirates laulude kujundusi. Kui teenistusel kujundust pole, kasutatakse globaalset.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Üleüldine tase</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Kasutatakse globaalset kujundust, eirates nii teenistuse kui laulu kujundust.</translation> </message> @@ -3776,82 +3278,471 @@ Sisu kodeering ei ole UTF-8.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> - <translation type="unfinished">Viga</translation> + <translation>Viga</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation>&Kustuta</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation>Valitud kirje kustutamine.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation>Valiku liigutamine ühe koha võrra ülespoole.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation>Valiku liigutamine ühe koha võrra allapoole.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Programmist</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Lisa</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Täpsem</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Kõik failid</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">All</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Lehitse...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">Loobu</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI number:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Uue teenistuse loomine.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Muuda</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Pilt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Impordi</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Ekraan</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished">Ekraani tausta viga</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Laadi</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Keskel</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished">Uus</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Uus teenistus</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Uus kujundus</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Ühtegi elementi pole valitud</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Teenistuse avamine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Eelvaade</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished">Teenistuse järjekorra printimine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Tausta asendamine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Ekraani tausta asendamine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished">Tausta lähtestamine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Ekraani tausta asendamine</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Salvesta && eelvaatle</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Otsi</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">Pead valima kirje, mida muuta.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Kujundus</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Kujundused</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Üleval</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Importimine lõpetatud.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Vorming:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importimine</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">"%s" importimine...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Importimise allika valimine</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite".</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Valmis.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Importimise alustamine...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Teretulemast Piibli importimise nõustajasse</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Tere tulemast laulude importimise nõustajasse</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Autorid</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Laulik</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Laulikud</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Laulude haldus</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Teema</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Teemad</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Esitluse plugin</strong><br />Esitluse plugin võimaldab näidata esitlusi erinevate programmidega. Saadaolevate esitlusprogrammide valik on saadaval valikukastis.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation>Laadi</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation>Uue esitluse laadimine</translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation>Kustuta</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation>Valitud esitluse kustutamine</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation>Valitud esitluse eelvaatlus</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation>Valitud esitluse saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation>Teenistus</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation>Valitud esitluse lisamine teenistusse</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation>Esitlus</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation>Esitlused</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation>Esitlused</translation> @@ -3860,105 +3751,100 @@ Sisu kodeering ei ole UTF-8.</translation> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Esitlus(t)e valimine</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>Automaatne</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Esitluseks kasutatakse:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>Fail on olemas</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>Sellise nimega esitluse fail on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Toetamata fail</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>Seda liiki esitlus ei ole toetatud.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>Pead valima kirje, mida kustutada.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation>Esitlused (%s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation>Puuduv esitlus</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation>Esitlust %s enam ei ole.</translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation>Esitlus %s ei ole täielik, palun laadi see uuesti.</translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Saadaolevad juhtijad</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Täpsem</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>Esitlusrakendust on lubatud asendada</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><b>Kaugjuhtimisplugin</b><br>See plugin võimaldab töötavale openlp programmile teadete saatmise teisest arvutist veebilehitseja või mõne muu rakenduse kaudu.<br>Selle peamine rakendus on teadete saatmine lastehoiust.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation>Kaugjuhtimine</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation>Kaugjuhtimine</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation>Kaugjuhtimine</translation> @@ -4046,7 +3932,7 @@ Sisu kodeering ei ole UTF-8.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Laulukasutuse andmete kustutamine</translation> </message> @@ -4060,263 +3946,259 @@ Sisu kodeering ei ole UTF-8.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation>Kas oled kindel, et tahad kustutada valitud laulude kasutuse andmed?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation>Kustutamine edukas</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation>Kõik kustutamisele määratud andmed kustutati edukalt.</translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Laulukasutuse salvestamine</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Vali kuupäevade vahemik</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>kuni</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Asukohast raporteerimine</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Väljundfaili asukoht</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation>laulukasutuse_andmed_%s_%s.txt</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation>Raporti koostamine</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation>Raport +%s +on edukalt loodud.</translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Laul</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Laulude importimine importimise nõustajaga.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Laulude plugin</strong><br />See plugin võimaldab laulude kuvamise ja haldamise.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation>&Indekseeri laulud uuesti</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation>Laulude andmebaasi kordusindekseerimine, et parendada otsimist ja järjekorda.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation>Laulude kordusindekseerimine...</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation>Loobu</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation>Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation>Uue laulu lisamine</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation>Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation>Valitud laulu muutmine</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation>Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation>Valitud laulu kustutamine</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation>Eelvaade</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation>Valitud laulu eelvaatlus</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation>Ekraan</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation>Valitud laulu saatmine ekraanile</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation>Teenistusse</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation>Valitud laulu lisamine teenistusele</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation>Laul</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation>Laulud</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation>Laulud</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> - <translation type="unfinished">Araabia (CP-1256)</translation> + <translation>Araabia (CP-1256)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> - <translation type="unfinished">Balti (CP-1257)</translation> + <translation>Balti (CP-1257)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> - <translation type="unfinished">Kesk-Euroopa (CP-1250)</translation> + <translation>Kesk-Euroopa (CP-1250)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> - <translation type="unfinished">Kirillitsa (CP-1251)</translation> + <translation>Kirillitsa (CP-1251)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> - <translation type="unfinished">Kreeka (CP-1253)</translation> + <translation>Kreeka (CP-1253)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> - <translation type="unfinished">Heebrea (CP-1255)</translation> + <translation>Heebrea (CP-1255)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> - <translation type="unfinished">Jaapani (CP-932)</translation> + <translation>Jaapani (CP-932)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> - <translation type="unfinished">Korea (CP-949)</translation> + <translation>Korea (CP-949)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> - <translation type="unfinished">Lihtsustatud Hiina (CP-936)</translation> + <translation>Lihtsustatud Hiina (CP-936)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> - <translation type="unfinished">Tai (CP-874)</translation> + <translation>Tai (CP-874)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> - <translation type="unfinished">Tradistiooniline Hiina (CP-950)</translation> + <translation>Tradistiooniline Hiina (CP-950)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> - <translation type="unfinished">Türgi (CP-1254)</translation> + <translation>Türgi (CP-1254)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> - <translation type="unfinished">Vietnami (CP-1258)</translation> + <translation>Vietnami (CP-1258)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> - <translation type="unfinished">Lääne-Euroopa (CP-1252)</translation> + <translation>Lääne-Euroopa (CP-1252)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> - <translation type="unfinished"></translation> + <translation>Märgikodeering</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> - <translation type="unfinished"></translation> + <translation>Kodeering on vajalik märkide õige esitamise jaoks. +Tavaliselt on vaikimisi valik õige.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> + <translation>Palun vali märgikodeering. +Kodeering on vajalik märkide õige esitamise jaoks.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Autorite haldus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Täisnimi:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>Eesnimi:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Perekonnanimi:</translation> </message> @@ -4326,12 +4208,12 @@ The encoding is responsible for the correct character representation.</source> <translation>Pead sisestama autori eesnime.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>Pead sisestama autori perekonnanime.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>Sa ei ole sisestanud autori kuvamise nime, kas see tuleks kombineerida ees- ja perekonnanimest?</translation> </message> @@ -4339,7 +4221,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation>Laulu importimine, %d %d-st</translation> </message> @@ -4347,242 +4229,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Lauluredaktor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Pealkiri:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>&Alternatiivne pealkiri:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>&Sõnad:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>&Salmide järjekord:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>Muuda &kõiki</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Pealkiri && laulusõnad</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Autorid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Lisa laulule</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Eemalda</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>&Autorite, teemade ja laulikute haldamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Teema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>L&isa laulule</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>&Eemalda</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Laulik</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Book:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Number:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Autorid, teemad && laulik</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Kujundus</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>Uus &kujundus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Autoriõiguse andmed</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI number:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Kommentaarid</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Kujundus, autoriõigus && kommentaarid</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Salvesta && eelvaatle</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Autori lisamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>Seda autorit veel pole, kas tahad autori lisada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>See autor juba on loendis.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>Autorit pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>Sa ei ole valinud ühtegi sobilikku autorit. Vali autor loendist või sisesta uue autori nimi ja klõpsa uue nupul "Lisa laulule autor".</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Teema lisamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>Sellist teemat pole. Kas tahad selle lisada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>See teema juba on loendis.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>Ühtegi teemat pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>Sa pole valinud sobivat teemat. Vali teema kas loendist või sisesta uus teema ja selle lisamiseks klõpsa nupule "Lisa laulule teema".</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>Pead sisestama laulu pealkirja.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>Pead sisestama vähemalt ühe salmi.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Hoiatus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>Salmide järjekord pole sobiv. Mitte ükski valm ei vasta %s-le. Sobivad salmid on %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>Sa pole kasutanud %s mitte kusagil salmide järjekorras. Kas sa oled kindel, et tahad laulu selliselt salvestada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Lauliku lisamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>Sellist laulikut pole. Kas tahad selle lisada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation>Pead lisama sellele laulule autori.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation>Salm peab sisaldama teksti.</translation> </message> @@ -4590,381 +4412,204 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Salmi muutmine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>&Salmi liik:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>&Sisesta</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>Ühtegi OpenLP 2.0 lauluandmebaasi pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>Pead valima OpenLP 2.0 lauluandmebaasi, mida importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>Ühtegi openlp 1.x lauluandmebaasi faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>Pead valima openlp.org 1.x andmebaasi, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>Ühtegi OpenSong faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>Pead lisama vähemalt ühe OpenSong faili, mida importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>Ühtegi Words of Worship faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>Tuleb lisada vähemalt üks Words of Worship fail, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>Ühtegi CCLI faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>Tuleb lisada vähemalt üks CCLI fail, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>Ühtegi Songs of Fellowship faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>Pead lisama vähemalt ühe Songs of Fellowship faili, mida importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>Ühtegi dokumenti/esitlust pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>Pead lisama vähemalt ühe dokumendi või esitluse faili, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>Ühtegi EasyWorship lauluandmebaasi faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>Pead valima vähemalt ühe EasyWorship lauluandmebaasi, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>OpenLP 2.0 andmebaasifaili valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>openlp.org 1.x andmebaasifaili valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Open Song failide valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>Words of Worship failide valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>CCLI failide valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>Songs of Fellowship failide valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Dokumentide/esitluste valimine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>EasyWorship andmebaasifaili valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Importimise alustamine...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Laulude importimise nõustaja</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Tere tulemast laulude importimise nõustajasse</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>See nõustaja aitab sul laule importida paljudest erinevatest formaatidest. Klõpsa all asuvat edasi nuppu, et jätkata tegevust importimise vormingu valimisega.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Importimise allika valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Vali importimise vorming ning kust importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Vorming:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation>Words of Worship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation>CCLI/SongSelect</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation>Songs of Fellowship fail</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Tavaline dokumenti/esitlus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation>EasyWorship</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Failinimi:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Lehitse...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite".</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>OpenLyrics importija ei ole veel valmis, kuid nagu sa näed, on meil plaanis see luua. Loodetavasti saab see järgmiseks väljalaskeks valmis.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Lisa faile...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Faili(de) eemaldamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Songs of Fellowship importija on keelatud, kuna OpenLP ei suuda leida sinu arvutist OpenOffice.org-i.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Tavalisest dokumendist/esitlusest importija on keelatud, kuna OpenLP ei suuda leida sinu arvutist OpenOffice.org-i.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Importimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Palun oota, kuni laule imporditakse.</translation> </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Valmis.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>"%s" importimine...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>%s importimine...</translation> - </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> <translation>Haldab %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation>Ühtegi SongBeameri faili pole valitud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation>Pead lisama vähemalt ühe SongBeameri faili, millest importida.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation>Kõik failid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation>OpenLP 2.0 andmebaas</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation>openlp.org v1.x andmebaas</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation>Words Of Worship Song failid</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> - <translation>Songs Of Felloship Song failid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> - <translation>SongBeameri failide valimine</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> - <translation>SongBeamer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> - <translation>SongBeameri failid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4972,116 +4617,72 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Laulude haldus</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Autorite, teemade ja raamatute loendi haldamine</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Otsi:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Otsi</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Pealkirjad</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Laulusõnad</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Autorid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>Pead valima kirje, mida muuta.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>Pead valima kirje, mida tahad kustutada.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Kas kustutada laul(ud)?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation>CCLI litsents: </translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation>Kogu laulust</translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> - <translation> - <numerusform>Kas oled kindel, et tahad kustutada %n valitud laulu?</numerusform> - <numerusform>Kas oled kindel, et tahad kustutada %n valitud laulu?</numerusform> + <translation type="unfinished"> + <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Kujundused</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation>Laulu importimine, %d. %d-st.</translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">%s importimine...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation>%s importimine...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Lauliku haldus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Nimi:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Kirjastaja:</translation> </message> @@ -5091,33 +4692,31 @@ The encoding is responsible for the correct character representation.</source> <translation>Pead sisestama lauliku nime.</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>autoriõigus</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation>Tundmatu autor</translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Importimine lõpetatud.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Laulu importimine nurjus.</translation> </message> @@ -5125,157 +4724,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Laulude haldus</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Autorid</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Teemad</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Laulikud</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Lisa</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>&Muuda</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Kustuta</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>Autori lisamine pole võimalik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>See autor on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>Sinu teema lisamine pole võimalik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>Teema on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>Lauliku lisamine pole võimalik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>See laulik on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>Muudatuste salvestamine pole võimalik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>Sinu muudetud autorit pole võimalik salvestada, kuna autor on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>Sinu muudetud teemat pole võimalik salvestada, kuna selline on juba olemas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Autori kustutamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Kas oled kindel, et tahad kustutada valitud autori?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>Seda autorit pole võimalik kustutada, kuna ta on märgitud vähemalt ühe laulu autoriks.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>Ühtegi autorit pole valitud!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Teema kustutamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>Kas oled kindel, et tahad valitud teema kustutada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>Seda teemat pole võimalik kustutada, kuna see on seostatud vähemalt ühe lauluga.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation>Ühtegi teemat pole valitud!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Lauliku kustutamine</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>Kas oled kindel, et tahad valitud lauliku kustutada?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>Seda laulikut pole võimalik kustutada, kuna vähemalt üks laul kuulub sellesse laulikusse.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>Ühtegi laulikut pole valitud!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation>Autor %s on juba olemas. Kas sa tahad, et laulud autoriga %s liidetaks olemasolevale autorile %s?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation>Teema %s on juba olemas. Kas sa tahad, et laulud teemaga %s kasutaksid olemasolevat teemat %s?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation>Laulik %s on juba olemas. Kas sa tahad, et lauliku %s laulid liidetaks olemasoleva laulikuga %s?</translation> </message> @@ -5311,12 +4860,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Teemade haldus</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Teema nimi:</translation> </message> @@ -5329,7 +4878,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Salm</translation> </message> @@ -5339,37 +4888,29 @@ The encoding is responsible for the correct character representation.</source> <translation>Refrään</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Vahemäng</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Eelrefrään</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Sissejuhatus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Lõpetus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Muu</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished">Tundmatu autor</translation> - </message> -</context> </TS> diff --git a/resources/i18n/fr.ts b/resources/i18n/fr.ts new file mode 100644 index 000000000..ebf6d63ce --- /dev/null +++ b/resources/i18n/fr.ts @@ -0,0 +1,4832 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS><TS version="1.1" language="fr"> +<context> + <name>AlertPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter found</source> + <translation>Pas de paramètre trouvé</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>You have not entered a parameter to be replaced. +Do you want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>AlertsPlugin</name> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> + <source>&Alert</source> + <translation>&Alerte</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> + <source>Show an alert message.</source> + <translation>Affiche un message d'alerte.</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> + <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> + <source>Alert</source> + <comment>name singular</comment> + <translation>Alerte</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> + <source>Alerts</source> + <comment>name plural</comment> + <translation>Alertes</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> + <source>Alerts</source> + <comment>container title</comment> + <translation>Alertes</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <source>Alert Message</source> + <translation>Message d'alerte</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <source>Alert &text:</source> + <translation>Alerte &texte :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <source>&Parameter:</source> + <translation>&Paramètre :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <source>&New</source> + <translation>&Nouveaux</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> + <source>&Save</source> + <translation>&Enregistre</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> + <source>Displ&ay</source> + <translation>A&ffiche</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="108"/> + <source>Display && Cl&ose</source> + <translation>&Affiche && Ferme </translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>New Alert</source> + <translation>Nouvelle alerte</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> + <translation>Vous n'avez pas spécifier de texte pour votre alerte. Pouvez vous introduire du texte avant de cliquer Nouveau.</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsManager</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="72"/> + <source>Alert message created and displayed.</source> + <translation>Message d'alerte créé et affiché.</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsTab</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> + <source>Font</source> + <translation>Police</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> + <source>Font name:</source> + <translation>Nom de la police :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> + <source>Font color:</source> + <translation>Couleur de la police :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> + <source>Background color:</source> + <translation>Couleur de fond :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <source>Font size:</source> + <translation>Taille de la police :</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> + <source>Alert timeout:</source> + <translation>Temps d'alerte :</translation> + </message> +</context> +<context> + <name>BibleDB.Wizard</name> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblePlugin.HTTPBible</name> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>Download Error</source> + <translation>Erreur de téléchargement</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> + <translation>Il y a un problème de téléchargement de votre sélection de verset. Pouvez-vous contrôler votre connexion Internet, et si cette erreur persiste pensez a rapporter un dysfonctionnement.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>Parse Error</source> + <translation>Erreur syntaxique</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> + <translation>Il y a un problème pour extraire votre sélection de verset. Si cette erreur persiste pensez a rapporter un dysfonctionnement.</translation> + </message> +</context> +<context> + <name>BiblePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> + <source>Bible not fully loaded</source> + <translation>Bible pas entièrement chargée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> + <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> + <translation>Vous ne pouvez pas combiner versets biblique unique et deuxième. Voulez-vous supprimer vos résultats de recherche ?</translation> + </message> +</context> +<context> + <name>BiblesPlugin</name> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> + <source>&Bible</source> + <translation>&Bible</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> + <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> + <translation><strong>Module Bible</strong><br />Le module Bible fournis la possibilité d'afficher des versets bibliques de plusieurs sources pendant le service.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> + <source>Bible</source> + <comment>name singular</comment> + <translation>Bible</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> + <source>Bibles</source> + <comment>name plural</comment> + <translation>Bibles</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> + <source>Bibles</source> + <comment>container title</comment> + <translation>Bibles</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> + <source>Import a Bible</source> + <translation>Importer une Bible</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <source>Add a new Bible</source> + <translation>Ajouter une nouvelle Bible</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> + <source>Edit the selected Bible</source> + <translation>Édite la Bible sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> + <source>Delete the selected Bible</source> + <translation>Supprime la Bible sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> + <source>Preview the selected Bible</source> + <translation>Prévisualise la Bible sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> + <source>Send the selected Bible live</source> + <translation>Envoie la Bible sélectionnée en live</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> + <source>Add the selected Bible to the service</source> + <translation>Ajoute la Bible sélectionnée au service</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No Book Found</source> + <translation>Pas de livre trouvé</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> + <translation>Pas de livre correspondant n'a été trouvé dans cette Bible. Contrôlez que vous avez correctement écris le mon du livre.</translation> + </message> +</context> +<context> + <name>BiblesPlugin.BibleManager</name> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>No Bibles available</source> + <translation>Pas de Bible trouvée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> + <translation>Il n'y a pas de Bibles actuellement installée. Pouvez-vous utiliser l'assistant d'importation pour installer une ou plusieurs Bibles.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>Scripture Reference Error</source> + <translation>Écriture de référence erronée.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Web Bible cannot be used</source> + <translation>Les Bible Web ne peut être utilisée</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>La recherche textuelle n'est pas disponible pour les Bibles Web.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>You did not enter a search keyword. +You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> + <translation>Vous n'avez pas introduit de mot clé de recherche. +Vous pouvez séparer différents mot clé par une espace pour rechercher tous les mot clé et les séparer par des virgules pour en rechercher uniquement un.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + +Book Chapter +Book Chapter-Chapter +Book Chapter:Verse-Verse +Book Chapter:Verse-Verse,Verse-Verse +Book Chapter:Verse-Verse,Chapter:Verse-Verse +Book Chapter:Verse-Chapter:Verse</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.BiblesTab</name> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> + <source>Verse Display</source> + <translation>Affichage de versets</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> + <source>Only show new chapter numbers</source> + <translation>Affiche uniquement les nouveaux numéros de chapitre.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> + <source>Layout style:</source> + <translation>Style de disposition :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> + <source>Display style:</source> + <translation>Style d'affichage :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> + <source>Bible theme:</source> + <translation>Thème :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> + <source>Verse Per Slide</source> + <translation>Un verset par diapositive</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> + <source>Verse Per Line</source> + <translation>Un verset par ligne</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> + <source>Continuous</source> + <translation>Continu</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> + <source>No Brackets</source> + <translation>Pas de parenthèse</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> + <source>( And )</source> + <translation>( et )</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> + <source>{ And }</source> + <translation>{ et }</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> + <source>[ And ]</source> + <translation>[ et ]</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> + <source>Note: +Changes do not affect verses already in the service.</source> + <translation>Remarque : +Les changement ne s'applique aux versets déjà un service.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> + <source>Display second Bible verses</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> + <source>Bible Import Wizard</source> + <translation>Assistant d'import de Bibles</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> + <source>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.</source> + <translation>Cette assistant vous aide a importer des bible de différents formats. Clique le bouton suivant si dessous pour démarrer le processus par sélectionner le format à importer.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> + <source>Web Download</source> + <translation>Téléchargement Web</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> + <source>Location:</source> + <translation>Emplacement :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> + <source>Crosswalk</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> + <source>BibleGateway</source> + <translation>BibleGateway</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> + <source>Bibleserver</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> + <source>Bible:</source> + <translation>Bible :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> + <source>Download Options</source> + <translation>Options de téléchargement</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> + <source>Server:</source> + <translation>Serveur :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <source>Username:</source> + <translation>Nom d'utilisateur :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <source>Password:</source> + <translation>Mot de passe :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <source>Proxy Server (Optional)</source> + <translation>Serveur Proxy (Optionnel)</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <source>License Details</source> + <translation>Détails de la licence</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <source>Set up the Bible's license details.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <source>Version name:</source> + <translation>Nom de la version :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <source>Copyright:</source> + <translation>Copyright :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <source>Permissions:</source> + <translation>Permissions :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> + <source>Please wait while your Bible is imported.</source> + <translation>Attendez que la Bible sois importée.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> + <source>You need to specify a file with books of the Bible to use in the import.</source> + <translation>Vous devez spécifier un fichier avec les livres de la Bible à utiliser dans l'import.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> + <source>You need to specify a file of Bible verses to import.</source> + <translation>Vous devez spécifier un fichier de verset biblique à importer.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> + <source>You need to specify a version name for your Bible.</source> + <translation>Vous devez spécifier un nom de version pour votre Bible.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> + <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> + <translation>Vous devez introduire un copyright pour votre Bible, Les Bibles dans le domaine publics doivent être marquée comme trouvé. </translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>Bible Exists</source> + <translation>La Bible existe</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> + <translation>Cette bible existe déjà. Veuillez introduire un non de Bible différent ou commencer par supprimer celle qui existe déjà.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> + <source>CSV File</source> + <translation>Fichier CSV</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> + <source>openlp.org 1.x bible</source> + <translation>Bible openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> + <source>Starting Registering bible...</source> + <translation>Commence l'enregistrement de la Bible...</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> + <source>Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required.</source> + <translation>Bible enregistrée. Veuillez noter que les verset vont être téléchargement +a la demande, une connexion Interner fiable est donc nécessaire.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> + <source>Your Bible import failed.</source> + <translation>Votre import de Bible à échoué.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> + <source>Quick</source> + <translation>Rapide</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> + <source>Second:</source> + <translation>Deuxième :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> + <source>Find:</source> + <translation>Recherche :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> + <source>Results:</source> + <translation>Résultat :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> + <source>Book:</source> + <translation>Livre :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> + <source>Chapter:</source> + <translation>Chapitre :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> + <source>Verse:</source> + <translation>Verset :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> + <source>From:</source> + <translation>De :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> + <source>To:</source> + <translation>A :</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Text Search</source> + <translation>Recherche de texte</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> + <source>Clear</source> + <translation>Efface</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> + <source>Keep</source> + <translation type="unfinished">Laisse</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.Opensong</name> + <message> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation>Import %s %s...</translation> + </message> +</context> +<context> + <name>BiblesPlugin.OsisImport</name> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> + <source>Detecting encoding (this may take a few minutes)...</source> + <translation>Détection de l'encodage (cela peut prendre quelque minutes)...</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation>Import %s %s...</translation> + </message> +</context> +<context> + <name>CustomPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> + <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> + <translation><strong>Module custom</strong><br />Le module custom permet de créer des diapositive textuel personnalisée qui peuvent être affichée comme les chants. Ce module permet une grande liberté par rapport au module chant.</translation> + </message> +</context> +<context> + <name>CustomPlugin.CustomTab</name> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> + <source>Custom Display</source> + <translation>Affichage custom</translation> + </message> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> + <source>Display footer</source> + <translation>Affiche le pied de page</translation> + </message> +</context> +<context> + <name>CustomPlugin.EditCustomForm</name> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> + <source>Edit Custom Slides</source> + <translation>Édite les diapositives custom</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> + <source>&Title:</source> + <translation>&Titre :</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> + <source>Add a new slide at bottom.</source> + <translation>Ajoute une nouvelle diapositive en bas.</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> + <source>Edit the selected slide.</source> + <translation>Édite la diapositive sélectionnée.</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> + <source>Ed&it All</source> + <translation>Édite &tous</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> + <source>Edit all the slides at once.</source> + <translation>Édite toutes les diapositives en une.</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> + <source>The&me:</source> + <translation>Thè&me :</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> + <source>&Credits:</source> + <translation>&Crédits :</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> + <source>You need to type in a title.</source> + <translation>Vous devez introduire un titre.</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> + <source>You need to add at least one slide</source> + <translation>Vous devez ajouter au moins une diapositive</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> + <source>Split Slide</source> + <translation>Sépare la diapositive</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> + <source>Split a slide into two by inserting a slide splitter.</source> + <translation>Sépare la diapositive en deux par l'inversion d'un séparateur de diapositive.</translation> + </message> +</context> +<context> + <name>CustomsPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> + <source>Custom</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> + <source>Customs</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> + <source>Custom</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation>Import un élément custom</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation>Ajoute un nouveau custom</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation>Édite le custom sélectionner</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation>Efface le custom sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation>Prévisualise le custom sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation>Envoie le custom sélectionner en live</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <source>Add the selected Custom to the service</source> + <translation>Ajoute le custom sélectionner au service</translation> + </message> +</context> +<context> + <name>ImagePlugin</name> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> + <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> + <source>Image</source> + <comment>name singular</comment> + <translation>Image</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> + <source>Images</source> + <comment>name plural</comment> + <translation>Images</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> + <source>Images</source> + <comment>container title</comment> + <translation type="unfinished">Images</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation>Charge une nouvelle image</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Ajoute une nouvelle image</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Édite l'image sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> + <source>Delete the selected Image</source> + <translation>Efface l'image sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <source>Preview the selected Image</source> + <translation>Prévisualise l'image sélectionnée</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> + <source>Send the selected Image live</source> + <translation>Envoie l'image sélectionnée en direct</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> + <source>Add the selected Image to the service</source> + <translation>Ajoute l'image sélectionnée au service</translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> + <source>Select Image(s)</source> + <translation>Image(s) séléctionnée</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> + <source>You must select an image to delete.</source> + <translation>Vous devez sélectionner une image a effacer.</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>Missing Image(s)</source> + <translation>Image(s) manquante</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> + <source>The following image(s) no longer exist: %s</source> + <translation>L(es) image(s) suivante(s) n'existe(nt) plus : %s</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>The following image(s) no longer exist: %s +Do you want to add the other images anyway?</source> + <translation>L(es) image(s) suivante(s) n'existe(nt) plus : %s +Voulez-vous ajouter de toute façon d'autres images ?</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation>Vous devez sélectionner une image pour remplacer le fond.</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> + <translation>Il y a un problème pour remplacer votre fond, le fichier d'image "%s" n'existe plus.</translation> + </message> +</context> +<context> + <name>MediaPlugin</name> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> + <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> + <translation><strong>Module média</strong><br />Le module média permet une lecture de contenu audio et vidéo.</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> + <source>Media</source> + <comment>name singular</comment> + <translation>Médias</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> + <source>Media</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> + <source>Media</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> + <source>Load a new Media</source> + <translation>Charge un nouveau média</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> + <source>Add a new Media</source> + <translation>Ajoute un nouveau média</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> + <source>Edit the selected Media</source> + <translation>Édite le média sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> + <source>Delete the selected Media</source> + <translation>Efface le média sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> + <source>Preview the selected Media</source> + <translation>Prévisualise le média sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> + <source>Send the selected Media live</source> + <translation>Envoie le média en direct</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation type="unfinished">Ajouter le média sélectionné au service</translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> + <source>Select Media</source> + <translation>Média sélectionné</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> + <source>You must select a media file to replace the background with.</source> + <translation>Vous devez sélectionné un fichier média le fond.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation>Il y a un problème pour remplacer le fond du direct, le fichier du média "%s" n'existe plus.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>Missing Media File</source> + <translation>Fichier du média manquant</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>The file %s no longer exists.</source> + <translation>Le fichier %s n'existe plus.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> + <source>You must select a media file to delete.</source> + <translation>Vous devez sélectionné un fichier média à effacer.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaTab</name> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> + <source>Media Display</source> + <translation>Affiche le média</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> + <source>Use Phonon for video playback</source> + <translation>Use Phonon pour la lecture des vidéos</translation> + </message> +</context> +<context> + <name>OpenLP</name> + <message> + <location filename="openlp/core/utils/__init__.py" line="276"/> + <source>Image Files</source> + <translation>Fichiers image</translation> + </message> +</context> +<context> + <name>OpenLP.AboutForm</name> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="91"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> + <source>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 + Andreas "googol" Preikschat + Christian "crichter" Richter + Philip "Phill" Ridout + Maikel Stuivenberg + Carsten "catini" Tingaard + Frode "frodus" Woldsund + +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, Ubuntu) + +Built With + Python: http://www.python.org/ + Qt4: http://qt.nokia.com/ + PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro + Oxygen Icons: http://oxygen-icons.org/ + +Final Credit + "For God so loved the world that He gave + His one and only Son, so that whoever + believes in Him will not perish but inherit + eternal life." -- John 3:16 + + And last but not least, final credit goes to + God our Father, for sending His Son to die + on the cross, setting us free from sin. We + bring this software to you for free because + He has set us free.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> + <source>Credits</source> + <translation>Crédits</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="553"/> + <source>License</source> + <translation>Licence</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="556"/> + <source>Contribute</source> + <translation>Contribuer</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutform.py" line="48"/> + <source> build %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> + <source>Copyright © 2004-2011 Raoul Snyman +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund + +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 below for more details. + + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. + +c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +<one line to give the program's name and a brief idea of what it does.> +Copyright (C) <year> <name of author> + +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; either version 2 of the License, or (at your option) any later version. + +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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type "show w". +This is free software, and you are welcome to redistribute it under certain conditions; type "show c" for details. + +The hypothetical commands "show w" and "show c" should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than "show w" and "show c"; they could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gnomovision" (which makes passes at compilers) written by James Hacker. + +<signature of Ty Coon>, 1 April 1989 +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.AdvancedTab</name> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> + <source>UI Settings</source> + <translation>Propriétés de l'interface</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <source>Number of recent files to display:</source> + <translation>Nombre de fichiers récents a afficher :</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> + <source>Remember active media manager tab on startup</source> + <translation>Se souvenir de l'onglet actif du gestionnaire de média au démarrage</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> + <source>Double-click to send items straight to live</source> + <translation>Double-cliquer pour envoyer les éléments directement en live</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> + <source>Expand new service items on creation</source> + <translation>Étends les nouveaux éléments du service a la création</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> + <source>Enable application exit confirmation</source> + <translation>Demande une confirmation avant de quitter l'application</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> + <source>Mouse Cursor</source> + <translation>Curseur de la souris</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Couleur de fond :</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">Ouvre un fichier</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">Édite la sélection</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">Mettre à jours</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">Description</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished">Onglet</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished">Tag de démarrage</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished">Tag de fin</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">Défaut</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagTab</name> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Update Error</source> + <translation>Erreur de mise a jours</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> + <source>Tag "n" already defined.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Tag %s already defined.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> + <source>Error Occurred</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> + <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> + <source>Send E-Mail</source> + <translation>Envoyer un courriel</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> + <source>Save to File</source> + <translation>Sauve dans un fichier</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionForm</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> + <source>Platform: %s +</source> + <translation>Plateforme: %s +</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>Sauve le rapport de crache</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>Fichiers texte (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> + <source>**OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> + <source>*OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <comment>Please add the information that bug reports are favoured written in English.</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.FileRenameForm</name> + <message> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> + <source>New File Name:</source> + <translation>Nouveau nom de fichier :</translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> + <source>File Copy</source> + <translation>Copie le fichier</translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> + <source>File Rename</source> + <translation>Renomme le fichier</translation> + </message> +</context> +<context> + <name>OpenLP.GeneralTab</name> + <message> + <location filename="openlp/core/ui/generaltab.py" line="242"/> + <source>General</source> + <translation>Général</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="243"/> + <source>Monitors</source> + <translation>Monitors</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="245"/> + <source>Select monitor for output display:</source> + <translation>Select le moniteur pour la sortie d'affichage :</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="247"/> + <source>Display if a single screen</source> + <translation>Affiche si il n'y a qu'un écran</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="249"/> + <source>Application Startup</source> + <translation>Démarrage de l'application</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="251"/> + <source>Show blank screen warning</source> + <translation>Affiche un écran noir d'avertissement</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="253"/> + <source>Automatically open the last service</source> + <translation>Ouvre automatiquement le dernier service</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="255"/> + <source>Show the splash screen</source> + <translation>Affiche l'écran de démarrage</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation>Regarde s'il y a des mise à jours d'OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="259"/> + <source>Application Settings</source> + <translation>Préférence d'application</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="261"/> + <source>Prompt to save before starting a new service</source> + <translation>Demande a sauver avant de commencer un nouveau service</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="263"/> + <source>Automatically preview next item in service</source> + <translation>Prévisualise automatiquement le prochain élément de service</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="265"/> + <source>Slide loop delay:</source> + <translation>Délais de boucle des diapositive :</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="267"/> + <source> sec</source> + <translation> sec</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="269"/> + <source>CCLI Details</source> + <translation>CCLI détails</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="272"/> + <source>SongSelect username:</source> + <translation>Nom d'utilisateur SongSelect :</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="274"/> + <source>SongSelect password:</source> + <translation>Mot de passe SongSelect :</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="277"/> + <source>Display Position</source> + <translation>Position d'affichage</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="291"/> + <source>X</source> + <translation>X</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="292"/> + <source>Y</source> + <translation>Y</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="293"/> + <source>Height</source> + <translation>Hauteur</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="295"/> + <source>Width</source> + <translation>Largeur</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="289"/> + <source>Override display position</source> + <translation>Surcharge la position d'affichage</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="304"/> + <source>Screen</source> + <translation>Écran</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="307"/> + <source>primary</source> + <translation>primaire</translation> + </message> +</context> +<context> + <name>OpenLP.LanguageManager</name> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Language</source> + <translation>Langage</translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Please restart OpenLP to use your new language setting.</source> + <translation>Veuillez redémarrer OpenLP pour utiliser votre nouvelle propriété de langue.</translation> + </message> +</context> +<context> + <name>OpenLP.MainDisplay</name> + <message> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> + <source>OpenLP Display</source> + <translation>Affichage OpenLP</translation> + </message> +</context> +<context> + <name>OpenLP.MainWindow</name> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> + <source>&File</source> + <translation>&Fichier</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> + <source>&Import</source> + <translation>&Import</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> + <source>&Export</source> + <translation>&Export</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> + <source>&View</source> + <translation>&View</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> + <source>M&ode</source> + <translation>M&ode</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> + <source>&Tools</source> + <translation>&Outils</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> + <source>&Settings</source> + <translation>&Options</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <source>&Language</source> + <translation>&Langue</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> + <source>&Help</source> + <translation>&Aide</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> + <source>Media Manager</source> + <translation>Gestionnaire de médias</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> + <source>Service Manager</source> + <translation>Gestionnaire de services</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> + <source>Theme Manager</source> + <translation>Gestionnaire de thèmes</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> + <source>&New</source> + <translation>&Nouveau</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> + <source>Ctrl+N</source> + <translation>Ctrl+N</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> + <source>&Open</source> + <translation>&Open</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> + <source>Open an existing service.</source> + <translation>Ouvre un service existant.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> + <source>Ctrl+O</source> + <translation>Ctrl+O</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> + <source>&Save</source> + <translation>&Enregistre</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> + <source>Save the current service to disk.</source> + <translation>Enregistre le service courant sur le disque.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> + <source>Ctrl+S</source> + <translation>Ctrl+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> + <source>Save &As...</source> + <translation>Enregistre &sous...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> + <source>Save Service As</source> + <translation>Enregistre le service sous</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <source>Save the current service under a new name.</source> + <translation>Enregistre le service courant sous un nouveau nom.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <source>Ctrl+Shift+S</source> + <translation>Ctrl+Shift+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <source>E&xit</source> + <translation>&Quitter</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> + <source>Quit OpenLP</source> + <translation>Quitter OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> + <source>Alt+F4</source> + <translation>Alt+F4</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> + <source>&Theme</source> + <translation>&Thème</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> + <source>Configure &Shortcuts...</source> + <translation>Personnalise les &raccourcis...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <source>&Configure OpenLP...</source> + <translation>&Personnalise OpenLP...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> + <source>&Media Manager</source> + <translation>Gestionnaire de &médias</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <source>Toggle Media Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <source>Toggle the visibility of the media manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> + <source>F8</source> + <translation>F8</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> + <source>&Theme Manager</source> + <translation>Gestionnaire de &thèmes</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> + <source>Toggle Theme Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> + <source>Toggle the visibility of the theme manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> + <source>F10</source> + <translation>F10</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> + <source>&Service Manager</source> + <translation>Gestionnaire de &services</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> + <source>Toggle Service Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> + <source>Toggle the visibility of the service manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> + <source>F9</source> + <translation>F9</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> + <source>&Preview Panel</source> + <translation>Panneau de &prévisualisation</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> + <source>Toggle Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> + <source>Toggle the visibility of the preview panel.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> + <source>F11</source> + <translation>F11</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> + <source>&Live Panel</source> + <translation>Panneau du &direct</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> + <source>Toggle Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> + <source>Toggle the visibility of the live panel.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> + <source>F12</source> + <translation>F12</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> + <source>&Plugin List</source> + <translation>Liste des &modules</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> + <source>List the Plugins</source> + <translation>Liste des modules</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> + <source>Alt+F7</source> + <translation>Alt+F7</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> + <source>&User Guide</source> + <translation>&Guide utilisateur</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> + <source>&About</source> + <translation>&Á propos</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <source>More information about OpenLP</source> + <translation>Plus d'information sur OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <source>Ctrl+F1</source> + <translation>Ctrl+F1</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <source>&Online Help</source> + <translation>&Aide en ligne</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <source>&Web Site</source> + <translation>Site &Web</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <source>&Auto Detect</source> + <translation>Détection &automatique</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <source>Use the system language, if available.</source> + <translation>Utilise le langage système, si disponible.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <source>Set the interface language to %s</source> + <translation>Défini la langue de l'interface à %s</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <source>Add &Tool...</source> + <translation>Ajoute un &outils..</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <source>Add an application to the list of tools.</source> + <translation>Ajoute une application a la liste des outils.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <source>&Default</source> + <translation>&Défaut</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <source>Set the view mode back to the default.</source> + <translation>Redéfini le mode vue comme par défaut.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <source>&Setup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> + <source>Set the view mode to Setup.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <source>&Live</source> + <translation>&Direct</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> + <source>Set the view mode to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> + <source>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/.</source> + <translation>La version %s l'OpenLP est maintenant disponible au téléchargement (vous utiliser actuellement la version %s). + +Vous pouvez télécharger la dernière version depuis http://openlp.org/.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> + <source>OpenLP Version Updated</source> + <translation>Version d'OpenLP mis a jours</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>OpenLP Main Display Blanked</source> + <translation>OpenLP affichage principale noirci</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>The Main Display has been blanked out</source> + <translation>L'affichage principale a été noirci</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Close OpenLP</source> + <translation>Ferme OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Are you sure you want to close OpenLP?</source> + <translation>Êtes vous sur de vouloir fermer OpenLP ?</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> + <source>Default Theme: %s</source> + <translation>Thème par défaut : %s</translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="84"/> + <source>English</source> + <comment>Please add the name of your language here</comment> + <translation>Anglais</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MediaManagerItem</name> + <message> + <location filename="openlp/core/lib/__init__.py" line="287"/> + <source>No Items Selected</source> + <translation>Pas d'éléments sélectionné</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> + <source>&Add to selected Service Item</source> + <translation>&Ajoute à l'élément sélectionné du service</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> + <source>You must select one or more items to preview.</source> + <translation>Vous devez sélectionner un ou plusieurs éléments a prévisualiser.</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> + <source>You must select one or more items to send live.</source> + <translation>Vous devez sélectionner un ou plusieurs éléments pour les envoyer en direct.</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> + <source>You must select one or more items.</source> + <translation>Vous devez sélectionner un ou plusieurs éléments.</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> + <source>You must select an existing service item to add to.</source> + <translation>Vous devez sélectionner un élément existant du service pour l'ajouter.</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>Invalid Service Item</source> + <translation>Élément du service invalide</translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>You must select a %s service item.</source> + <translation>Vous devez sélectionner un %s élément du service.</translation> + </message> +</context> +<context> + <name>OpenLP.PluginForm</name> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <source>Plugin List</source> + <translation>Liste des modules</translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> + <source>Plugin Details</source> + <translation>Détails du module</translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="83"/> + <source>Status:</source> + <translation>Statu :</translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="85"/> + <source>Active</source> + <translation>Actif</translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="87"/> + <source>Inactive</source> + <translation>Inactif</translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="146"/> + <source>%s (Disabled)</source> + <translation>%s (Désactivé)</translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="140"/> + <source>%s (Active)</source> + <translation>%s (Actif)</translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="143"/> + <source>%s (Inactive)</source> + <translation>%s (Inactif)</translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Réordonne les éléments du service</translation> + </message> +</context> +<context> + <name>OpenLP.ServiceManager</name> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> + <source>Load an existing service</source> + <translation>Cherche un service existant</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> + <source>Save this service</source> + <translation>Enregistre ce service</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> + <source>Select a theme for the service</source> + <translation>Selecte un thème pour le service</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move to &top</source> + <translation>Place en &premier</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move item to the top of the service.</source> + <translation>Place l'élément au début du service.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move &up</source> + <translation>Déplace en &haut</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move item up one position in the service.</source> + <translation>Déplace l'élément d'une position en haut.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Move &down</source> + <translation>Déplace en %bas</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> + <source>Move item down one position in the service.</source> + <translation>Déplace l'élément d'une position en bas.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move to &bottom</source> + <translation>Place en &dernier</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move item to the end of the service.</source> + <translation>Place l'élément a la fin du service.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation>Déplace en haut</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> + <source>&Delete From Service</source> + <translation>&Efface du service</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> + <source>Delete the selected item from the service.</source> + <translation>Efface l'élément sélectionner du service.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>&Expand all</source> + <translation>&Développer tous</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>Expand all the service items.</source> + <translation>Développe tous les éléments du service.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>&Collapse all</source> + <translation>&Réduire tous</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>Collapse all the service items.</source> + <translation>Réduit tous les élément du service.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation>Lance le direct</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation>Envoie l'élément sélectionné en direct.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> + <source>&Add New Item</source> + <translation>&Ajoute un nouvel élément</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> + <source>&Add to Selected Item</source> + <translation>&Ajoute a l'élément sélectionné</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> + <source>&Edit Item</source> + <translation>&Édite l'élément</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> + <source>&Reorder Item</source> + <translation>&Réordonne l'élément</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> + <source>&Notes</source> + <translation>&Remarques</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> + <source>&Change Item Theme</source> + <translation>&Change le thème de l'élément</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> + <source>Open File</source> + <translation>Ouvre un fichier</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> + <source>OpenLP Service Files (*.osz)</source> + <translation>Fichier service OpenLP (*.osz)</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> + <source>File is not a valid service. +The content encoding is not UTF-8.</source> + <translation>Le fichier n'est un service valide. +Le contenu n'est pas de l'UTF-8.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> + <source>File is not a valid service.</source> + <translation>Le fichier n'est pas un service valide.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Missing Display Handler</source> + <translation>Délégué d'affichage manquent</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> + <source>Your item cannot be displayed as there is no handler to display it</source> + <translation>Votre élément ne peut pas être affiché il n'y a pas de délégué pour l'afficher</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> + <translation>Votre élément ne peut pas être affiché le module nécessaire pour l'afficher est manquant ou inactif</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceNoteForm</name> + <message> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> + <source>Service Item Notes</source> + <translation>Remarque sur l'élément du service</translation> + </message> +</context> +<context> + <name>OpenLP.SettingsForm</name> + <message> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> + <source>Configure OpenLP</source> + <translation>Configuration d'OpenLP</translation> + </message> +</context> +<context> + <name>OpenLP.ShortcutListDialog</name> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> + <source>Customize Shortcuts</source> + <translation>Personnalise les raccourci.</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Action</source> + <translation>Action</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Shortcut</source> + <translation>Raccourci</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> + <source>Default: %s</source> + <translation>Défaut : %s</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> + <source>Custom:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> + <source>None</source> + <translation>Aucun</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>Duplicate Shortcut</source> + <translation>Raccourci dupliqué</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation>Le raccourci "%s" est déjà assigner a une autre action, veillez utiliser un raccourci diffèrent.</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SlideController</name> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation>Diapositive précédente</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Move to previous</source> + <translation>Aller au précédent</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation>Aller au suivant</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Move to next</source> + <translation>Aller au suivant</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> + <source>Hide</source> + <translation>Cache</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> + <source>Blank Screen</source> + <translation>Écran noir</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> + <source>Blank to Theme</source> + <translation>Thème vide</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> + <source>Show Desktop</source> + <translation>Affiche le bureau</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> + <source>Start continuous loop</source> + <translation>Démarre une boucle continue</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> + <source>Stop continuous loop</source> + <translation>Arrête la boucle continue</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <source>Delay between slides in seconds</source> + <translation>Délais entre les diapositives en secondes</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> + <source>Move to live</source> + <translation>Déplace en direct</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> + <source>Edit and reload song preview</source> + <translation>Édite et recharge le chant prévisualisé</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <source>Start playing media</source> + <translation>Démarre la lecture de média</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> + <source>Go To</source> + <translation>Aller à</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation>Service précédent</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation>Service suivant</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SpellTextEdit</name> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> + <source>Spelling Suggestions</source> + <translation>Suggestions orthographique</translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation>Tags de formatage</translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="213"/> + <source>(%d lines per slide)</source> + <translation>(%d lignes pas diapositive)</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> + <source>Select Image</source> + <translation>Sélectionne l'image</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>Theme Name Missing</source> + <translation>Nom du thème manquant</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>There is no name for this theme. Please enter one.</source> + <translation>Il n'y a pas ne nom pour ce thème, Veillez en introduire un.</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Theme Name Invalid</source> + <translation>Nom du thème invalide</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Invalid theme name. Please enter one.</source> + <translation>Nom du thème invalide. Veuillez en introduire un.</translation> + </message> +</context> +<context> + <name>OpenLP.ThemeManager</name> + <message> + <location filename="openlp/core/ui/thememanager.py" line="66"/> + <source>Create a new theme.</source> + <translation>Crée un nouveau thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit Theme</source> + <translation>Édite thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit a theme.</source> + <translation>Édite un thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete Theme</source> + <translation>Efface thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete a theme.</source> + <translation>Efface un thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import Theme</source> + <translation>Import thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import a theme.</source> + <translation>Import un thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export Theme</source> + <translation>Export thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export a theme.</source> + <translation>Export un thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="107"/> + <source>&Edit Theme</source> + <translation>&Édite thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="110"/> + <source>&Copy Theme</source> + <translation>&Copier le thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="113"/> + <source>&Rename Theme</source> + <translation>&Renomme le thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="116"/> + <source>&Delete Theme</source> + <translation>&Efface le thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="120"/> + <source>Set As &Global Default</source> + <translation>Établir comme défaut &globale</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="123"/> + <source>&Export Theme</source> + <translation>&Exporte le thème</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="436"/> + <source>%s (default)</source> + <translation>%s (défaut)</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>You must select a theme to rename.</source> + <translation>Vous devez sélectionner a thème à renommer.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename Confirmation</source> + <translation>Confirme le renommage</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename %s theme?</source> + <translation>Renomme le thème %s ?</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="313"/> + <source>You must select a theme to edit.</source> + <translation>Vous devez sélectionner un thème a éditer.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>You must select a theme to delete.</source> + <translation>Vous devez sélectionner un thème à effacer.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete Confirmation</source> + <translation>Confirmation d'effacement</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete %s theme?</source> + <translation>Efface le thème %s ?</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="364"/> + <source>You have not selected a theme.</source> + <translation>Vous n'avez pas sélectionner de thème.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="368"/> + <source>Save Theme - (%s)</source> + <translation>Enregistre le thème - (%s)</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Theme Exported</source> + <translation>Thème exporté</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Your theme has been successfully exported.</source> + <translation>Votre thème a été exporter avec succès.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Theme Export Failed</source> + <translation>L'export du thème a échoué</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Your theme could not be exported due to an error.</source> + <translation>Votre thème ne peut pas être exporter a cause d'une erreur.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>Select Theme Import File</source> + <translation>Select le fichier thème à importer</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="501"/> + <source>File is not a valid theme. +The content encoding is not UTF-8.</source> + <translation>Le fichier n'est pas un thème. +Le contenu n'est pas de l'UTF-8.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Validation Error</source> + <translation>Erreur de validation</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="548"/> + <source>File is not a valid theme.</source> + <translation>Le fichier n'est pas un thème valide.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="564"/> + <source>A theme with this name already exists.</source> + <translation>Le thème avec ce nom existe déjà.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="700"/> + <source>You are unable to delete the default theme.</source> + <translation>Vous ne pouvez pas supprimer le thème par défaut.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Theme %s is used in the %s plugin.</source> + <translation>Thème %s est utiliser par le module %s.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeWizard</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="300"/> + <source>Edit Theme - %s</source> + <translation>Édite le thème - %s</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="406"/> + <source>Theme Wizard</source> + <translation>Assistant thème</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="408"/> + <source>Welcome to the Theme Wizard</source> + <translation>Bienvenue dans l'assistant thème</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="411"/> + <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> + <translation>Cet assistant va vous aider à créer et éditer votre thème. Cliquer sur la bouton suivant pour démarrer le processus par configurer votre fond.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="415"/> + <source>Set Up Background</source> + <translation>Établir le font</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="417"/> + <source>Set up your theme's background according to the parameters below.</source> + <translation>Établir le fond de votre thème en fonction des paramètre si dessous.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="420"/> + <source>Background type:</source> + <translation>Type de font :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="422"/> + <source>Solid Color</source> + <translation>Couleur unie</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="424"/> + <source>Gradient</source> + <translation>Dégrader</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="474"/> + <source>Color:</source> + <translation>Couleur :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="433"/> + <source>Gradient:</source> + <translation>Dégrader :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="435"/> + <source>Horizontal</source> + <translation>Horizontal</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="437"/> + <source>Vertical</source> + <translation>Vertical</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="439"/> + <source>Circular</source> + <translation>Circulaire</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="441"/> + <source>Top Left - Bottom Right</source> + <translation>Haut gauche - Bas droite</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="443"/> + <source>Bottom Left - Top Right</source> + <translation>Bas gauche - Haut droite</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="446"/> + <source>Main Area Font Details</source> + <translation>Aire principale détails de police</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="448"/> + <source>Define the font and display characteristics for the Display text</source> + <translation>Définir la police et les caractéristique d'affichage pour afficher le text</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="473"/> + <source>Font:</source> + <translation>Police :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="475"/> + <source>Size:</source> + <translation>Taille :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="455"/> + <source>Line Spacing:</source> + <translation>Espace des lignes :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="458"/> + <source>&Outline:</source> + <translation>&Contour :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="462"/> + <source>&Shadow:</source> + <translation>&Ombre :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="465"/> + <source>Bold</source> + <translation>Gras</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="466"/> + <source>Italic</source> + <translation>Italique</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="468"/> + <source>Footer Area Font Details</source> + <translation>Détailles de la police du pied de page</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="470"/> + <source>Define the font and display characteristics for the Footer text</source> + <translation>Définir la police et les caractéristiques d'affichage du texte en pied de page</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="477"/> + <source>Text Formatting Details</source> + <translation>Détails de formatage du texte</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="479"/> + <source>Allows additional display formatting information to be defined</source> + <translation>Permet de définir des paramètre d'affichage supplémentaire</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="482"/> + <source>Horizontal Align:</source> + <translation>Alignement horizontal :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="484"/> + <source>Left</source> + <translation>Gauche</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="486"/> + <source>Right</source> + <translation>Droite</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="488"/> + <source>Center</source> + <translation>Centrer</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="490"/> + <source>Transitions:</source> + <translation>Traductions :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="492"/> + <source>Output Area Locations</source> + <translation>Emplacement de la zone d'affichage</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="494"/> + <source>Allows you to change and move the main and footer areas.</source> + <translation>Vous permettre de déplacer les zone principale et de pied de page</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="497"/> + <source>&Main Area</source> + <translation>Zone &principale</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="499"/> + <source>&Use default location</source> + <translation>&Utilise l'emplacement par défaut</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="512"/> + <source>X position:</source> + <translation>Position x :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="524"/> + <source>px</source> + <translation>px</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="515"/> + <source>Y position:</source> + <translation>Position y :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="518"/> + <source>Width:</source> + <translation>Largeur :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="522"/> + <source>Height:</source> + <translation>Hauteur :</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="510"/> + <source>&Footer Area</source> + <translation>Zone de &pied de page</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="526"/> + <source>Use default location</source> + <translation>Utilise l'emplacement pas défaut</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="528"/> + <source>Save and Preview</source> + <translation>Enregistre et prévisualise</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="530"/> + <source>View the theme and save it replacing the current one or change the name to create a new theme</source> + <translation>Visualise le thème et l'enregistre a la place du thème courent, ou change le nom pour en créer un nouveau</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="534"/> + <source>Theme name:</source> + <translation>Nom du thème :</translation> + </message> +</context> +<context> + <name>OpenLP.ThemesTab</name> + <message> + <location filename="openlp/core/ui/themestab.py" line="104"/> + <source>Global Theme</source> + <translation>Thème global</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="106"/> + <source>Theme Level</source> + <translation>Politique d'application du thème</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="108"/> + <source>S&ong Level</source> + <translation>Niveau &chant</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="110"/> + <source>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.</source> + <translation>Utilise le thème pour chaque chants de la basse de donnée. Si un chant n'a pas de thème associer, alors utilise le thème du service. Si le service n'as pas de thème utilise le thème global.</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="115"/> + <source>&Service Level</source> + <translation>Niveau service</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="117"/> + <source>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.</source> + <translation>Utilise le thème du service, surcharge le thème de chaque chants. Si le service n'as pas de thème utilise le thème global.</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="121"/> + <source>&Global Level</source> + <translation>Niveau &global</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="123"/> + <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> + <translation>Utilise un thème global, surcharge tous les thèmes associer aux services et aux chants.</translation> + </message> +</context> +<context> + <name>OpenLP.Ui</name> + <message> + <location filename="openlp/core/lib/ui.py" line="55"/> + <source>Error</source> + <translation>Erreur</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Avancé</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Crée un nouveau service.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Import</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Charge</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished">Nouveau</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Nouveau service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Ouvre un service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Remplace le fond</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Remettre de fond du direct</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Enregistre le service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Service</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Haut</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Milieux</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Bas</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">À propos</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">Numéro CCLI :</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Image</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Nouveau thème</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Pas d'éléments sélectionné</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Sauve && prévisualise</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Recherche</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Thèmes</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Import terminé.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Format :</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Import en cours</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Sélectionne la source a importer</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">L'import openlp.org 1.x a été désactivé à cause d'un module Python manquant. Si vous voulez utiliser cet import, vous devez installer le module Python "python-sqlite".</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Prêt.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Commence l'import...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Bienvenue dans l'assistant d'import de Bibles</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin</name> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> + <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> + <translation><strong>Module de présentation</strong><br />Le module de présentation donne la possibilité d'afficher une présentation en utilisant différents programmes. Le choix des programmes disponibles ce trouve dans la boite déroulante utilisateur..</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> + <source>Presentation</source> + <comment>name singular</comment> + <translation>Présentation</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> + <source>Presentations</source> + <comment>name plural</comment> + <translation>Présentations</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> + <source>Presentations</source> + <comment>container title</comment> + <translation type="unfinished">Présentations</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> + <source>Load a new Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> + <source>Delete the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <source>Add the selected Presentation to the service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> + <source>Select Presentation(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> + <source>Automatic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> + <source>Present using:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> + <source>Presentations (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>File Exists</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>A presentation with that filename already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>Unsupported File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>This type of presentation is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>Missing Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>The Presentation %s no longer exists.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.PresentationTab</name> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> + <source>Available Controllers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> + <source>Allow presentation application to be overriden</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin</name> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> + <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> + <source>Remote</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> + <source>Remotes</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> + <source>Remote</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin.RemoteTab</name> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> + <source>Server Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="68"/> + <source>Serve on IP address:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="70"/> + <source>Port number:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin</name> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="64"/> + <source>&Song Usage Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/> + <source>&Delete Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="70"/> + <source>Delete song usage data up to a specified date.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/> + <source>&Extract Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="77"/> + <source>Generate a report on song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/> + <source>Toggle Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/> + <source>Toggle the tracking of song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="167"/> + <source><strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="178"/> + <source>SongUsage</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="180"/> + <source>SongUsage</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="185"/> + <source>SongUsage</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDeleteForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> + <source>Delete Song Usage Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Delete Selected Song Usage Events?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Are you sure you want to delete selected Song Usage data?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDetailForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> + <source>Song Usage Extraction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> + <source>Select Date Range</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> + <source>to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> + <source>Report Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <source>Output File Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> + <source>usage_detail_%s_%s.txt</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin</name> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> + <source>Arabic (CP-1256)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> + <source>Baltic (CP-1257)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> + <source>Central European (CP-1250)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> + <source>Cyrillic (CP-1251)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> + <source>Greek (CP-1253)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> + <source>Hebrew (CP-1255)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> + <source>Japanese (CP-932)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> + <source>Korean (CP-949)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> + <source>Simplified Chinese (CP-936)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> + <source>Thai (CP-874)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> + <source>Traditional Chinese (CP-950)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> + <source>Turkish (CP-1254)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> + <source>Vietnam (CP-1258)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> + <source>Western European (CP-1252)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Character Encoding</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> + <source>The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Please choose the character encoding. +The encoding is responsible for the correct character representation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> + <source>&Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> + <source>Import songs using the import wizard.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> + <source>&Re-index Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> + <source>Re-index the songs database to improve searching and ordering.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> + <source>Reindexing songs...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> + <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <source>Song</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> + <source>Songs</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> + <source>Songs</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> + <source>Add a new Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> + <source>Delete the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> + <source>Preview the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> + <source>Send the selected Song live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> + <source>Add the selected Song to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.AuthorsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> + <source>Author Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> + <source>Display name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> + <source>First name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <source>Last name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="83"/> + <source>You need to type in the first name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> + <source>You need to type in the last name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> + <source>You have not set a display name for the author, combine the first and last names?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.CCLIFileImport</name> + <message> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> + <source>Importing song %d of %d</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.EditSongForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> + <source>Song Editor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> + <source>&Title:</source> + <translation type="unfinished">&Titre :</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> + <source>Alt&ernate title:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> + <source>&Lyrics:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> + <source>&Verse order:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> + <source>Ed&it All</source> + <translation type="unfinished">Édite &tous</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> + <source>Title && Lyrics</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> + <source>&Add to Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> + <source>&Remove</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> + <source>&Manage Authors, Topics, Song Books</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> + <source>A&dd to Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> + <source>R&emove</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <source>Book:</source> + <translation type="unfinished">Livre :</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <source>Number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <source>Authors, Topics && Song Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> + <source>New &Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> + <source>Copyright Information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> + <source>Comments</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> + <source>Theme, Copyright Info && Comments</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>Add Author</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>This author does not exist, do you want to add them?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> + <source>This author is already in the list.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> + <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>Add Topic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>This topic does not exist, do you want to add it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> + <source>This topic is already in the list.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> + <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> + <source>You need to type in a song title.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> + <source>You need to type in at least one verse.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> + <source>You need to have an author for this song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> + <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>Add Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>This song book does not exist, do you want to add it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> + <source>You need to type some text in to the verse.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.EditVerseForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> + <source>Edit Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> + <source>&Verse type:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> + <source>&Insert</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> + <source>Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> + <source>Generic Document/Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <source>Filename:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> + <source>Add Files...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> + <source>Remove File(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> + <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> + <source>OpenLP 2.0 Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> + <source>openlp.org v1.x Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> + <source>Words Of Worship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> + <source>Select Document/Presentation Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> + <source>Administered by %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> + <source>Maintain the lists of authors, topics and books</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Entire Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Titles</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Lyrics</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Delete Song(s)?</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Are you sure you want to delete the %n selected song(s)?</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> + <source>CCLI License: </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLPSongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> + <source>Importing song %d of %d.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLyricsExport</name> + <message> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongBookForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> + <source>Song Book Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> + <source>&Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> + <source>&Publisher:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> + <source>You need to type in a name for the book.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> + <source>copyright</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> + <source>Your song import failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongMaintenanceForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> + <source>Could not add your author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> + <source>This author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> + <source>Could not add your topic.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> + <source>This topic already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> + <source>Could not add your book.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> + <source>This book already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> + <source>Could not save your changes.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> + <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> + <source>Could not save your modified author, because the author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> + <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> + <source>Could not save your modified topic, because it already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> + <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Delete Author</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Are you sure you want to delete the selected author?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>This author cannot be deleted, they are currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Delete Topic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Are you sure you want to delete the selected topic?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Delete Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Are you sure you want to delete the selected book?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>This book cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongsTab</name> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> + <source>Songs Mode</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> + <source>Enable search as you type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> + <source>Display verses on live tool bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> + <source>Update service from song edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> + <source>Add missing songs when opening service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.TopicsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> + <source>Topic Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> + <source>Topic name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> + <source>You need to type in a topic name.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.VerseType</name> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> + <source>Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> + <source>Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <source>Intro</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> + <source>Ending</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> + <source>Other</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/resources/i18n/hu.ts b/resources/i18n/hu.ts index a27067d80..ef22eb1c7 100644 --- a/resources/i18n/hu.ts +++ b/resources/i18n/hu.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>Nem található a paraméter</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>Nincs megadva a cserélendő paraméter. Folytatható?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation>Nem található a helyjelölő</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>A figyelmeztető szöveg nem tartalmaz „<>” karaktereket. @@ -29,34 +29,34 @@ Folytatható?</translation> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Figyelmeztetés</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Figyelmeztetést jelenít meg.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Figyelmeztetés bővítmény</strong><br />A figyelmeztetés bővítmény kezeli gyermekfelügyelet felhívásait a vetítőn</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished">Figyelmeztetés</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Figyelmeztetések</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Figyelmeztetések</translation> @@ -65,30 +65,25 @@ Folytatható?</translation> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Figyelmeztetés</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Figyelmeztető &szöveg:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Új</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Mentés</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Törlés</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -100,17 +95,17 @@ Folytatható?</translation> <translation>M&egjelenítés és bezárás</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Új figyelmeztetés</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>A figyelmeztető szöveg nincs megadva. Adj meg valamilyen szöveget az Új gombra való kattintás előtt.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation>&Paraméter:</translation> </message> @@ -126,95 +121,84 @@ Folytatható?</translation> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Betűkészlet</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Betűkészlet neve:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Betűszín:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Háttérszín:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Betűméret:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Figyelmeztetés késleltetése:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>mp</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Hely:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Előnézet</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation></translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Felülre</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Középre</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Alulra</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -222,12 +206,12 @@ Folytatható?</translation> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation>Az egyes és a kettőzött bibliaversek nem kombinálhatók. Töröljük a keresési eredményt és kezdjünk egy újabbat?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -235,110 +219,75 @@ Folytatható?</translation> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Biblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Biblia bővítmény</strong><br />A Biblia bővítmény különféle forrásokból származó igehelyek vetítését teszi lehetővé a szolgálat alatt.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>Biblia importálása</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation>Biblia hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation>A kijelölt Biblia szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation>A kijelölt Biblia törlése</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation>A kijelölt Biblia előnézete</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation>A kijelölt Biblia élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation>A kijelölt Biblia hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Biblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bibliák</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Bibliák</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished">&Importálás</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished">&Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished">&Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">Nincs ilyen könyv</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -346,39 +295,39 @@ Folytatható?</translation> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>Igehely hivatkozási hiba</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation>Online Biblia nem használható</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation>A keresés nem érhető el online Biblián.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -392,496 +341,329 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Vers megjelenítés</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Csak az új fejezetszámok megjelenítése</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Elrendezési stílus:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Megjelenítési stílus:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Biblia téma:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Egy vers diánként</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Egy vers soronként</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Folytonos</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Nincsenek zárójelek</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( és )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ és }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ és ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Megjegyzés: A módosítások nem érintik a már a szolgálatban lévő verseket.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation>Kettőzött bibliaversek megjelenítése</translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bibliaimportáló tündér</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Üdvözlet a Bibliaimportáló tündérben</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>A tündérrel különféle formátumú Bibliákat lehet importálni. Az alább található Tovább gombra való kattintással indítható a folyamat első lépése a formátum kiválasztásával.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Válaszd ki az importálandó forrást</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Válaszd ki az importálandó forrást és a helyet, ahonnan importálja.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Formátum:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Web letöltés</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Fájl helye:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Könyvek helye:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Vers helye:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Biblia fájl:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Hely:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Biblia:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Letöltési beállítások</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Szerver:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Felhasználói név:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Jelszó:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proxy szerver (választható)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Licenc részletek</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Állítsd be a Biblia licenc részleteit.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Verzió neve:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Szerzői jog:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importálás</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Kérlek, várj, míg a Biblia importálás alatt áll.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Kész.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Érvénytelen a Biblia elérési útvonala</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Meg kell adni egy fájlt, amelyből a Bibliát importálni lehet.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Érvénytelen könyv fájl</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>Meg kell adni egy fájlt a bibliai könyvekről az importáláshoz.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Érvénytelen versszak fájl</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>Meg kell adni egy fájlt a bibliai versekről az importáláshoz.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Érvénytelen OpenSong Biblia</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>Meg kell adni egy OpenSong Biblia fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Üres verziónév</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>Meg kell adni a Biblia verziószámát.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Üres a szerzői jog</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Biblia létezik</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>OSIS fájl megnyitása</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Könyv CSV fájl megnyitása</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Versszak CSV fájl megnyitása</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>OpenSong Biblia megnyitása</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Importálás indítása...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Az importálás befejeződött.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>A Biblia importálása nem sikerült.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>Meg kell adni a Biblia szerzői jogait. A közkincs Bibliákat meg kell jelölni ilyennek.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>Ez a Biblia már létezik. Kérlek, importálj egy másik Bibliát vagy előbb töröld a meglévőt.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation>openlp.org 1.x Biblia importálása</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation>A Biblia regisztrálása elkezdődött...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation>Biblia regisztrálva. Megjegyzés: a versek csak kérésre lesznek letöltve és ekkor internet kapcsolat szükségeltetik.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation>Engedélyek:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>Az openlp.org 1.x importáló le lett tiltva egy hiányzó Python modul miatt. Ha szeretnéd használni ezt az importálót, telepíteni kell a „python-sqlite” modult.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">Minden fájl</translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> + <source>Bibleserver</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> - <source>Bibleserver</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Gyors</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Haladó</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Verzió:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Keresés típusa:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Keresés:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Keresés</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Eredmények:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Könyv:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Fejezet:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>Innentől:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>Idáig:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Vers keresése</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Szöveg keresése</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Törlés</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Megtartása</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation>Második:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation type="unfinished">Importálás %s...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -890,12 +672,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation>Kódolás észlelése (ez eltarthat pár percig)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -904,7 +686,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>Egyedi bővítmény</strong><br />Az egyedi bővítmény dalokhoz hasonló egyedi diák vetítését teszi lehetővé. Ugyanakkor több szabadságot enged meg, mint a dalok bővítmény.</translation> </message> @@ -925,210 +707,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Egyedi diák szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>A dia eggyel feljebb helyezése.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>A dia eggyel lejjebb helyezése.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Cím:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Új dia hozzáadása alulra.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Kijelölt dia szerkesztése.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Minden kijelölt dia szerkesztése egyszerre.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Kijelölt dia törlése.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Kettéválasztás</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Dia ketté vágása egy diaelválasztó beszúrásával.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>&Téma:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Közreműködők:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Mentés és előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Meg kell adnod a címet.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Meg kell adnod legalább egy diát</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation>&Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation>&Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation>&Összes szerkesztése</translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation>&Törlés</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Nincs kijelölt elem a szerkesztéshez.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Nincs kijelölt elem a törléshez.</translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation>Importálás</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation>Egyedi dia importálása</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation>Betöltés</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation>Új egyedi dia betöltése</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation>Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation>Új egyedi dia hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation>Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation>A kijelölt egyedi dia szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation>Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation>A kijelölt egyedi dia törlése</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation>A kijelölt egyedi dia előnézete</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation>A kijelölt egyedi dia élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation>A kijelölt egyedi dia hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Egyedi dia</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished">Egyedi diák</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Egyedi dia</translation> @@ -1137,169 +831,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>Kép bővítmény</strong><br />A kép a bővítmény mindenféle kép vetítését teszi lehetővé.<br />A bővítmény egyik különös figyelmet érdemlő képessége az, hogy képes a szolgálatkezelőn csoportba foglalni a képeket, így könnyebbé téve sok kép vetítését. A bővítmény képes az OpenLP „időzített körkörös” lejátszásra is, amivel a diákat automatikusan tudjuk léptetni. Továbbá, a bővítményben megadott képekkel felülírhatjuk a téma háttérképét, amellyel a szöveg alapú elemek, mint pl. a dalok, a megadott háttérképpel jelennek meg, a témában beállított háttérkép helyett.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation>Betöltés</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation>Új kép betöltése</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation>Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation>Új kép hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation>Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation>A kijelölt kép szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation>Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation>A kijelölt kép törlése</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation>A kijelölt kép előnézete</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation>A kijelölt kép élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation>A kijelölt kép hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Kép</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished">Képek</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished">Képek</translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Kép(ek) kiválasztása</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Minden fájl</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Élő adás hátterének cseréje</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Háttér cseréje</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Élő adás hátterének visszaállítása</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>Ki kell választani egy képet a törléshez.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Kép(ek)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation>Ki kell választani egy képet a háttér cseréjéhez.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1307,94 +939,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Média bővítmény</strong><br />A média bővítmény hangok és videók lejátszását teszi lehetővé.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation>Betöltés</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation>Új médiaállomány betöltése</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation>Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation>Új médiaállomány hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation>Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation>A kijelölt médiaállomány szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation>Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation>A kijelölt médiaállomány törlése</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation>A kijelölt médiaállomány előnézete</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation>A kijelölt médiaállomány élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation>A kijelölt médiaállomány hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished">Média</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished">Média</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished">Média</translation> @@ -1403,50 +1000,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Média</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Médiaállomány kijelölése</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Élő adás hátterének cseréje</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Háttér cseréje</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>Ki kell választani egy média fájlt a törléshez.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1454,12 +1026,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1467,16 +1039,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation>Média</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation>Média megjelenés</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation></translation> </message> @@ -1484,18 +1051,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Kép fájlok</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>Az OpenLP névjegye</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1514,12 +1076,7 @@ Többet az OpenLP-ről: http://openlp.org/ Az OpenLP-t önkéntesek készítették és tartják karban. Ha szeretnél több keresztény számítógépes programot, fontold meg a részvételt az alábbi gomb igénybevételével.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>Névjegy</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Közreműködők</translation> </message> @@ -1539,7 +1096,7 @@ Az OpenLP-t önkéntesek készítették és tartják karban. Ha szeretnél több <translation></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1592,9 +1149,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1730,125 +1289,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Haladó</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>Felhasználói felület beállításai</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Előzmények megjelenítésének hossza:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Újraindításkor visszaállítsa az aktív médiakezelő fülét</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation>Duplakattintás azonnal élő adásba küldi az elemet</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation>Új szolgálat elemek kibontása létrehozáskor</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Háttérszín:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Törlés</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1856,40 +1423,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation>Hoppá! Az OpenLP hibába ütközött, és nem tudta lekezelni. Az alábbi dobozban található szöveg olyan információkat tartalmaz, amelyek hasznosak lehetnek az OpenLP fejlesztői számára, tehát kérjük, küld el bugs@openlp.org email címre egy részletes leírás mellett, amely tartalmazza, hogy éppen merre és mit tettél, amikor a hiba történt.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Hiba történt</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation>E-mail küldése</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation>Mentés fájlba</translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1899,24 +1496,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1930,17 +1518,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation>Fájl átnevezése</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation>Új fájl neve:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1948,130 +1536,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>Általános</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitorok</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Válaszd ki a vetítési képernyőt:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>Megjelenítés egy képernyő esetén</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Alkalmazás indítása</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Figyelmeztetés megjelenítése a fekete képernyőről</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Utolsó szolgálat automatikus megnyitása</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Indító képernyő megjelenítése</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Alkalmazás beállítások</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Rákérdezés mentésre új szolgálat kezdése előtt</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Következő elem automatikus előnézete a szolgálatban</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Időzített diák késleltetése:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation> mp</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>CCLI részletek</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI szám:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect felhasználói név:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect jelszó:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Megjelenítés pozíciója</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Magasság</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Szélesség</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Megjelenítési pozíció felülírása</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2089,7 +1677,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2097,377 +1685,352 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&Fájl</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Importálás</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Exportálás</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&Nézet</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>&Mód</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Eszközök</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Beállítások</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Nyelv</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Súgó</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Médiakezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Szolgálatkezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Témakezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&Új</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Új szolgálat</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Új szolgálat létrehozása.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>Meg&nyitás</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Szolgálat megnyitása</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Meglévő szolgálat megnyitása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Mentés</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Szolgálat mentése</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Aktuális szolgálat mentése lemezre.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Mentés má&sként...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Szolgálat mentése másként</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Az aktuális szolgálat más néven való mentése.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>&Kilépés</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>OpenLP bezárása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Téma</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>OpenLP &beállítása...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Médiakezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Médiakezelő átváltása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>A médiakezelő láthatóságának átváltása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Témakezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Témakezelő átváltása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>A témakezelő láthatóságának átváltása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Szolgálatkezelő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Szolgálatkezelő átváltása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>A szolgálatkezelő láthatóságának átváltása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>&Előnézet panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Előnézet panel átváltása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Az előnézet panel láthatóságának átváltása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation>&Élő adás panel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation>Élő adás panel átváltása</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation>Az élő adás panel láthatóságának átváltása.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>&Bővítménylista</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Bővítmények listája</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>&Felhasználói kézikönyv</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&Névjegy</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>További információ az OpenLP-ről</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Online súgó</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Weboldal</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Automatikus felismerés</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Rendszernyelv használata, ha elérhető.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>A felhasználói felület nyelvének átváltása erre: %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>&Eszköz hozzáadása...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Egy alkalmazás hozzáadása az eszközök listához.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Alapértelmezett</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation>Nézetmód visszaállítása az alapértelmezettre.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Szerkesztés</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation>Nézetmód váltása a Beállítás módra.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Élő adás</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation>Nézetmód váltása a Élő módra.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> @@ -2476,37 +2039,27 @@ You can download the latest version from http://openlp.org/.</source> A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP verziófrissítés</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>Sötét OpenLP fő képernyő</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>A fő képernyő el lett sötétítve</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Mentsük a változásokat a szolgálatban?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>A szolgálat módosult. Szeretné elmenteni?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Alapértelmezett téma: %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation>&Gyorsbillentyűk beállítása...</translation> </message> @@ -2517,70 +2070,80 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.</translatio <translation>Magyar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Nincs kijelölt elem</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Hozzáadás a kijelölt szolgálat elemhez</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Ki kell választani egy elemet az előnézethez.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation>Ki kell választani egy élő adásba küldendő elemet.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Ki kell választani egy vagy több elemet.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>Nincs kijelölt elem</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>Ki kell választani egy vagy több elemet</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>Nincs kijelölt szolgálat elem</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Érvénytelen szolgálat elem</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>Ki kell választani egy %s szolgálati elemet.</translation> </message> @@ -2588,25 +2151,15 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.</translatio <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Bővítménylista</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Bővítmény részletei</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Verzió:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>Névjegy:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2623,238 +2176,319 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.</translatio <translation>Inaktív</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (inaktív)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (aktív)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (letiltott)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Szolgálati elemek újrarendezése</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Törlés</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Szolgálati elemek újrarendezése</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>Új szolgálat</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Új szolgálat létrehozása</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Szolgálat megnyitása</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Egy meglévő szolgálat betöltése</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Szolgálat mentése</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Aktuális szolgálat mentése</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Téma:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Válasszon egy témát a szolgálathoz</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Mozgatás &felülre</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Elem mozgatása a szolgálat elejére.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Mozgatás f&eljebb</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Elem mozgatása a szolgálatban eggyel feljebb.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Mozgatás &lejjebb</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Elem mozgatása a szolgálatban eggyel lejjebb.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Mozgatás &alulra</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Elem mozgatása a szolgálat végére.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>&Törlés a szolgálatból</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Kijelölt elem törlése a szolgálatból.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>Új elem &hozzáadása</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Hozzáadás a kijelölt elemhez</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>&Elem szerkesztése</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>Elem újra&rendezése</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Jegyzetek</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>Versszak &előnézete</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Adásban lévő versszak</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>Elem témájának &módosítása</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>A fájl nem érvényes szolgálat. A tartalom kódolása nem UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>A fájl nem érvényes szolgálat.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation>Hiányzó képernyő kezelő</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation>Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation>Az elemet nem lehet megjeleníteni, mert a bővítmény, amely kezelné, hiányzik vagy inaktív</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation>Mind &kibontása</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation>Minden szolgálat elemet kibont.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation>Mind össze&csukása</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation>Minden szolgálat elemet összecsuk.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation>Szolgálat elem jegyzetek</translation> </message> @@ -2862,7 +2496,7 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>OpenLP beállítása</translation> </message> @@ -2885,17 +2519,17 @@ A tartalom kódolása nem UTF-8.</translation> <translation>Gyorsbillentyű</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation>Alapértelmezett: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation>Egyedi:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation>Nincs</translation> </message> @@ -2909,137 +2543,180 @@ A tartalom kódolása nem UTF-8.</translation> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation>A „%s” gyorsbillentyű már foglalt.</translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Mozgatás az előzőre</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Mozgatás a következőre</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation>Elrejtés</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Élő adásba küldés</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Folyamatos vetítés indítása</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Folyamatos vetítés leállítása</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>mp</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Diák közötti késleltetés másodpercben</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Médialejátszás indítása</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation>Ugrás erre</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>Szerkesztés és az dal előnézetének újraolvasása</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation>Üres képernyő</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation>Üres téma</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation>Asztal megjelenítése</translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation>Helyesírási javaslatok</translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation>Formázó címkék</translation> </message> </context> <context> - <name>OpenLP.ThemeForm</name> + <name>OpenLP.StartTimeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation>Minden fájl</translation> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation>Kép kijelölése</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation>Téma neve nincs megadva</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation>A témának nincs neve, meg kell adni.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation>Érvénytelen téma név</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation>A téma neve érvénytelen, érvényeset kell megadni.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished">(%d sor diánként)</translation> </message> @@ -3047,477 +2724,432 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>Új téma</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Új téma létrehozása.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Téma szerkesztése</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation>Egy téma szerkesztése.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation>Téma törlése</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation>Egy téma törlése.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Téma importálása</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation>Egy téma importálása.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Téma exportálása</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation>Egy téma exportálása.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation>Téma sz&erkesztése</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>Téma &törlése</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation>Beállítás &globális alapértelmezetté</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation>%s (alapértelmezett)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation>Ki kell választani témát a szerkesztéshez.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation>Az alapértelmezett témát nem lehet törölni.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>Nincs kiválasztva egy téma sem.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Téma mentése – (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation>Téma exportálva</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation>A téma sikeresen exportálásra került.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation>A téma exportálása nem sikerült</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>A témát nem sikerült exportálni egy hiba miatt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Importálandó téma fájl kiválasztása</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>Nem érvényes témafájl. A tartalom kódolása nem UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>Nem érvényes témafájl.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation>A(z) %s témát a(z) %s bővítmény használja.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation>Téma &másolása</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation>Téma át&nevezése</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation>Téma e&xportálása</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation>Téma tündér</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation>Üdvözlet a téma tündérben</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation>Háttér beállítása</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation>A téma háttere az alábbi paraméterekkel állítható be.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation>Háttér típusa:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation>Homogén szín</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation>Színátmenet</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation>Kép</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation>Szín:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation>Színátmenet:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation>Vízszintes</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation>Függőleges</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation>Körkörös</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation>Bal felső sarokból jobb alsó sarokba</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation>Bal alső sarokbó jobb felső sarokba</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation>Kép:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation>Fő tartalom betűkészlet jellemzői</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation>A fő szöveg betűkészlete és a megjelenési tulajdonságai</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation>Betűkészlet:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation>Méret:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation>Sorköz:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation>&Körvonal:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation>&Árnyék:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation>Félkövér</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation>Dőlt</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation>Lábléc betűkészlet jellemzői</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation>A lábléc szöveg betűkészlete és a megjelenési tulajdonságai</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation>Szövegformázás jellemzői</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation>További megjelenési formázások</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation>Vízszintes igazítás:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation>Balra zárt</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation>Jobbra zárt</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation>Középre igazított</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation>Függőleges igazítás:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation>Felülre</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation>Középre</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation>Alulra</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation>Pozíciók</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation>A fő szöveg és a lábléc helyzetének mozgatása.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation>&Fő szöveg</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation>&Alapértelmezett helyen</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation>X pozíció:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation>Y pozíció:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation>Szélesség:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation>Magasság:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation>Alapértelmezett helyen</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation>Mentés és előnézet</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation>A téma előnézete és mentése. Felülírható már egy meglévő vagy egy új név megadásával új téma hozható létre</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation>Téma neve:</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished">Új téma</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3525,47 +3157,42 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Témák</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation>Globális téma</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation>Téma szint</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>Dal &szint</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>Minden dalra az adatbázisban tárolt téma alkalmazása. Ha egy dalhoz nincs saját téma beállítva, akkor a szolgálathoz beállított alkalmazása. Ha a szolgálathoz sincs téma beállítva, akkor a globális téma alkalmazása.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation>Szolgálati &szint</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>A szolgálathoz beállított téma alkalmazása, vagyis az egyes dalokhoz megadott témák felülírása. Ha a szolgálathoz nincs téma beállítva, akkor a globális téma alkalmazása.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation>&Globális szint</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>A globális téma alkalmazása, vagyis a szolgálathoz, ill. a dalokhoz beállított témák felülírása.</translation> </message> @@ -3573,82 +3200,471 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Hiba</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Törlés</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Hozzáadás</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Haladó</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Minden fájl</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Új szolgálat létrehozása.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Szerkesztés</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Importálás</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Élő adás</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Betöltés</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Új szolgálat</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Szolgálat megnyitása</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Előnézet</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Háttér cseréje</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Élő adás hátterének cseréje</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Élő adás hátterének visszaállítása</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Szolgálat mentése</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Szolgálat</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Felülre</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Középre</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Alulra</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Névjegy</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Tallózás...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">Mégsem</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI szám:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Kép</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Új téma</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Nincs kijelölt elem</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">mp</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Mentés és előnézet</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Keresés</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished">Ki kell választani egy törlendő elemet.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">Ki kell választani egy szerkesztendő elemet.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Téma</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Témák</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Az importálás befejeződött.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Formátum:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importálás</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importálás „%s”...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Válaszd ki az importálandó forrást</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">Az openlp.org 1.x importáló le lett tiltva egy hiányzó Python modul miatt. Ha szeretnéd használni ezt az importálót, telepíteni kell a „python-sqlite” modult.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Kész.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Importálás indítása...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Üdvözlet a Bibliaimportáló tündérben</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Üdvözlet a dalimportáló tündérben</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Szerzők</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Énekeskönyv</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Énekeskönyvek</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Dalok kezelése</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Témakör</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Témakörök</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>Bemutató bővítmény</strong><br />A bemutató bővítmény különböző külső programok segítségével bemutatók megjelenítését teszi lehetővé. A prezentációs programok egy listából választhatók ki.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation>Betöltés</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation>Új bemutató betöltése</translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation>Törlés</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation>A kijelölt bemutató törlése</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation>A kijelölt bemutató előnézete</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation>A kijelölt bemutató élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation>A kijelölt bemutató hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Bemutató</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Bemutatók</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Bemutatók</translation> @@ -3657,105 +3673,100 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Bemutató(k) kiválasztása</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation>Automatikus</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Bemutató ezzel:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation>A fájl létezik</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>Ilyen fájlnéven már létezik egy bemutató.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation>Nem támogatott fájl</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation>Ez a bemutató típus nem támogatott.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation>Ki kell választani egy törlendő elemet.</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Elérhető vezérlők</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Haladó</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation>A bemutató program felülírásának engedélyezése</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>Távvezérlő bővítmény</strong><br />A távvezérlő bővítmény egy böngésző vagy egy távoli API segítségével lehetővé teszi egy másik számítógépen futó OpenLP számára való üzenetküldést.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished">Távvezérlő</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Távvezérlők</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished">Távvezérlő</translation> @@ -3843,7 +3854,7 @@ A tartalom kódolása nem UTF-8.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation>Dalstatisztika adatok törlése</translation> </message> @@ -3857,263 +3868,255 @@ A tartalom kódolása nem UTF-8.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation>Valóban törölhetők a kijelölt dalstatisztika adatok?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation>Dalstatisztika kicsomagolása</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Időintervallum megadása</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>–</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Helyszín jelentése</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Kimeneti fájl elérési útvonala</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Dal</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>Dalok importálása az importálás tündérrel.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>Dalok bővítmény</strong><br />A dalok bővítmény dalok megjelenítését és kezelését teszi lehetővé.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation>Dalok újra&indexelése</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation>Dal adatbázis újraindexelése a keresés és a rendezés javításához.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation>Dalok indexelése folyamatban...</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation>Mégsem</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation>Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation>Új dal hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation>Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation>A kijelölt dal szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation>Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation>A kijelölt dal törlése</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation>Előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation>A kijelölt dal előnézete</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation>Élő adás</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation>A kijelölt dal élő adásba küldése</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation>Szolgálat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation>A kijelölt dal hozzáadása a szolgálathoz</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Dal</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Dalok</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Dalok</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished">Arab (CP-1256)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished">Balti (CP-1257)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished">Közép-európai (CP-1250)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished">Cirill (CP-1251)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished">Görög (CP-1253)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished">Héber (CP-1255)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished">Japán (CP-932)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished">Koreai (CP-949)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished">Egyszerűsített kínai (CP-936)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished">Thai (CP-874)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished">Hagyományos kínai (CP-950)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished">Török (CP-1254)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished">Vietnámi (CP-1258)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished">Nyugat-európai (CP-1252)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Szerzők kezelése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Megjelenített név:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>Keresztnév:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Vezetéknév:</translation> </message> @@ -4123,12 +4126,12 @@ The encoding is responsible for the correct character representation.</source> <translation>Meg kell adni a szerző vezetéknevét.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>Meg kell adni a szerző keresztnevét.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation>Nincs megadva a szerző megjelenített neve, legyen előállítva a vezeték és keresztnevéből?</translation> </message> @@ -4136,7 +4139,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4144,242 +4147,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Dalszerkesztő</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Cím:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>&Alternatív cím:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation>&Dalszöveg:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>Versszak &sorrend:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>&Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>&Összes szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Cím és dalszöveg</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Szerzők</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Hozzáadás dalhoz</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Eltávolítás</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation>Szerzők, témakörök, énekeskönyvek &kezelése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation>Témakör</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>&Hozzáadás dalhoz</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>&Eltávolítás</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Énekeskönyv</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Könyv:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Szám:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation>Szerzők, témakörök és énekeskönyvek</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Téma</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>Új &téma</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Szerzői jogi információ</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI szám:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Megjegyzések</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Téma, szerzői jogi infók és megjegyzések</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Mentés és előnézet</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Szerző hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>Ez a szerző még nem létezik, valóban hozzá kívánja adni?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation>A szerző már benne van a listában.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation>Nincs kijelölt szerző</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation>Nincs kiválasztva egyetlen szerző sem. Vagy válassz egy szerzőt a listából, vagy írj az új szerző mezőbe és kattints az „Szerző hozzáadása a dalhoz” gombon a szerző megjelöléséhez.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation>Témakör hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>Ez a témakör még nem létezik, szeretnéd hozzáadni?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>A témakör már benne van a listában.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation>Nincs kijelölt témakör</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>Nincs kiválasztva egyetlen témakör sem. Vagy válassz egy témakört a listából, vagy írj az új témakör mezőbe és kattints a Témakör hozzáadása a dalhoz gombon a témakör megjelöléséhez.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation>Add meg a dal címét.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation>Legalább egy versszakot meg kell adnod.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation>Figyelmeztetés</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation>A versszaksorrend hibás. Nincs ilyen versszak: %s. Az érvényes elemek ezek: %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation>Ez a versszak sehol nem lett megadva a sorrendben: %s. Biztosan így kívánod elmenteni a dalt?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation>Könyv hozzáadása</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation>Ez az énekeskönyv még nem létezik, szeretnéd hozzáadni a listához?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4387,381 +4330,204 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation>Versszak szerkesztése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation>Versszak &típusa:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>&Beszúrás</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation>Nincs kijelölt OpenLP 2.0 adatbázis</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation>Ki kell választani egy OpenLP 2.0 adatbázis fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation>Nincs kijelölt openlp.org 1.x adatbázis</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation>Ki kell választani egy openlp.org 1.x adatbázis fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation>Nincsenek kijelölt OpenSong fájlok</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation>Ki kell választani legalább egy OpenSong dal fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation>Nincsenek kijelölt Words of Worship fájlok</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation>Ki kell választani legalább egy Words of Worship dal fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation>Nincsenek kijelölt CCLI fájlok</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>Ki kell választani legalább egy CCLI fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation>Nincs kijelölt Songs of Fellowship fájl</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation>Ki kell választani legalább egy Songs of Fellowship fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation>Nincs kijelölt dokumentum vagy bemutató</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation>Ki kell választani legalább egy dokumentumot vagy bemutatót az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation>Válassz egy OpenLP 2.0 adatbázis fájlt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation>Válassz egy openlp.org 1.x adatbázis fájlt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation>Válassz OpenSong fájlokat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation>Válassz Words of Worship fájlokat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation>Válassz CCLI fájlokat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation>Válassz Songs of Fellowship fájlokat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation>Válassz dokumentum vagy bemutató fájlokat</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation>Importálás indítása...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation>Dalimportáló tündér</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation>Üdvözlet a dalimportáló tündérben</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation>A tündérrel különféle formátumú dalokat lehet importálni. Az alább található Tovább gombra való kattintással indítható a folyamat első lépése a formátum kiválasztásával.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation>Válaszd ki az importálandó forrást</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation>Válaszd ki a importálandó forrást és a helyet.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>Formátum:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation>Általános dokumentum vagy bemutató</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>Fájlnév:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation>Tallózás...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation>Az openlp.org 1.x importáló le lett tiltva egy hiányzó Python modul miatt. Ha szeretnéd használni ezt az importálót, telepíteni kell a „python-sqlite” modult.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation>Fájlok hozzáadása...</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation>Fájl(ok) törlése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>A Songs of Fellowship importáló le lett tiltva, mivel az OpenLP nem találja az OpenOffice.org-ot a számítógépen.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation>Az általános dokumentum, ill. bemutató importáló le lett tiltva, mivel az OpenLP nem találja az OpenOffice.org-ot a számítógépen.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation>Importálás</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation>Kérlek, várj, míg a dalok importálás alatt állnak.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>Kész.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>Importálás „%s”...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>Importálás %s...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation>Nincs kijelölt EasyWorship dal adatbázis</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation>Ki kell választani egy EasyWorship dal adatbázis fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation>Válassz egy EasyWorship adatbázis fájlt</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation>Az OpenLyrics importáló még nem lett kifejlesztve, de amint már láthatod, szándékozunk elkészíteni. Remélhetőleg a következő kiadásban már benne lesz.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation>Nincs kijelölt SongBeamer fájl</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation>Ki kell választani legalább egy SongBeamer dal fájlt az importáláshoz.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation>Minden fájl</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation>OpenLP 2.0 adatbázisok</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation>openlp.org v1.x adatbázisok</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation>Words of Worship dal fájlok</translation> </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> - <translation>Songs Of Felloship dal fájlok</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> - <translation>Válassz SongBeamer fájlokat</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> - <translation></translation> - </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> <translation>Adminisztrálta: %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4769,115 +4535,72 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation>Dalok kezelése</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation>Szerzők, témakörök, könyvek listájának kezelése</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation>Keresés:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation>Keresés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation>Címek</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation>Dalszöveg</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Szerzők</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation>Ki kell választani egy szerkesztendő elemet.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation>Ki kell választani egy törlendő elemet.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation>Törölhető(ek) a dal(ok)?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation>CCLI licenc:</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Témák</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">Importálás %s...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation type="unfinished">Importálás %s...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation>Énekeskönyvek kezelése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Név:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation>&Kiadó:</translation> </message> @@ -4887,33 +4610,31 @@ The encoding is responsible for the correct character representation.</source> <translation>Meg kell adni a könyv nevét.</translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>szerzői jog</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation>Ismeretlen szerző</translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation>Az importálás befejeződött.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation>Az importálás meghiúsult.</translation> </message> @@ -4921,157 +4642,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Dalok kezelése</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Szerzők</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation>Témakörök</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation>Énekeskönyvek</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Hozzáadás</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation>&Szerkesztés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Törlés</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation>A szerzőt nem lehet hozzáadni.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation>Ez a szerző már létezik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation>A témakört nem lehet hozzáadni.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation>Ez a témakör már létezik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation>A könyvet nem lehet hozzáadni.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation>Ez a könyv már létezik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation>A módosításokat nem lehet elmenteni.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation>A módosított témakört nem lehet elmenteni, mivel már létezik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Szerző törlése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>A kijelölt szerző biztosan törölhető?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation>Ezt a szerzőt nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation>Nincs szerző kijelölve.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation>Témakör törlése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation>A kijelölt témakör biztosan törölhető?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation>Ezt a témakört nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation>Nincs témakör kijelölve.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Könyv törlése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation>A kijelölt könyv biztosan törölhető?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation>Ezt a könyvet nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation>Nincs könyv kijelölve.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation>A módosított szerzőt nem lehet elmenteni, mivel már a szerző létezik.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5107,12 +4778,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation>Témakörök kezelése</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation>Témakör neve:</translation> </message> @@ -5125,7 +4796,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation>Versszak</translation> </message> @@ -5135,37 +4806,29 @@ The encoding is responsible for the correct character representation.</source> <translation>Refrén</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation>Mellékdal</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation>Elő-refrén</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation>Bevezetés</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation>Befejezés</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>Egyéb</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished">Ismeretlen szerző</translation> - </message> -</context> </TS> diff --git a/resources/i18n/id.ts b/resources/i18n/id.ts new file mode 100644 index 000000000..3d117135b --- /dev/null +++ b/resources/i18n/id.ts @@ -0,0 +1,4825 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS><TS version="1.1" language="id"> +<context> + <name>AlertPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter found</source> + <translation>Parameter tidak ditemukan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>You have not entered a parameter to be replaced. +Do you want to continue anyway?</source> + <translation>Anda belum memasukkan parameter baru. +Tetap lanjutkan?</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder found</source> + <translation>Placeholder tidak ditemukan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation>Teks peringatan tidak mengandung '<>'. +Tetap lanjutkan?</translation> + </message> +</context> +<context> + <name>AlertsPlugin</name> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> + <source>&Alert</source> + <translation>Per&ingatan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> + <source>Show an alert message.</source> + <translation>Menampilkan pesan peringatan.</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> + <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> + <translation><strong>Plugin Peringatan</strong><br />Plugin peringatan mengendalikan tampilan pesan pada layar.</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> + <source>Alert</source> + <comment>name singular</comment> + <translation>Peringatan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> + <source>Alerts</source> + <comment>name plural</comment> + <translation>Peringatan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> + <source>Alerts</source> + <comment>container title</comment> + <translation>Peringatan</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <source>Alert Message</source> + <translation>Pesan Peringatan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <source>Alert &text:</source> + <translation>Peringatan &teks:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <source>&New</source> + <translation>&Baru</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> + <source>&Save</source> + <translation>&Simpan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> + <source>Displ&ay</source> + <translation>&Tampilan</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="108"/> + <source>Display && Cl&ose</source> + <translation>Tampilkan dan &Tutup</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>New Alert</source> + <translation>Peringatan Baru</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> + <translation>Teks isi peringatan belum dispesifikasi. Harap masukkan teks sebelum memilih Baru.</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <source>&Parameter:</source> + <translation>&Parameter:</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsManager</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="72"/> + <source>Alert message created and displayed.</source> + <translation>Pesan peringatan telah dibuat dan ditampilkan.</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsTab</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> + <source>Font</source> + <translation>Fon</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> + <source>Font name:</source> + <translation>Nama fon:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> + <source>Font color:</source> + <translation>Warna fon:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> + <source>Background color:</source> + <translation>Warna latar:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <source>Font size:</source> + <translation>Ukuran fon:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> + <source>Alert timeout:</source> + <translation>Waktu-habis untuk peringatan:</translation> + </message> +</context> +<context> + <name>BibleDB.Wizard</name> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblePlugin.HTTPBible</name> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>Download Error</source> + <translation>Unduhan Gagal</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> + <translation>Ada masalah dalam mengunduh ayat yang terpilih. Mohon periksa sambungan internet Anda dan jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>Parse Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> + <translation>Ada masalah dalam mengekstrak ayat yang terpilih. Jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu.</translation> + </message> +</context> +<context> + <name>BiblePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> + <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> + <source>Bible not fully loaded</source> + <translation>Alkitab belum termuat sepenuhnya</translation> + </message> +</context> +<context> + <name>BiblesPlugin</name> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> + <source>&Bible</source> + <translation>&Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> + <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> + <translation><strong>Plugin Alkitab</strong><br />Plugin Alkitab memungkinkan program untuk menampilkan ayat-ayat dari berbagai sumber selama kebaktian.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> + <source>Import a Bible</source> + <translation>Impor Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <source>Add a new Bible</source> + <translation>Tambahkan Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> + <source>Edit the selected Bible</source> + <translation>Sunting Alkitab terpilih</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> + <source>Delete the selected Bible</source> + <translation>Hapus Alkitab terpilih</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> + <source>Preview the selected Bible</source> + <translation>Pratinjau Alkitab terpilih</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> + <source>Send the selected Bible live</source> + <translation>Tampilkan Alkitab terpilih</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> + <source>Add the selected Bible to the service</source> + <translation>Tambahkan Alkitab terpilih untuk kebaktian</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> + <source>Bible</source> + <comment>name singular</comment> + <translation>Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> + <source>Bibles</source> + <comment>name plural</comment> + <translation>Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> + <source>Bibles</source> + <comment>container title</comment> + <translation>Alkitab</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No Book Found</source> + <translation>Kitab Tidak Ditemukan</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> + <translation>Kitab tidak ditemukan dalam Alkitab ini. Periksa apakah Anda telah mengeja nama kitab dengan benar.</translation> + </message> +</context> +<context> + <name>BiblesPlugin.BibleManager</name> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>Scripture Reference Error</source> + <translation>Referensi Kitab Suci Galat</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Web Bible cannot be used</source> + <translation>Alkitab Web tidak dapat digunakan</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>Pencarian teks tidak dapat dilakukan untuk Alkitab Web.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>You did not enter a search keyword. +You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>No Bibles available</source> + <translation>Alkitab tidak tersedia</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> + <translation type="unfinished">TIdak ada Alkitab terpasang. Harap gunakan Import Wizard untuk memasang sebuah atau beberapa Alkitab.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + +Book Chapter +Book Chapter-Chapter +Book Chapter:Verse-Verse +Book Chapter:Verse-Verse,Verse-Verse +Book Chapter:Verse-Verse,Chapter:Verse-Verse +Book Chapter:Verse-Chapter:Verse</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.BiblesTab</name> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> + <source>Verse Display</source> + <translation>Tampilan Ayat</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> + <source>Only show new chapter numbers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> + <source>Layout style:</source> + <translation>Gaya tata letak:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> + <source>Display style:</source> + <translation>Gaya tampilan:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> + <source>Bible theme:</source> + <translation>Tema Alkitab:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> + <source>Verse Per Slide</source> + <translation>Ayat Tiap Slide</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> + <source>Verse Per Line</source> + <translation>Ayat Tiap Baris</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> + <source>Continuous</source> + <translation>Sinambung</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> + <source>No Brackets</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> + <source>( And )</source> + <translation>( Dan )</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> + <source>{ And }</source> + <translation>{ Dan }</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> + <source>[ And ]</source> + <translation>[ Dan ]</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> + <source>Note: +Changes do not affect verses already in the service.</source> + <translation>Catatan: +Perubahan tidak akan mempengaruhi ayat yang kini tampil.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> + <source>Display second Bible verses</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> + <source>Bible Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> + <source>Web Download</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> + <source>Location:</source> + <translation type="unfinished">Lokasi:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> + <source>Crosswalk</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> + <source>BibleGateway</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> + <source>Bible:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> + <source>Download Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> + <source>Server:</source> + <translation>Server:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <source>Username:</source> + <translation>Nama Pengguna:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <source>Password:</source> + <translation>Sandi-lewat:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <source>Proxy Server (Optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <source>License Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <source>Set up the Bible's license details.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <source>Version name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <source>Copyright:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> + <source>Please wait while your Bible is imported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> + <source>You need to specify a file with books of the Bible to use in the import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> + <source>You need to specify a file of Bible verses to import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> + <source>You need to specify a version name for your Bible.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> + <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>Bible Exists</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> + <source>Your Bible import failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> + <source>CSV File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> + <source>openlp.org 1.x bible</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> + <source>Starting Registering bible...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> + <source>Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> + <source>Bibleserver</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <source>Permissions:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> + <source>Quick</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> + <source>Find:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> + <source>Results:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> + <source>Book:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> + <source>Chapter:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> + <source>Verse:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Text Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> + <source>Keep</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> + <source>Second:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.Opensong</name> + <message> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation type="unfinished">Mengimpor %s %s...</translation> + </message> +</context> +<context> + <name>BiblesPlugin.OsisImport</name> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> + <source>Detecting encoding (this may take a few minutes)...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation type="unfinished">Mengimpor %s %s...</translation> + </message> +</context> +<context> + <name>CustomPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> + <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomPlugin.CustomTab</name> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> + <source>Custom Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> + <source>Display footer</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomPlugin.EditCustomForm</name> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> + <source>Edit Custom Slides</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> + <source>&Title:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> + <source>Add a new slide at bottom.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> + <source>Edit the selected slide.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> + <source>Edit all the slides at once.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> + <source>Split Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> + <source>Split a slide into two by inserting a slide splitter.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> + <source>The&me:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> + <source>&Credits:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> + <source>You need to type in a title.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> + <source>You need to add at least one slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> + <source>Ed&it All</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomsPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <source>Add the selected Custom to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> + <source>Custom</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> + <source>Customs</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> + <source>Custom</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin</name> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> + <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> + <source>Delete the selected Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <source>Preview the selected Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> + <source>Send the selected Image live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> + <source>Add the selected Image to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> + <source>Image</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> + <source>Images</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> + <source>Images</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> + <source>Select Image(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> + <source>You must select an image to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>Missing Image(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> + <source>The following image(s) no longer exist: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>The following image(s) no longer exist: %s +Do you want to add the other images anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>MediaPlugin</name> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> + <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> + <source>Load a new Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> + <source>Add a new Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> + <source>Edit the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> + <source>Delete the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> + <source>Preview the selected Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> + <source>Send the selected Media live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> + <source>Media</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> + <source>Media</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> + <source>Media</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> + <source>Select Media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> + <source>You must select a media file to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> + <source>You must select a media file to replace the background with.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>Missing Media File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>The file %s no longer exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaTab</name> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> + <source>Media Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> + <source>Use Phonon for video playback</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP</name> + <message> + <location filename="openlp/core/utils/__init__.py" line="276"/> + <source>Image Files</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.AboutForm</name> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="91"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> + <source>Credits</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="553"/> + <source>License</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="556"/> + <source>Contribute</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutform.py" line="48"/> + <source> build %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> + <source>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 + Andreas "googol" Preikschat + Christian "crichter" Richter + Philip "Phill" Ridout + Maikel Stuivenberg + Carsten "catini" Tingaard + Frode "frodus" Woldsund + +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, Ubuntu) + +Built With + Python: http://www.python.org/ + Qt4: http://qt.nokia.com/ + PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro + Oxygen Icons: http://oxygen-icons.org/ + +Final Credit + "For God so loved the world that He gave + His one and only Son, so that whoever + believes in Him will not perish but inherit + eternal life." -- John 3:16 + + And last but not least, final credit goes to + God our Father, for sending His Son to die + on the cross, setting us free from sin. We + bring this software to you for free because + He has set us free.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> + <source>Copyright © 2004-2011 Raoul Snyman +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund + +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 below for more details. + + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. + +c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +<one line to give the program's name and a brief idea of what it does.> +Copyright (C) <year> <name of author> + +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; either version 2 of the License, or (at your option) any later version. + +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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type "show w". +This is free software, and you are welcome to redistribute it under certain conditions; type "show c" for details. + +The hypothetical commands "show w" and "show c" should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than "show w" and "show c"; they could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gnomovision" (which makes passes at compilers) written by James Hacker. + +<signature of Ty Coon>, 1 April 1989 +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.AdvancedTab</name> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> + <source>UI Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <source>Number of recent files to display:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> + <source>Remember active media manager tab on startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> + <source>Double-click to send items straight to live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> + <source>Expand new service items on creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> + <source>Enable application exit confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> + <source>Mouse Cursor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Warna latar:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagTab</name> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Update Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> + <source>Tag "n" already defined.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Tag %s already defined.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> + <source>Error Occurred</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> + <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> + <source>Send E-Mail</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> + <source>Save to File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionForm</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> + <source>Platform: %s +</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> + <source>**OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> + <source>*OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <comment>Please add the information that bug reports are favoured written in English.</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.FileRenameForm</name> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> + <source>File Rename</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> + <source>New File Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> + <source>File Copy</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.GeneralTab</name> + <message> + <location filename="openlp/core/ui/generaltab.py" line="242"/> + <source>General</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="243"/> + <source>Monitors</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="245"/> + <source>Select monitor for output display:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="247"/> + <source>Display if a single screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="249"/> + <source>Application Startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="251"/> + <source>Show blank screen warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="253"/> + <source>Automatically open the last service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="255"/> + <source>Show the splash screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="259"/> + <source>Application Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="261"/> + <source>Prompt to save before starting a new service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="263"/> + <source>Automatically preview next item in service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="265"/> + <source>Slide loop delay:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="267"/> + <source> sec</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="269"/> + <source>CCLI Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="272"/> + <source>SongSelect username:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="274"/> + <source>SongSelect password:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="277"/> + <source>Display Position</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="291"/> + <source>X</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="292"/> + <source>Y</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="293"/> + <source>Height</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="295"/> + <source>Width</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="289"/> + <source>Override display position</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="304"/> + <source>Screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="307"/> + <source>primary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.LanguageManager</name> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Language</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Please restart OpenLP to use your new language setting.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MainDisplay</name> + <message> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> + <source>OpenLP Display</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MainWindow</name> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> + <source>&File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> + <source>&Import</source> + <translation type="unfinished">&Impor</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> + <source>&Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> + <source>&View</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> + <source>M&ode</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> + <source>&Tools</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> + <source>&Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <source>&Language</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> + <source>&Help</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> + <source>Media Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> + <source>Service Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> + <source>Theme Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> + <source>&New</source> + <translation type="unfinished">&Baru</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> + <source>Ctrl+N</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> + <source>&Open</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> + <source>Open an existing service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> + <source>Ctrl+O</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> + <source>&Save</source> + <translation type="unfinished">&Simpan</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> + <source>Save the current service to disk.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> + <source>Ctrl+S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> + <source>Save &As...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> + <source>Save Service As</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <source>Save the current service under a new name.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <source>Ctrl+Shift+S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <source>E&xit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> + <source>Quit OpenLP</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> + <source>Alt+F4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> + <source>&Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <source>&Configure OpenLP...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> + <source>&Media Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <source>Toggle Media Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <source>Toggle the visibility of the media manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> + <source>F8</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> + <source>&Theme Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> + <source>Toggle Theme Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> + <source>Toggle the visibility of the theme manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> + <source>F10</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> + <source>&Service Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> + <source>Toggle Service Manager</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> + <source>Toggle the visibility of the service manager.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> + <source>F9</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> + <source>&Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> + <source>Toggle Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> + <source>Toggle the visibility of the preview panel.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> + <source>F11</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> + <source>&Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> + <source>Toggle Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> + <source>Toggle the visibility of the live panel.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> + <source>F12</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> + <source>&Plugin List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> + <source>List the Plugins</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> + <source>Alt+F7</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> + <source>&User Guide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> + <source>&About</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <source>More information about OpenLP</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <source>Ctrl+F1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <source>&Online Help</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <source>&Web Site</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <source>&Auto Detect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <source>Use the system language, if available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <source>Set the interface language to %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <source>Add &Tool...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <source>Add an application to the list of tools.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <source>&Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <source>Set the view mode back to the default.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <source>&Setup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> + <source>Set the view mode to Setup.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <source>&Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> + <source>Set the view mode to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> + <source>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/.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> + <source>OpenLP Version Updated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>OpenLP Main Display Blanked</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>The Main Display has been blanked out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> + <source>Default Theme: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="84"/> + <source>English</source> + <comment>Please add the name of your language here</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> + <source>Configure &Shortcuts...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Close OpenLP</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Are you sure you want to close OpenLP?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MediaManagerItem</name> + <message> + <location filename="openlp/core/lib/__init__.py" line="287"/> + <source>No Items Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> + <source>&Add to selected Service Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> + <source>You must select one or more items to preview.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> + <source>You must select one or more items to send live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> + <source>You must select one or more items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> + <source>You must select an existing service item to add to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>Invalid Service Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>You must select a %s service item.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PluginForm</name> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <source>Plugin List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> + <source>Plugin Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="83"/> + <source>Status:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="85"/> + <source>Active</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="87"/> + <source>Inactive</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="143"/> + <source>%s (Inactive)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="140"/> + <source>%s (Active)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="146"/> + <source>%s (Disabled)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceManager</name> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> + <source>Load an existing service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> + <source>Save this service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> + <source>Select a theme for the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move to &top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move item to the top of the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move &up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move item up one position in the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Move &down</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> + <source>Move item down one position in the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move to &bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move item to the end of the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> + <source>&Delete From Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> + <source>Delete the selected item from the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> + <source>&Add New Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> + <source>&Add to Selected Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> + <source>&Edit Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> + <source>&Reorder Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> + <source>&Notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> + <source>&Change Item Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> + <source>OpenLP Service Files (*.osz)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> + <source>File is not a valid service. +The content encoding is not UTF-8.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> + <source>File is not a valid service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Missing Display Handler</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> + <source>Your item cannot be displayed as there is no handler to display it</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>&Expand all</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>Expand all the service items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>&Collapse all</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>Collapse all the service items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceNoteForm</name> + <message> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> + <source>Service Item Notes</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SettingsForm</name> + <message> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> + <source>Configure OpenLP</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ShortcutListDialog</name> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> + <source>Customize Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Action</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> + <source>Default: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> + <source>Custom:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> + <source>None</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>Duplicate Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SlideController</name> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Move to previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Move to next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> + <source>Hide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> + <source>Move to live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> + <source>Edit and reload song preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> + <source>Start continuous loop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> + <source>Stop continuous loop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <source>Delay between slides in seconds</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <source>Start playing media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> + <source>Go To</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> + <source>Blank Screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> + <source>Blank to Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> + <source>Show Desktop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SpellTextEdit</name> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> + <source>Spelling Suggestions</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> + <source>Select Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>Theme Name Missing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>There is no name for this theme. Please enter one.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Theme Name Invalid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Invalid theme name. Please enter one.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="213"/> + <source>(%d lines per slide)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeManager</name> + <message> + <location filename="openlp/core/ui/thememanager.py" line="66"/> + <source>Create a new theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="107"/> + <source>&Edit Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="116"/> + <source>&Delete Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="120"/> + <source>Set As &Global Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="436"/> + <source>%s (default)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="313"/> + <source>You must select a theme to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="700"/> + <source>You are unable to delete the default theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Theme %s is used in the %s plugin.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="364"/> + <source>You have not selected a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="368"/> + <source>Save Theme - (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Theme Exported</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Your theme has been successfully exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Theme Export Failed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Your theme could not be exported due to an error.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>Select Theme Import File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="501"/> + <source>File is not a valid theme. +The content encoding is not UTF-8.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="548"/> + <source>File is not a valid theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="110"/> + <source>&Copy Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="113"/> + <source>&Rename Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="123"/> + <source>&Export Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>You must select a theme to rename.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename Confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename %s theme?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>You must select a theme to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete Confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete %s theme?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Validation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="564"/> + <source>A theme with this name already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeWizard</name> + <message> + <location filename="openlp/core/ui/themewizard.py" line="406"/> + <source>Theme Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="408"/> + <source>Welcome to the Theme Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="415"/> + <source>Set Up Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="417"/> + <source>Set up your theme's background according to the parameters below.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="420"/> + <source>Background type:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="422"/> + <source>Solid Color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="424"/> + <source>Gradient</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="474"/> + <source>Color:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="433"/> + <source>Gradient:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="435"/> + <source>Horizontal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="437"/> + <source>Vertical</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="439"/> + <source>Circular</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="441"/> + <source>Top Left - Bottom Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="443"/> + <source>Bottom Left - Top Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="446"/> + <source>Main Area Font Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="448"/> + <source>Define the font and display characteristics for the Display text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="473"/> + <source>Font:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="475"/> + <source>Size:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="455"/> + <source>Line Spacing:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="458"/> + <source>&Outline:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="462"/> + <source>&Shadow:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="465"/> + <source>Bold</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="466"/> + <source>Italic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="468"/> + <source>Footer Area Font Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="470"/> + <source>Define the font and display characteristics for the Footer text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="477"/> + <source>Text Formatting Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="479"/> + <source>Allows additional display formatting information to be defined</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="482"/> + <source>Horizontal Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="484"/> + <source>Left</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="486"/> + <source>Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="488"/> + <source>Center</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="492"/> + <source>Output Area Locations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="494"/> + <source>Allows you to change and move the main and footer areas.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="497"/> + <source>&Main Area</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="499"/> + <source>&Use default location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="512"/> + <source>X position:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="524"/> + <source>px</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="515"/> + <source>Y position:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="518"/> + <source>Width:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="522"/> + <source>Height:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="526"/> + <source>Use default location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="528"/> + <source>Save and Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="530"/> + <source>View the theme and save it replacing the current one or change the name to create a new theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="534"/> + <source>Theme name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="300"/> + <source>Edit Theme - %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="411"/> + <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="490"/> + <source>Transitions:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="510"/> + <source>&Footer Area</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemesTab</name> + <message> + <location filename="openlp/core/ui/themestab.py" line="104"/> + <source>Global Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="106"/> + <source>Theme Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="108"/> + <source>S&ong Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="110"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="115"/> + <source>&Service Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="117"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="121"/> + <source>&Global Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="123"/> + <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.Ui</name> + <message> + <location filename="openlp/core/lib/ui.py" line="55"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pn</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin</name> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> + <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> + <source>Load a new Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> + <source>Delete the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <source>Add the selected Presentation to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> + <source>Presentation</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> + <source>Presentations</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> + <source>Presentations</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> + <source>Select Presentation(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> + <source>Automatic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> + <source>Present using:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>File Exists</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>A presentation with that filename already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>Unsupported File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>This type of presentation is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> + <source>Presentations (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>Missing Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>The Presentation %s no longer exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.PresentationTab</name> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> + <source>Available Controllers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> + <source>Allow presentation application to be overriden</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin</name> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> + <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> + <source>Remote</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> + <source>Remotes</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> + <source>Remote</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin.RemoteTab</name> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="68"/> + <source>Serve on IP address:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="70"/> + <source>Port number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> + <source>Server Settings</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin</name> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="64"/> + <source>&Song Usage Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/> + <source>&Delete Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="70"/> + <source>Delete song usage data up to a specified date.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/> + <source>&Extract Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="77"/> + <source>Generate a report on song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/> + <source>Toggle Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/> + <source>Toggle the tracking of song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="167"/> + <source><strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="178"/> + <source>SongUsage</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="180"/> + <source>SongUsage</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="185"/> + <source>SongUsage</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDeleteForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> + <source>Delete Song Usage Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Delete Selected Song Usage Events?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Are you sure you want to delete selected Song Usage data?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDetailForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> + <source>Song Usage Extraction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> + <source>Select Date Range</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> + <source>to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> + <source>Report Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <source>Output File Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> + <source>usage_detail_%s_%s.txt</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin</name> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> + <source>&Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> + <source>Import songs using the import wizard.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> + <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> + <source>&Re-index Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> + <source>Re-index the songs database to improve searching and ordering.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> + <source>Reindexing songs...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> + <source>Add a new Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> + <source>Delete the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> + <source>Preview the selected Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> + <source>Send the selected Song live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> + <source>Add the selected Song to the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> + <source>Arabic (CP-1256)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> + <source>Baltic (CP-1257)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> + <source>Central European (CP-1250)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> + <source>Cyrillic (CP-1251)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> + <source>Greek (CP-1253)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> + <source>Hebrew (CP-1255)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> + <source>Japanese (CP-932)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> + <source>Korean (CP-949)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> + <source>Simplified Chinese (CP-936)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> + <source>Thai (CP-874)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> + <source>Traditional Chinese (CP-950)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> + <source>Turkish (CP-1254)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> + <source>Vietnam (CP-1258)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> + <source>Western European (CP-1252)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Character Encoding</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> + <source>The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Please choose the character encoding. +The encoding is responsible for the correct character representation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <source>Song</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> + <source>Songs</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> + <source>Songs</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.AuthorsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> + <source>Author Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> + <source>Display name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> + <source>First name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <source>Last name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="83"/> + <source>You need to type in the first name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> + <source>You need to type in the last name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> + <source>You have not set a display name for the author, combine the first and last names?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.CCLIFileImport</name> + <message> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> + <source>Importing song %d of %d</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.EditSongForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> + <source>Song Editor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> + <source>&Title:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> + <source>Alt&ernate title:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> + <source>&Lyrics:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> + <source>&Verse order:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> + <source>Ed&it All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> + <source>Title && Lyrics</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> + <source>&Add to Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> + <source>&Remove</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> + <source>&Manage Authors, Topics, Song Books</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> + <source>A&dd to Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> + <source>R&emove</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <source>Book:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <source>Number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <source>Authors, Topics && Song Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> + <source>New &Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> + <source>Copyright Information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> + <source>Comments</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> + <source>Theme, Copyright Info && Comments</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>Add Author</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>This author does not exist, do you want to add them?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> + <source>This author is already in the list.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> + <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>Add Topic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>This topic does not exist, do you want to add it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> + <source>This topic is already in the list.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> + <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> + <source>You need to type in a song title.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> + <source>You need to type in at least one verse.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> + <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>Add Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>This song book does not exist, do you want to add it?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> + <source>You need to have an author for this song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> + <source>You need to type some text in to the verse.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.EditVerseForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> + <source>Edit Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> + <source>&Verse type:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> + <source>&Insert</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> + <source>Select Document/Presentation Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> + <source>Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> + <source>Generic Document/Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <source>Filename:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> + <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> + <source>Add Files...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> + <source>Remove File(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> + <source>Administered by %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> + <source>OpenLP 2.0 Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> + <source>openlp.org v1.x Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> + <source>Words Of Worship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> + <source>Maintain the lists of authors, topics and books</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Titles</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Lyrics</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Delete Song(s)?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> + <source>CCLI License: </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Entire Song</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Are you sure you want to delete the %n selected song(s)?</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLPSongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> + <source>Importing song %d of %d.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLyricsExport</name> + <message> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongBookForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> + <source>Song Book Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> + <source>&Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> + <source>&Publisher:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> + <source>You need to type in a name for the book.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> + <source>copyright</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> + <source>Your song import failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongMaintenanceForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> + <source>Could not add your author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> + <source>This author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> + <source>Could not add your topic.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> + <source>This topic already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> + <source>Could not add your book.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> + <source>This book already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> + <source>Could not save your changes.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> + <source>Could not save your modified author, because the author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> + <source>Could not save your modified topic, because it already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Delete Author</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Are you sure you want to delete the selected author?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>This author cannot be deleted, they are currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Delete Topic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Are you sure you want to delete the selected topic?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Delete Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Are you sure you want to delete the selected book?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>This book cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> + <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> + <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> + <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongsTab</name> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> + <source>Songs Mode</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> + <source>Enable search as you type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> + <source>Display verses on live tool bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> + <source>Update service from song edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> + <source>Add missing songs when opening service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.TopicsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> + <source>Topic Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> + <source>Topic name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> + <source>You need to type in a topic name.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.VerseType</name> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> + <source>Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> + <source>Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <source>Intro</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> + <source>Ending</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> + <source>Other</source> + <translation>Lainnya</translation> + </message> +</context> +</TS> diff --git a/resources/i18n/ja.ts b/resources/i18n/ja.ts index 298730aea..ee18e9d4b 100644 --- a/resources/i18n/ja.ts +++ b/resources/i18n/ja.ts @@ -3,24 +3,24 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>引数がみつかりません</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>引数が入力されていません。 続けますか?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation>代入場所がみつかりません</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>警告文に「<>」が含まれていません。 @@ -30,34 +30,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>警告(&A)</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>警告メッセージを表示する。</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> - <translation><strong>警告プラグイン</strong><br />警告プラグインは、画面に警告文を表示する機能を提供します。</translation> + <translation><strong>警告プラグイン</strong><br />警告プラグインは、画面に警告文を表示する機能を提供します</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation>警告</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation>警告</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation>警告</translation> @@ -66,30 +66,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>警告メッセージ</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>警告文(&T):</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>新規作成(&N)</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>保存(&S)</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>削除(&D)</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -101,17 +96,17 @@ Do want to continue anyway?</source> <translation>表示して閉じる(&O)</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>新しい警告</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>警告文が何も設定されていません。新規作成をクリックする前にメッセージを入力してください。</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation>引数(&P):</translation> </message> @@ -127,219 +122,173 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>フォント</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>フォント名:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>文字色:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>背景色:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>大きさ:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>警告タイムアウト:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>秒</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation>新旧訳を取込み中...%s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>表示位置:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation>新旧訳の取込み...完了。</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>プレビュー</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation>書簡の取込み中...%s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation>節の取込み中 %s...</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>上</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>中央</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>下</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation>節の取込み....完了。</translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation>ダウンロードエラー</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation>HTML構文エラー</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>選択された聖書のダウンロードに失敗しました。インターネット接続を確認し、エラーが再び起こったときは、バグ報告を検討してください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>選択された聖書の展開に失敗しました。エラーが再び起こったときは、バグ報告を検討してください。</translation> </message> </context> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> - <translation type="unfinished"></translation> + <translation>二つの訳を一つの礼拝項目に合わせる事はできません。検索結果を削除して、始めから検索しますか?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> - <translation type="unfinished"></translation> + <translation>聖書データは完全に読み込まれていません</translation> </message> </context> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>聖書(&B)</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>聖書プラグイン</strong><br />聖書プラグインは、礼拝で様々な訳の御言葉を表示する機能を提供します。</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>聖書をインポート</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation>聖書を追加</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation>選択した聖書を編集</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation>選択した聖書を削除</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation>選択した聖書をプレビュー</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation>選択した聖書をライブへ送る</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation>選択した聖書を礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation>聖書</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation>聖書</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation>聖書</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation>インポート(&I)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation>追加(&A)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation>編集(&E)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation>削除(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation>書名がみつかりません</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation>該当する書名がこの聖書に見つかりません。書名が正しいか確認してください。</translation> </message> @@ -347,39 +296,40 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>書名章節番号エラー</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation>ウェブ聖書は使用できません</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation>本文検索はウェブ聖書では使用できません。</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> - <translation type="unfinished"></translation> + <translation>検索語句が入力されていません。 +複数の語句をスペースで区切ると全てに該当する箇所を検索し、コンマ(,)で区切るといずれかに該当する箇所を検索します。</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> - <translation type="unfinished"></translation> + <translation>利用可能な聖書データがありません</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> - <translation type="unfinished"></translation> + <translation>利用可能な聖書がありません。インポートガイドを利用して、一つ以上の聖書をインストールしてください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -393,495 +343,328 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> - <translation type="unfinished">御言葉の表示</translation> + <translation>聖句の表示</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>初めの章番号のみを表示</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> - <translation type="unfinished">レイアウトスタイル:</translation> + <translation>レイアウトスタイル:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> - <translation type="unfinished">表示スタイル:</translation> + <translation>表示スタイル:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>聖書のテーマ:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>スライドに1節</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>1行に1節</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>連続</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>なし</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( と )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ と }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ と ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>注意: 既に礼拝に含まれる御言葉は変更されません。</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> - <translation type="unfinished">2つの御言葉を表示</translation> - </message> -</context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation>%s %sをインポートしています...</translation> + <translation>2つの聖句を表示</translation> </message> </context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>聖書インポートウィザード</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>選択した聖書を礼拝に追加へようこそ</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> - <translation type="unfinished"></translation> + <translation>この一連の手順を通じて、様々な聖書のデータを取り込む事ができます。次へボタンをクリックし、取り込む聖書のフォーマットを選択してください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">取り込む書式とどこから取り込み元を選択してください。</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>書式:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> - <translation type="unfinished"></translation> + <translation>ウェブからダウンロード</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> + <source>Location:</source> + <translation>サイト:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> + <source>Crosswalk</source> + <translation></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> + <source>BibleGateway</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> + <source>Bible:</source> + <translation>訳:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> + <source>Download Options</source> + <translation>ダウンロードオプション</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> - <source>Location:</source> - <translation type="unfinished">サイト:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> - <source>Crosswalk</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> - <source>BibleGateway</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> - <source>Bible:</source> - <translation type="unfinished">訳:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> - <source>Download Options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Server:</source> <translation>サーバ:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>ユーザ名:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>パスワード:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>プロキシサーバ (任意)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> - <translation type="unfinished"></translation> + <translation>ライセンス詳細</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> - <translation type="unfinished"></translation> + <translation>ライセンス詳細を設定してください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>訳名:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>著作権:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation type="unfinished">インポート中</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> - <translation type="unfinished"></translation> + <translation>聖書データの取り込みが完了するまでしばらくお待ちください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>完了。</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> - <translation type="unfinished"></translation> + <translation>取り込む聖書データの書簡を指定する必要があります。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> - <translation type="unfinished"></translation> + <translation>取り込む節の指定が必要です。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> - <translation type="unfinished"></translation> + <translation>聖書データのバージョン名を指定する必要があります。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> - <translation type="unfinished"></translation> + <translation>著作権情報を入力してください。公共のサイトからの聖書もそのように入力ください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> - <translation type="unfinished"></translation> + <translation>聖書が存在します</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> - <translation type="unfinished"></translation> + <translation>すでにこの聖書データは取り込み済みです。他の聖書データを取り込むか既に取り込まれた聖書を削除してください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> - <translation type="unfinished"></translation> + <translation>聖書データの取り込みに失敗しました。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> - <translation type="unfinished"></translation> + <translation>聖書を登録しています...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> - <translation type="unfinished"></translation> + <translation>聖書が登録されました。節ごとに必要に応じてダウンロードされますので、インターネットへの接続が要求される事を留意しておいてください。</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> - <translation type="unfinished"></translation> + <translation>使用許可:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> - <translation type="unfinished"></translation> + <translation>CSVファイル</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation>全てのファイル</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation>聖書訳:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation>新旧訳:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation>書簡:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation>節:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>高速</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>詳細</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>訳名:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>検索方法:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>検索:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>検索</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>結果:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>書名:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>章:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>節:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>開始:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>終了:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>書名章節検索</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>キーワード検索</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>消去</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>追加</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation>第二訳:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation>%s をインポートしています...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %sをインポートしています...</translation> @@ -890,12 +673,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation>エンコードの検出中です(数分かかることがあります)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation>%s %sをインポートしています...</translation> @@ -904,7 +687,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation><strong>カスタムプラグイン</strong><br />カスタムプラグインは、カスタムのテキストを歌などと同様に表示する機能を提供します。</translation> </message> @@ -914,221 +697,133 @@ demand and thus an internet connection is required.</source> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> <source>Custom Display</source> - <translation type="unfinished"></translation> + <translation>カスタム表示</translation> </message> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> <source>Display footer</source> - <translation type="unfinished"></translation> + <translation>フッター表示</translation> </message> </context> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> - <translation type="unfinished"></translation> + <translation>カスタムスライドを編集</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> + <source>&Title:</source> + <translation>タイトル(&T):</translation> </message> <message> <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> - <source>&Title:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> <source>Add a new slide at bottom.</source> - <translation type="unfinished"></translation> + <translation>一番下に新規スライドを追加。</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> - <translation type="unfinished"></translation> + <translation>選択したスライドを編集。</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> - <translation type="unfinished"></translation> + <translation>すべてのスライドを一括編集。</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> - <translation type="unfinished"></translation> + <translation>スライドを分割</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> - <translation type="unfinished"></translation> + <translation>スライド分割機能を用い、スライドを分割してください。</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> - <translation type="unfinished"></translation> + <translation>テーマ(&m):</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> - <source>&Credits:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> - <translation type="unfinished"></translation> + <translation>タイトルの入力が必要です。</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> - <translation type="unfinished"></translation> + <translation>最低一枚のスライドが必要です</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation>追加(&A)</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation>編集(&E)</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation>全て編集(&I)</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation>削除(&D)</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>編集する項目が選択されていません。</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>削除する項目が選択されていません。</translation> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> + <source>&Credits:</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation>インポート</translation> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation>カスタムをインポート</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation>新しいカスタムを読み込む</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation>新しいカスタムを追加</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation>選択したカスタムを編集</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation>選択したカスタムを削除</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation>選択したカスタムをプレビュー</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation>選択したカスタムをライブへ送る</translation> </message> <message> <location filename="openlp/plugins/custom/customplugin.py" line="118"/> - <source>Import a Custom</source> - <translation type="unfinished">カスタムをインポート</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation>読み込み</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> - <source>Load a new Custom</source> - <translation type="unfinished">新しいカスタムを読み込み</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation>追加</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> - <source>Add a new Custom</source> - <translation type="unfinished">新しいカスタムを追加</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation>編集</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> - <source>Edit the selected Custom</source> - <translation type="unfinished">選択したカスタムを編集</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation>削除</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> - <source>Delete the selected Custom</source> - <translation type="unfinished">選択したカスタムを削除</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> - <source>Preview the selected Custom</source> - <translation type="unfinished">選択したカスタムをプレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> - <source>Send the selected Custom live</source> - <translation type="unfinished">選択したカスタムをライブへ送る</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation>礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> <source>Add the selected Custom to the service</source> - <translation type="unfinished">選択したカスタムを礼拝に追加</translation> + <translation>選択したカスタムを礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation>カスタム</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation>カスタム</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation>カスタム</translation> @@ -1137,264 +832,168 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation><strong>画像プラグイン</strong><br />画像プラグインは、画像を表示する機能を提供します。<br />礼拝マネージャで複数の画像をグループ化したり、複数の画像を簡単に表示することができます。タイムアウトループの機能を使用してスライドショーを自動的に表示することもできます。さらに、歌などのテキストベースの項目の背景を、テーマで指定されたものからこのプラグインの画像に変更することもできます。</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation>読み込み</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation>新しい画像を読み込み</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation>追加</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation>新しい画像を追加</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation>編集</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation>選択した画像を編集</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation>削除</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation>選択した画像を削除</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation>選択した画像をプレビュー</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation>選択した画像をライブへ送る</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation>礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation>選択した画像を礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation>画像</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation>画像</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation>画像</translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation>添付を選択</translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> - <translation type="unfinished">画像を選択</translation> + <translation>画像を選択</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>全てのファイル</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>ライブの背景を置換</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished">背景を置換</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished">ライブの背景をリセット</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>削除する画像を選択してください。</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>画像</translation> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation>置き換える画像を選択してください。</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>Missing Image(s)</source> + <translation>画像が見つかりません</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> + <source>The following image(s) no longer exist: %s</source> + <translation>以下の画像は既に存在しません</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>The following image(s) no longer exist: %s +Do you want to add the other images anyway?</source> + <translation>以下の画像は既に存在しません:%s +それでも他の画像を追加しますか?</translation> </message> <message> <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> - <source>You must select an image to replace the background with.</source> - <translation type="unfinished">置き換える画像を選択してください。</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished">背景をリセット</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> - <source>Missing Image(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> - <source>The following image(s) no longer exist: %s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> - <source>The following image(s) no longer exist: %s -Do you want to add the other images anyway?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> - <translation type="unfinished"></translation> + <translation>背景画像を置換する際に問題が発生しました。画像ファイル"%s"が存在しません。</translation> </message> </context> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>メディアプラグイン</strong><br />メディアプラグインは、音声や動画を再生する機能を提供します。</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation>読み込み</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation>新しいメディアを読み込み</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation>追加</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation>新しいメディアを追加</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation>編集</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation>選択したメディアを編集</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation>削除</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation>選択したメディアを削除</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation>選択したメディアをプレビュー</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation>選択したメディアをライブへ送る</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation>礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation>選択したメディアを礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation>メディア</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation>メディア</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation>メディア</translation> @@ -1403,63 +1002,38 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished">メディア</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> - <translation type="unfinished"></translation> + <translation>メディア選択</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished">ライブの背景を置換</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> - <translation type="unfinished"></translation> + <translation>削除するメディアファイルを選択してください。</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> - <translation type="unfinished"></translation> + <translation>メディアファイルが見つかりません</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> - <translation type="unfinished"></translation> + <translation>ファイル %s が見つかりません。</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> + <translation>背景を置換するメディアファイルを選択してください。</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation>背景を置き換えする際に問題が発生しました。メディアファイル"%s"は既に存在しません。</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1467,35 +1041,25 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation>メディア</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> - <translation type="unfinished"></translation> + <translation>メディア表示</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> - <translation type="unfinished"></translation> + <translation>音響量子をビデオ再生に使用する</translation> </message> </context> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>画像ファイル</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>OpenLPについて</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1505,17 +1069,18 @@ OpenLP is free church presentation software, or lyrics projection software, used 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.</source> - <translation type="unfinished"></translation> + <translation>OpenLPは、教会専用のフリー(無償及び利用に関して)のプレゼンテーション及び歌詞投射ソフトウェアです。 + +パソコンとプロジェクターを用いて、聖書箇所、画像また他プレゼンテーションデータ(OpenOffice.orgやPowerPoint/Viewerが必要)をスライド表示する事ができます。 + +http://openlp.org/にて詳しくご紹介しております。 + +OpenLPは、ボランティアの手により開発保守されています。もっと多くのクリスチャンの手によるフリーのソフトウェア開発に興味がある方は、以下のボタンからどうぞ。</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>情報</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> - <translation>情報</translation> + <translation>著作情報</translation> </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="553"/> @@ -1533,7 +1098,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation> ビルド %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1634,9 +1199,11 @@ Final Credit このソフトウェアも無償で配布します。</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1766,362 +1333,242 @@ Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gno Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> - <translation>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard - -このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された GNU 一般公衆利用許諾契約書バージョン2の定める条件の下で再頒布または改変することができます。 - -このプログラムは有用であることを願って頒布されますが、*全くの無保証* です。商業可能性の保証や特定の目的への適合性は、言外に示されたものも含め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。 - - -GNU 一般公衆利用許諾契約書 -バージョン2、1991年6月 -日本語訳、2002年5月20日 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -59 Temple Place, Suite 330, Boston, MA 02111-1307 USAこの利用許諾契約書を、一字一句そのままに複製し頒布することは許可する。しかし変更は認めない。 - -This is an unofficial translation of the GNU General Public License into Japanese. It was not published by the Free Software Foundation,and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Japanese speakers understand the GNU GPL better. - -(訳: 以下はGNU General Public Licenseの非公式な日本語訳です。これはフリーソフトウェア財団(the Free Software Foundataion)によって発表されたものではなく、GNU GPLを適用したソフトウェアの頒布条件を法的に有効な形で述べたものではありません。頒布条件としてはGNU GPLの英語版テキストで指定されているもののみが有効です。しかしながら、私たちはこの翻訳が、日本語を使用する人々にとってGNU GPLをより良く理解する助けとなることを望んでいます。) - -翻訳は 八田真行<mhatta@gnu.org>が行った。原文はhttp://www.gnu.org/licenses/gpl.txtである。誤訳の指摘や改善案を歓迎する。 - -はじめに - -ソフトウェア向けライセンスの大半は、あなたがそのソフトウェアを共有したり変更したりする自由を奪うように設計されています。対照的に、GNU 一般公衆利用許諾契約書は、あなたがフリーソフトウェアを共有したり変更したりする自由を保証する--すなわち、ソフトウェアがそのユーザすべてにとってフリーであることを保証することを目的としています。この一般公衆利用許諾契約書はフリーソフトウェア財団のソフトウェアのほとんどに適用されており、またGNU GPLを適用すると決めたフリーソフトウェア財団以外の作者によるプログラムにも適用されています(いくつかのフリーソフトウェア財団のソフトウェアには、GNU GPLではなくGNU ライブラリ一般公衆利用許諾契約書が適用されていることもあります)。あなたもまた、ご自分のプログラムにGNU GPLを適用することが可能です。 - -私たちがフリーソフトウェアと言うとき、それは利用の自由について言及しているのであって、価格は問題にしていません。私たちの一般公衆利用許諾契約書は、あなたがフリーソフトウェアの複製物を頒布する自由を保証するよう設計されています(希望に応じてその種のサービスに手数料を課す自由も保証されます)。また、あなたがソースコードを受け取るか、あるいは望めばそれを入手することが可能であるということ、あなたがソフトウェアを変更し、その一部を新たなフリーのプログラムで利用できるということ、そして、以上で述べたようなことができるということがあなたに知らされるということも保証されます。 - -あなたの権利を守るため、私たちは誰かがあなたの有するこれらの権利を否定することや、これらの権利を放棄するよう要求することを禁止するという制限を加える必要があります。よって、あなたがソフトウェアの複製物を頒布したりそれを変更したりする場合には、これらの制限のためにあなたにある種の責任が発生することになります。 - -例えば、あなたがフリーなプログラムの複製物を頒布する場合、有料か無料に関わらず、あなたは自分が有する権利を全て受領者に与えなければなりません。また、あなたは彼らもソースコードを受け取るか手に入れることができるよう保証しなければなりません。そして、あなたは彼らに対して以下で述べる条件を示し、彼らに自らの持つ権利について知らしめるようにしなければなりません。 - -私たちはあなたの権利を二段階の手順を踏んで保護します。(1) まずソフトウェアに対して著作権を主張し、そして (2) あなたに対して、ソフトウェアの複製や頒布または改変についての法的な許可を与えるこの契約書を提示します。 - -また、各作者や私たちを保護するため、私たちはこのフリーソフトウェアには何の保証も無いということを誰もが確実に理解するようにし、またソフトウェアが誰か他人によって改変され、それが次々と頒布されていったとしても、その受領者は彼らが手に入れたソフトウェアがオリジナルのバージョンでは無いこと、そして原作者の名声は他人によって持ち込まれた可能性のある問題によって影響されることがないということを周知させたいと思います。 - -最後に、ソフトウェア特許がいかなるフリーのプログラムの存在にも不断の脅威を投げかけていますが、私たちは、フリーなプログラムの再頒布者が個々に特許ライセンスを取得することによって、事実上プログラムを独占的にしてしまうという危険を避けたいと思います。こういった事態を予防するため、私たちはいかなる特許も誰もが自由に利用できるようライセンスされるか、全くライセンスされないかのどちらかでなければならないことを明確にしました。 - -(訳注: 本契約書で「独占的(proprietary)」とは、ソフトウェアの利用や再頒布、改変が禁止されているか、許可を得ることが必要とされているか、あるいは厳しい制限が課せられていて自由にそうすることが事実上できなくなっている状態のことを指す。詳しくはhttp://www.gnu.org/philosophy/categories.ja.html#ProprietarySoftwareを参照せよ。) - -複製や頒布、改変についての正確な条件と制約を以下で述べていきます。 - -GNU 一般公衆利用許諾契約書 -複製、頒布、改変に関する条件と制約 - -0. この利用許諾契約書は、そのプログラム(またはその他の著作物)をこの一般公衆利用許諾契約書の定める条件の下で頒布できるという告知が著作権者によって記載されたプログラムまたはその他の著作物全般に適用される。以下では、「『プログラム』」とはそのようにしてこの契約書が適用されたプログラムや著作物全般を意味し、また「『プログラム』を基にした著作物」とは『プログラム』やその他著作権法の下で派生物と見なされるもの全般を指す。すなわち、『プログラム』かその一部を、全く同一のままか、改変を加えたか、あるいは他の言語に翻訳された形で含む著作物のことである(「改変」という語の本来の意味からはずれるが、以下では翻訳も改変の一種と見なす)。それぞれの契約者は「あなた」と表現される。 - -複製や頒布、改変以外の活動はこの契約書ではカバーされない。それらはこの契約書の対象外である。『プログラム』を実行する行為自体に制限はない。また、そのような『プログラム』の出力結果は、その内容が『プログラム』を基にした著作物を構成する場合のみこの契約書によって保護される(『プログラム』を実行したことによって作成されたということとは無関係である)。このような線引きの妥当性は、『プログラム』が何をするのかに依存する。 - -1. それぞれの複製物において適切な著作権表示と保証の否認声明(disclaimer of warranty)を目立つよう適切に掲載し、またこの契約書および一切の保証の不在に触れた告知すべてをそのまま残し、そしてこの契約書の複製物を『プログラム』のいかなる受領者にも『プログラム』と共に頒布する限り、あなたは『プログラム』のソースコードの複製物を、あなたが受け取った通りの形で複製または頒布することができる。媒体は問わない。 - -あなたは、物理的に複製物を譲渡するという行為に関して手数料を課しても良いし、希望によっては手数料を取って交換における保護の保証を提供しても良い。 - -2. あなたは自分の『プログラム』の複製物かその一部を改変して『プログラム』を基にした著作物を形成し、そのような改変点や著作物を上記第1節の定める条件の下で複製または頒布することができる。ただし、そのためには以下の条件すべてを満たしていなければならない: - -a) あなたがそれらのファイルを変更したということと変更した日時が良く分かるよう、改変されたファイルに告示しなければならない。 - -b) 『プログラム』またはその一部を含む著作物、あるいは『プログラム』かその一部から派生した著作物を頒布あるいは発表する場合には、その全体をこの契約書の条件に従って第三者へ無償で利用許諾しなければならない。 - -c) 改変されたプログラムが、通常実行する際に対話的にコマンドを読むようになっているならば、そのプログラムを最も一般的な方法で対話的に実行する際、適切な著作権表示、無保証であること(あるいはあなたが保証を提供するということ)、ユーザがプログラムをこの契約書で述べた条件の下で頒布することができるということ、そしてこの契約書の複製物を閲覧するにはどうしたらよいかというユーザへの説明を含む告知が印刷されるか、あるいは画面に表示されるようにしなければならない(例外として、『プログラム』そのものは対話的であっても通常そのような告知を印刷しない場合には、『プログラム』を基にしたあなたの著作物にそのような告知を印刷させる必要はない)。 - -以上の必要条件は全体としての改変された著作物に適用される。著作物の一部が『プログラム』から派生したものではないと確認でき、それら自身別の独立した著作物であると合理的に考えられるならば、あなたがそれらを別の著作物として分けて頒布する場合、そういった部分にはこの契約書とその条件は適用されない。しかし、あなたが同じ部分を『プログラム』を基にした著作物全体の一部として頒布するならば、全体としての頒布物は、この契約書が課す条件に従わなければならない。というのは、この契約書が他の契約者に与える許可は『プログラム』丸ごと全体に及び、誰が書いたかは関係なく各部分のすべてを保護するからである。 - -よって、すべてあなたによって書かれた著作物に対し、権利を主張したりあなたの権利に異議を申し立てることはこの節の意図するところではない。むしろ、その趣旨は『プログラム』を基にした派生物ないし集合著作物の頒布を管理する権利を行使するということにある。 - -また、『プログラム』を基にしていないその他の著作物を『プログラム』(あるいは『プログラム』を基にした著作物)と一緒に集めただけのものを一巻の保管装置ないし頒布媒体に収めても、その他の著作物までこの契約書が保護する対象になるということにはならない。 - -3. あなたは上記第1節および2節の条件に従い、『プログラム』(あるいは第2節における派生物)をオブジェクトコードないし実行形式で複製または頒布することができる。ただし、その場合あなたは以下のうちどれか一つを実施しなければならない: - -a) 著作物に、『プログラム』に対応した完全かつ機械で読み取り可能なソースコードを添付する。ただし、ソースコードは上記第1節および2節の条件に従いソフトウェアの交換で習慣的に使われる媒体で頒布しなければならない。あるいは、 - -b) 著作物に、いかなる第三者に対しても、『プログラム』に対応した完全かつ機械で読み取り可能なソースコードを、頒布に要する物理的コストを上回らない程度の手数料と引き換えに提供する旨述べた少なくとも3年間は有効な書面になった申し出を添える。ただし、ソースコードは上記第1節および2節の条件に従いソフトウェアの交換で習慣的に使われる媒体で頒布しなければならない。あるいは、 - -c) 対応するソースコード頒布の申し出に際して、あなたが得た情報を一緒に引き渡す(この選択肢は、営利を目的としない頒布であって、かつあなたが上記小節bで指定されているような申し出と共にオブジェクトコードあるいは実行形式のプログラムしか入手していない場合に限り許可される)。 - -著作物のソースコードとは、それに対して改変を加える上で好ましいとされる著作物の形式を意味する。ある実行形式の著作物にとって完全なソースコードとは、それが含むモジュールすべてのソースコード全部に加え、関連するインターフェース定義ファイルのすべてとライブラリのコンパイルやインストールを制御するために使われるスクリプトをも加えたものを意味する。しかし特別な例外として、そのコンポーネント自体が実行形式に付随するのでは無い限り、頒布されるものの中に、実行形式が実行されるオペレーティングシステムの主要なコンポーネント(コンパイラやカーネル等)と通常一緒に(ソースかバイナリ形式のどちらかで)頒布されるものを含んでいる必要はないとする。 - -実行形式またはオブジェクトコードの頒布が、指定された場所からコピーするためのアクセス手段を提供することで為されるとして、その上でソースコードも同等のアクセス手段によって同じ場所からコピーできるようになっているならば、第三者がオブジェクトコードと一緒にソースも強制的にコピーさせられるようになっていなくてもソースコード頒布の条件を満たしているものとする。 - -4. あなたは『プログラム』を、この契約書において明確に提示された行為を除き複製や改変、サブライセンス、あるいは頒布してはならない。他に『プログラム』を複製や改変、サブライセンス、あるいは頒布する企てはすべて無効であり、この契約書の下でのあなたの権利を自動的に終結させることになろう。しかし、複製物や権利をこの契約書に従ってあなたから得た人々に関しては、そのような人々がこの契約書に完全に従っている限り彼らのライセンスまで終結することはない。 - -5. あなたはこの契約書を受諾する必要は無い。というのは、あなたはこれに署名していないからである。しかし、この契約書以外にあなたに対して『プログラム』やその派生物を変更、頒布する許可を与えるものは存在しない。これらの行為は、あなたがこの契約書を受け入れない限り法によって禁じられている。そこで、『プログラム』(あるいは『プログラム』を基にした著作物のすべて)を改変ないし頒布することにより、あなたは自分がそのような行為を行うためにこの契約書を受諾したということ、そして『プログラム』とそれに基づく著作物の複製や頒布、改変についてこの契約書が課す制約と条件をすべて受け入れたということを示したものと見なす。 - -6. あなたが『プログラム』(または『プログラム』を基にした著作物全般)を再頒布するたびに、その受領者は元々のライセンス許可者から、この契約書で指定された条件と制約の下で『プログラム』を複製や頒布、あるいは改変する許可を自動的に得るものとする。あなたは、受領者がここで認められた権利を行使することに関してこれ以上他のいかなる制限も課すことができない。あなたには、第三者がこの契約書に従うことを強制する責任はない。 - -7. 特許侵害あるいはその他の理由(特許関係に限らない)から、裁判所の判決あるいは申し立ての結果としてあなたに(裁判所命令や契約などにより)この契約書の条件と矛盾する制約が課された場合でも、あなたがこの契約書の条件を免除されるわけではない。もしこの契約書の下であなたに課せられた責任と他の関連する責任を同時に満たすような形で頒布できないならば、結果としてあなたは『プログラム』を頒布することが全くできないということである。例えば特許ライセンスが、あなたから直接間接を問わずコピーを受け取った人が誰でも『プログラム』を使用料無料で再頒布することを認めていない場合、あなたがその制約とこの契約書を両方とも満たすには『プログラム』の頒布を完全に中止するしかないだろう。 - -この節の一部分が特定の状況の下で無効ないし実施不可能な場合でも、節の残りの部分は適用されるよう意図されている。その他の状況では節が全体として適用されるよう意図されている。 - -特許やその他の財産権を侵害したり、そのような権利の主張の効力に異議を唱えたりするようあなたを誘惑することがこの節の目的ではない。この節には、人々によってライセンス慣行として実現されてきた、フリーソフトウェア頒布のシステムの完全性を護るという目的しかない。多くの人々が、フリーソフトウェアの頒布システムが首尾一貫して適用されているという信頼に基づき、このシステムを通じて頒布される多様なソフトウェアに寛大な貢献をしてきたのは事実であるが、人がどのようなシステムを通じてソフトウェアを頒布したいと思うかはあくまでも作者/寄与者次第であり、あなたが選択を押しつけることはできない。 - -この節は、この契約書のこの節以外の部分の一帰結になると考えられるケースを徹底的に明らかにすることを目的としている。 - -8. 『プログラム』の頒布や利用が、ある国においては特許または著作権が主張されたインターフェースのいずれかによって制限されている場合、『プログラム』にこの契約書を適用した元の著作権者は、そういった国々を排除した明確な地理的頒布制限を加え、そこで排除されていない国の中やそれらの国々の間でのみ頒布が許可されるようにしても構わない。その場合、そのような制限はこの契約書本文で書かれているのと同様に見なされる。 - -9. フリーソフトウェア財団は、時によって改訂または新版の一般公衆利用許諾書を発表することができる。そのような新版は現在のバージョンとその精神においては似たものになるだろうが、新たな問題や懸念を解決するため細部では異なる可能性がある。 - -それぞれのバージョンには、見分けが付くようにバージョン番号が振られている。『プログラム』においてそれに適用されるこの契約書のバージョン番号が指定されていて、更に「それ以降のいかなるバージョン」も適用して良いとなっていた場合、あなたは従う条件と制約として、指定のバージョンか、フリーソフトウェア財団によって発行された指定のバージョン以降の版のどれか一つのどちらかを選ぶことが出来る。『プログラム』でライセンスのバージョン番号が指定されていないならば、あなたは今までにフリーソフトウェア財団から発行されたバージョンの中から好きに選んで構わない。 - -10. もしあなたが『プログラム』の一部を、その頒布条件がこの契約書と異なる他のフリーなプログラムと統合したいならば、作者に連絡して許可を求めよ。フリーソフトウェア財団が著作権を保有するソフトウェアについては、フリーソフトウェア財団に連絡せよ。私たちは、このような場合のために特別な例外を設けることもある。私たちが決定を下すにあたっては、私たちのフリーソフトウェアの派生物すべてがフリーな状態に保たれるということと、一般的にソフトウェアの共有と再利用を促進するという二つの目標を規準に検討されるであろう。 - -無保証について - -11. 『プログラム』は代価無しに利用が許可されるので、適切な法が認める限りにおいて、『プログラム』に関するいかなる保証も存在しない。書面で別に述べる場合を除いて、著作権者、またはその他の団体は、『プログラム』を、表明されたか言外にかは問わず、商業的適性を保証するほのめかしやある特定の目的への適合性(に限られない)を含む一切の保証無しに「あるがまま」で提供する。『プログラム』の質と性能に関するリスクのすべてはあなたに帰属する。『プログラム』に欠陥があると判明した場合、あなたは必要な保守点検や補修、修正に要するコストのすべてを引き受けることになる。 - -12. 適切な法か書面での同意によって命ぜられない限り、著作権者、または上記で許可されている通りに『プログラム』を改変または再頒布したその他の団体は、あなたに対して『プログラム』の利用ないし利用不能で生じた一般的、特別的、偶然的、必然的な損害(データの消失や不正確な処理、あなたか第三者が被った損失、あるいは『プログラム』が他のソフトウェアと一緒に動作しないという不具合などを含むがそれらに限らない)に一切の責任を負わない。そのような損害が生ずる可能性について彼らが忠告されていたとしても同様である。 - -条件と制約終わり - -以上の条項をあなたの新しいプログラムに適用する方法 - -あなたが新しいプログラムを開発したとして、公衆によってそれが利用される可能性を最大にしたいなら、そのプログラムをこの契約書の条項に従って誰でも再頒布あるいは変更できるようフリーソフトウェアにするのが最善です。 - -そのためには、プログラムに以下のような表示を添付してください。その場合、保証が排除されているということを最も効果的に伝えるために、それぞれのソースファイルの冒頭に表示を添付すれば最も安全です。少なくとも、「著作権表示」という行と全文がある場所へのポインタだけは各ファイルに含めて置いてください。 - -<one line to give the program's name and a brief idea of what it does.>Copyright (C) <year> <name of author> - -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; either version 2 of the License, or(at your option) any later version. - -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 - -(訳: - -<プログラムの名前と、それが何をするかについての簡単な説明。>Copyright (C) <西暦年> <作者の名前> - -このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された GNU 一般公衆利用許諾契約書(バージョン2か、希望によってはそれ以降のバージョンのうちどれか)の定める条件の下で再頒布または改変することができます。 - -このプログラムは有用であることを願って頒布されますが、*全くの無保証* です。商業可能性の保証や特定の目的への適合性は、言外に示されたものも含め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。 - -あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を一部受け取ったはずです。もし受け取っていなければ、フリーソフトウェア財団まで請求してください(宛先は the Free Software Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)。 - -) - -電子ないし紙のメールであなたに問い合わせる方法についての情報も書き加えましょう。 - -プログラムが対話的なものならば、対話モードで起動した際に出力として以下のような短い告知が表示されるようにしてください: - -Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. - -(訳: - -Gnomovision バージョン 69, Copyright (C) 年 作者の名前Gnomovision は*全くの無保証*で提供されます。詳しくは「show w」とタイプして下さい。これはフリーソフトウェアであり、ある条件の下で再頒布することが奨励されています。詳しくは「show c」とタイプして下さい。 - -) - -ここで、仮想的なコマンド「show w」と「show c」は一般公衆利用許諾契約書の適切な部分を表示するようになっていなければなりません。もちろん、あなたが使うコマンドを「show w」や「show c」と呼ぶ必然性はありませんので、あなたのプログラムに合わせてマウスのクリックやメニューのアイテムにしても結構です。 - -またあなたは、必要ならば(プログラマーとして働いていたら)あなたの雇用主、あるいは場合によっては学校から、そのプログラムに関する「著作権放棄声明(copyright disclaimer)」に署名してもらうべきです。以下は例ですので、名前を変えてください: - -Yoyodyne, Inc., hereby disclaims all copyright interest in the program`Gnomovision' (which makes passes at compilers) written by James Hacker. - -<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice - -(訳: - -Yoyodyne社はここに、James Hackerによって書かれたプログラム「Gnomovision」(コンパイラへ通すプログラム)に関する一切の著作権の利益を放棄します。 - -<Ty Coon氏の署名>、1989年4月1日Ty Coon、副社長 - -) - -この一般公衆利用許諾契約書では、あなたのプログラムを独占的なプログラムに統合することを認めていません。あなたのプログラムがサブルーチンライブラリならば、独占的なアプリケーションとあなたのライブラリをリンクすることを許可したほうがより便利であると考えるかもしれません。もしこれがあなたの望むことならば、この契約書の代わりにGNU ライブラリ一般公衆利用許諾契約書を適用してください。 -</translation> + <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>詳細設定</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>ユーザインターフェイス設定</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>最近のファイルの表示数:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>起動時に前回のメディアマネージャを開く</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation>ダブルクリックで項目を直接ライブへ送る</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation>礼拝の項目の作成時に展開する</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation>終了時に確認する</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> + <translation>マウスカーソル</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">背景色:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">ファイルを開く</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">選択項目を編集</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">更新</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">説明</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished">タグ</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished">開始HTML</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished">終了HTML</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">初期設定</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished">タグID</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished">開始HTML</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished">終了HTML</translation> + </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">削除</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> - <translation type="unfinished"></translation> + <translation>更新エラー</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> - <translation type="unfinished"></translation> + <translation>タグ「n」は既に定義されています。</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> - <translation type="unfinished"></translation> + <translation>タグ「%s」は既に定義されています。</translation> </message> </context> <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> - <translation type="unfinished"></translation> + <translation>エラーが発生しました</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> - <translation type="unfinished"></translation> + <translation>OpenLPは問題に直面し、復旧する事ができませんでした。以下に表示される情報は、開発者が問題を修正するのに役に立つかも知れません。bugs@openlp.orgに以下のエラーメッセージと問題が発生するまでの手順を送ってくださると光栄です。</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation>Eメールで送る</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation>ファイルに保存</translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation>この問題が発生するまで何をしていたかをご入力ください。 +(20文字以内。お手数ですが、英語でお願い致します。)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation>ファイルを添付</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation>説明 : %s</translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> - <translation type="unfinished"></translation> + <translation>プラットフォーム</translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>クラッシュ報告の保存</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>テキストファイル (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s </source> - <translation type="unfinished"></translation> + <translation>(英語での入力をお願い致します) +**OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s</translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished">クラッシュ報告の保存</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished">テキストファイル (*.txt *.log *.text)</translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -2129,153 +1576,166 @@ Version: %s %s </source> <comment>Please add the information that bug reports are favoured written in English.</comment> - <translation type="unfinished"></translation> + <translation>(お手数ですが、英語での入力をお願い致します) +*OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s</translation> </message> </context> <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> - <translation type="unfinished"></translation> + <translation>ファイル名</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> - <translation type="unfinished"></translation> + <translation>新しいファイル名:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> - <translation type="unfinished"></translation> + <translation>ファイルをコピー</translation> </message> </context> <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>一般</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>モニタ</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> - <translation type="unfinished">画面出力に使用するスクリーン:</translation> + <translation>画面出力に使用するスクリーン:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation>スクリーンが1つしかなくても表示する</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> - <translation type="unfinished"></translation> + <translation>アプリケーションの起動</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> - <translation type="unfinished"></translation> + <translation>警告中には、ブランク画面を表示する</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> - <translation type="unfinished">自動的に前回の礼拝を開く</translation> + <translation>自動的に前回の礼拝を開く</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>スプラッシュスクリーンを表示</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> - <translation type="unfinished"></translation> + <translation>アプリケーションの設定</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> - <translation type="unfinished"></translation> + <translation>新しい礼拝を開く前に保存を確認する</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> - <translation type="unfinished">自動的に次の項目をプレビューする</translation> + <translation>自動的に次の項目をプレビューする</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> - <translation type="unfinished"></translation> + <translation>スライド繰返の遅延:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation>秒</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> - <translation type="unfinished"></translation> + <translation>CCLI詳細</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> - <translation type="unfinished"></translation> + <translation>SongSelect ユーザー名:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> - <translation type="unfinished"></translation> + <translation>SongSelect パスワード:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>表示位置</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>高</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>幅</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>表示位置を変更する</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> - <translation type="unfinished"></translation> + <translation>スクリーン</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> - <translation type="unfinished"></translation> + <translation>プライマリ</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation>OpenLPのバージョン更新の確認</translation> </message> </context> <context> @@ -2294,419 +1754,386 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> - <translation type="unfinished"></translation> + <translation>OpenLP ディスプレイ</translation> </message> </context> <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>ファイル(&F)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>インポート(&I)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>エクスポート(&E)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>表示(&V)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>モード(&O)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>ツール(&T)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>設定(&S)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>言語(&L)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>ヘルプ(&H)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>メディアマネージャ</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>礼拝マネージャ</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>テーママネージャ</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>新規作成(&N)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished">新しい礼拝</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>開く(&O)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> - <translation type="unfinished"></translation> + <translation>存在する礼拝を開きます。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>保存(&S)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished">礼拝の保存</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> - <translation type="unfinished">現在の礼拝をディスクに保存します。</translation> + <translation>現在の礼拝をディスクに保存します。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>名前を付けて保存(&A)...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> - <translation type="unfinished"></translation> + <translation>名前をつけて礼拝を保存</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> - <translation type="unfinished"></translation> + <translation>現在の礼拝を新しい名前で保存します。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>終了(&X)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> - <translation type="unfinished"></translation> + <translation>Open LPを終了</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>テーマ(&T)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>OpenLPの設定(&C)...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>メディアマネージャ(&M)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> - <translation type="unfinished"></translation> + <translation>メディアマネジャーを切り替える</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> - <translation type="unfinished"></translation> + <translation>メディアマネジャーの可視性を切り替える。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>テーママネージャ(&T)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> - <translation type="unfinished"></translation> + <translation>テーママネジャーの切り替え</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> - <translation type="unfinished"></translation> + <translation>テーママネジャーの可視性を切り替える。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> - <translation type="unfinished">礼拝マネージャ(&S)</translation> + <translation>礼拝マネジャー(&S)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> - <translation type="unfinished"></translation> + <translation>礼拝マネジャーを切り替え</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> - <translation type="unfinished"></translation> + <translation>礼拝マネジャーの可視性を切り替える。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> - <translation type="unfinished"></translation> + <translation>礼拝マネジャー</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> - <translation type="unfinished">プレビューパネル(&P)</translation> + <translation>プレビューパネル(&P)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> - <translation type="unfinished"></translation> + <translation>プレビューパネルの切り替え</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> - <translation type="unfinished"></translation> + <translation>プレビューパネルの可視性を切り替える。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> - <translation type="unfinished">ライブパネル(&L)</translation> + <translation>ライブパネル(&L)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> - <translation type="unfinished"></translation> + <translation>ライブパネルの切り替え</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> - <translation type="unfinished"></translation> + <translation>ライブパネルの可視性を切り替える。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>プラグイン一覧(&P)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> - <translation type="unfinished"></translation> + <translation>プラグイン一覧</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> - <translation type="unfinished">ユーザガイド(&U)</translation> + <translation>ユーザガイド(&U)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>バージョン情報(&A)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> - <translation type="unfinished"></translation> + <translation>OpenLPの詳細情報</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>オンラインヘルプ(&O)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>ウェブサイト(&W)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>自動検出(&A)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> - <translation type="unfinished"></translation> + <translation>システム言語を可能であれば使用します。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> - <translation type="unfinished"></translation> + <translation>インターフェイス言語を%sに設定</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>ツールの追加(&T)...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> - <translation type="unfinished"></translation> + <translation>ツールの一覧にアプリケーションを追加。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> - <translation type="unfinished">デフォルト(&D)</translation> + <translation>デフォルト(&D)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> - <translation type="unfinished"></translation> + <translation>表示モードを既定に戻す。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>設定(&S)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> - <translation type="unfinished"></translation> + <translation>ビューモードに設定します。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>ライブ(&L)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> - <translation type="unfinished">表示モードをライブにします。</translation> + <translation>表示モードをライブにします。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> - <translation type="unfinished"></translation> + <translation>OpenLPのバージョン%sがダウンロード可能です。(現在ご利用のバージョンは%Sです。) + +http://openlp.org/から最新版がダウンロード可能です。</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> - <translation type="unfinished"></translation> + <translation>OpenLPのバージョンアップ完了</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> - <translation type="unfinished"></translation> + <translation>OpenLPのプライマリディスプレイがブランクです</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> - <translation type="unfinished"></translation> + <translation>OpenLPのプライマリディスプレイがブランクになりました</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> - <translation type="unfinished"></translation> + <translation>既定テーマ</translation> </message> <message> <location filename="openlp/core/utils/languagemanager.py" line="84"/> @@ -2715,101 +2142,101 @@ You can download the latest version from http://openlp.org/.</source> <translation>日本語</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> - <translation type="unfinished">ショートカットの設定(&S)...</translation> + <translation>ショートカットの設定(&S)...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation>OpenLPの終了</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation>本当にOpenLPを終了してもよろしいですか?</translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation>現在の礼拝順序を印刷します。</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> - <translation type="unfinished"></translation> + <translation>項目の選択がありません</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> - <translation type="unfinished"></translation> + <translation>選択された礼拝項目を追加(&A</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> - <translation type="unfinished"></translation> + <translation>プレビューを見るには、一つ以上の項目を選択してください。</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> - <translation type="unfinished"></translation> + <translation>ライブビューを見るには、一つ以上の項目を選択してください。</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> - <translation type="unfinished"></translation> + <translation>一つ以上の項目を選択してください。</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> - <translation type="unfinished"></translation> + <translation>追加するには、既存の礼拝項目を選択してください。</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> - <translation type="unfinished"></translation> + <translation>無効な礼拝項目</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> - <translation type="unfinished">%sの項目を選択してください。</translation> + <translation>%sの項目を選択してください。</translation> </message> </context> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>プラグイン一覧</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>プラグイン詳細</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>バージョン:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>情報:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2826,246 +2253,327 @@ You can download the latest version from http://openlp.org/.</source> <translation>無効</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (無効)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (有効)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> - <translation type="unfinished">%s (不能)</translation> + <translation>%s (無効)</translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished">礼拝順序シート</translation> </message> </context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation>礼拝項目を並べ替え</translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>削除</translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished">新しい礼拝</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished">新しい礼拝を作成</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished">礼拝を開く</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> - <translation type="unfinished"></translation> + <translation>既存の礼拝を読み込む</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished">礼拝の保存</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> - <translation type="unfinished">礼拝を保存</translation> + <translation>礼拝を保存</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>テーマ:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> - <translation type="unfinished">礼拝のテーマを選択</translation> + <translation>礼拝のテーマを選択</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> - <translation type="unfinished"></translation> + <translation>一番上に移動(&t)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> - <translation type="unfinished">選択した項目を最も上に移動</translation> + <translation>選択した項目を最も上に移動する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> - <translation type="unfinished"></translation> + <translation>一つ上に移動(&u)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> - <translation type="unfinished">選択した項目を1つ上に移動</translation> + <translation>選択した項目を1つ上に移動する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> - <translation type="unfinished"></translation> + <translation>一つ下に移動(&d)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> - <translation type="unfinished">選択した項目を1つ下に移動</translation> + <translation>選択した項目を1つ下に移動する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> - <translation type="unfinished"></translation> + <translation>一番下に移動(&b)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> - <translation type="unfinished">選択した項目を最も下に移動</translation> + <translation>選択した項目を最も下に移動する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> - <translation type="unfinished">削除(&D)</translation> + <translation>削除(&D)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> - <translation type="unfinished">選択した項目を礼拝から削除</translation> + <translation>選択した項目を礼拝から削除する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> - <translation type="unfinished"></translation> + <translation>新しい項目を追加(&A)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> - <translation type="unfinished"></translation> + <translation>選択された項目を追加(&A)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>項目の編集(&E)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> - <translation type="unfinished">項目を並べ替え(&R)</translation> + <translation>項目を並べ替え(&R)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> - <translation type="unfinished">ノート(&N)</translation> + <translation>メモ(&N)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished">プレビュー(&P)</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished">ライブ(&L)</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>項目のテーマを変更(&C)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation>礼拝ファイルが有効でありません。 エンコードがUTF-8でありません。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation>礼拝ファイルが有効でありません。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> - <translation type="unfinished"></translation> + <translation>ディスプレイハンドラが見つかりません</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> - <translation type="unfinished"></translation> + <translation>ディスプレイハンドラが見つからないため項目を表示する事ができません</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> - <translation type="unfinished"></translation> + <translation>必要なプラグインが見つからないか無効なため、項目を表示する事ができません</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> - <translation type="unfinished"></translation> + <translation>すべて展開(&E)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> - <translation>全ての項目を展開する</translation> + <translation>全ての項目を展開する。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> - <translation type="unfinished"></translation> + <translation>すべて折り畳む(&C)</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> - <translation>全ての項目を折り畳む</translation> + <translation>全ての項目を折り畳みます。</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation>変更を保存</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation>現在の礼拝は変更されています。保存しますか?</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation>ファイルを開く</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation>OpenLP 礼拝ファイル (*.osz)</translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation>選択をウィンドウの下に移動する。</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation>上に移動</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation>選択をウィンドウの上に移動する。</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation>ライブへGO</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation>選択された項目をライブ表示する。</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation>礼拝の編集</translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation>メモ:</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> - <translation>礼拝項目ノート</translation> + <translation>礼拝項目メモ</translation> </message> </context> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>OpenLPの設定</translation> </message> @@ -3075,782 +2583,1164 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> <source>Customize Shortcuts</source> - <translation type="unfinished"></translation> + <translation>ショートカットのカスタマイズ</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Action</source> - <translation type="unfinished">動作</translation> + <translation>動作</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Shortcut</source> - <translation type="unfinished">ショートカット</translation> + <translation>ショートカット</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> - <translation type="unfinished"></translation> + <translation>既定: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> - <translation type="unfinished"></translation> + <translation>カスタム:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>指定なし</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>Duplicate Shortcut</source> - <translation type="unfinished"></translation> + <translation>ショートカットの重複</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation>このショートカット"%s"は既に他の動作に割り振られています。他のショートカットをご利用ください。</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>前へ移動</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>次へ移動</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> - <translation type="unfinished"></translation> + <translation>隠す</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>ライブへ移動</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation>編集し再読み込み</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> - <translation type="unfinished"></translation> + <translation>繰り返し再生を開始</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished">秒</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> - <source>Delay between slides in seconds</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> - <source>Start playing media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> - <source>Go To</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> - <source>Blank Screen</source> - <translation type="unfinished">黒</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> - <source>Blank to Theme</source> - <translation type="unfinished">テーマの背景</translation> + <translation>繰り返し再生を停止</translation> </message> <message> <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <source>Delay between slides in seconds</source> + <translation>次のスライドまでの遅延</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <source>Start playing media</source> + <translation>メディア再生を開始</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> + <source>Go To</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> + <source>Blank Screen</source> + <translation>スクリーンをブランク</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> + <source>Blank to Theme</source> + <translation>テーマをブランク</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> - <translation type="unfinished">デスクトップ</translation> + <translation>デスクトップを表示</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation>前スライド</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation>次スライド</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation>前の礼拝</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation>次の礼拝</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation>項目をエスケープ</translation> </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> + <translation>綴りの推奨</translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation>タグフォーマット</translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> - <source>Formatting Tags</source> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation>全てのファイル</translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> - <translation type="unfinished"></translation> + <translation>画像の選択</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> - <translation type="unfinished"></translation> + <translation>テーマ名が不明です</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> - <translation type="unfinished"></translation> + <translation>テーマ名がありません。入力してください。</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> - <translation type="unfinished"></translation> + <translation>無効なテーマ名</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> - <translation type="unfinished"></translation> + <translation>無効なテーマ名です。入力してください。</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> - <translation type="unfinished"></translation> + <translation>(一枚のスライドに付き%d行)</translation> </message> </context> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished">新しいテーマ</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> - <translation type="unfinished"></translation> + <translation>新しいテーマを作成する。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> - <translation type="unfinished"></translation> + <translation>テーマ編集</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> - <translation type="unfinished"></translation> + <translation>テーマの編集する。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> - <translation type="unfinished"></translation> + <translation>テーマ削除</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> - <translation type="unfinished"></translation> + <translation>テーマの削除する。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> - <translation type="unfinished"></translation> + <translation>テーマインポート</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> - <translation type="unfinished"></translation> + <translation>テーマのインポートをする。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> - <translation type="unfinished"></translation> + <translation>テーマのエキスポート</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> - <translation type="unfinished"></translation> + <translation>テーマのエキスポートをする。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> - <translation type="unfinished"></translation> + <translation>テーマの編集(&E)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> - <translation type="unfinished"></translation> + <translation>テーマの削除(&D)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> - <translation type="unfinished"></translation> + <translation>全体の既定として設定(&G))</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> - <translation type="unfinished"></translation> + <translation>%s (既定)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> - <translation type="unfinished"></translation> + <translation>編集するテーマを選択してください。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> - <translation type="unfinished"></translation> + <translation>既定のテーマを削除する事はできません。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> - <translation type="unfinished"></translation> + <translation>%s プラグインでこのテーマは利用されています。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> - <translation type="unfinished"></translation> + <translation>テーマの選択がありません。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> - <translation type="unfinished"></translation> + <translation>テーマを保存 - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> - <translation type="unfinished"></translation> + <translation>テーマエキスポート</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> - <translation type="unfinished"></translation> + <translation>テーマは正常にエキスポートされました。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> - <translation type="unfinished"></translation> + <translation>テーマのエキスポート失敗</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> - <translation type="unfinished"></translation> + <translation>エラーが発生したためテーマは、エキスポートされませんでした。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> - <translation type="unfinished"></translation> + <translation>インポート対象のテーマファイル選択</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> - <translation type="unfinished"></translation> + <translation>ファイルは無効なテーマです。文字コードがUTF-8ではありません。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> - <translation type="unfinished"></translation> + <translation>無効なテーマファイルです。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> - <translation type="unfinished"></translation> + <translation>テーマのコピー(&C)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> - <translation type="unfinished"></translation> + <translation>テーマの名前を変更(&N)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> - <translation type="unfinished"></translation> + <translation>テーマのエキスポート(&E)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> - <translation type="unfinished"></translation> + <translation>名前を変更するテーマを選択してください。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> - <translation type="unfinished"></translation> + <translation>名前変更確認</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> - <translation type="unfinished"></translation> + <translation>%sテーマの名前を変更します。宜しいですか?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> - <translation type="unfinished"></translation> + <translation>削除するテーマを選択してください。</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> - <translation type="unfinished"></translation> + <translation>削除確認</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> - <translation type="unfinished"></translation> + <translation>%s テーマを削除します。宜しいですか?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> - <translation type="unfinished"></translation> + <translation>検証エラー</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> + <translation>同名のテーマが既に存在します。</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>テーマガイド</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>テーマガイドをようこそ</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> - <translation type="unfinished"></translation> + <translation>背景設定</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> - <translation type="unfinished"></translation> + <translation>以下の項目に応じて、テーマに使用する背景を設定してください。</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation>背景の種類:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation>単色</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation>グラデーション</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation>画像</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation>色:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> - <translation type="unfinished">グラデーション:</translation> + <translation>グラデーション:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation>横</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation>縦</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation>放射状</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation>左上 - 右下</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation>左下 - 右上</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation>画像:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> - <translation type="unfinished"></translation> + <translation>中央表示エリアのフォント詳細</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> - <translation type="unfinished"></translation> + <translation>中央エリアの表示のための文字設定とフォントを定義してください</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation>フォント:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> - <translation type="unfinished">大きさ:</translation> + <translation>文字サイズ:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> - <translation type="unfinished"></translation> + <translation>文字間:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> - <translation type="unfinished"></translation> + <translation>アウトライン(&O):</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> - <translation type="unfinished"></translation> + <translation>影(&S):</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation>太字</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation>斜体</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> - <translation type="unfinished"></translation> + <translation>フッターフォント詳細</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> - <translation type="unfinished"></translation> + <translation>フッター表示のための文字設定とフォントを定義してください</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> - <translation type="unfinished"></translation> + <translation>テキストフォーマット詳細</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> - <translation type="unfinished"></translation> + <translation>追加の表示フォーマット情報が定義される事を許可する</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation>水平位置:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation>左揃え</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation>右揃え</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation>中央揃え</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation>垂直位置:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation>上揃え</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation>中央揃え</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation>下揃え</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> - <translation type="unfinished"></translation> + <translation>出力エリアの場所</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> - <translation type="unfinished"></translation> + <translation>中央エリアとフッターエリアの場所が変更される事を許可する。</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> - <translation type="unfinished"></translation> + <translation>中央エリア(&M)</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> - <translation type="unfinished"></translation> + <translation>既定の場所を使う(&U)</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation>X位置:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation>Y位置:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation>幅:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation>高:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> - <translation type="unfinished"></translation> + <translation>既定の場所を使う</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> - <translation type="unfinished"></translation> + <translation>保存とプレビュー</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> - <translation type="unfinished"></translation> + <translation>テーマを表示し、現在のテーマを置き換えるか名前を変更して新しいテーマを作成し、保存する</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation>テーマ名:</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation>新しいテーマ</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> - <translation type="unfinished"></translation> + <translation>このガイドは、あなたのテーマを作成編集する手助けをします。次へをクリックして、背景を選択してください。</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> - <translation type="unfinished"></translation> + <translation>切り替え:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> - <translation type="unfinished"></translation> + <translation>フッター(&F)</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> - <translation type="unfinished"></translation> + <translation>テーマ編集 - %s</translation> </message> </context> <context> <name>OpenLP.ThemesTab</name> - <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>テーマ</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> - <source>Global Theme</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/themestab.py" line="104"/> - <source>Theme Level</source> - <translation type="unfinished"></translation> + <source>Global Theme</source> + <translation>全体テーマ</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="106"/> - <source>S&ong Level</source> - <translation type="unfinished"></translation> + <source>Theme Level</source> + <translation>テーマレベル</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="108"/> - <source>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.</source> - <translation type="unfinished"></translation> + <source>S&ong Level</source> + <translation>歌レベル(&O)</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> - <source>&Service Level</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themestab.py" line="110"/> + <source>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.</source> + <translation>データベース内のそれぞれの歌のテーマを使用します。歌にテーマが設定されていない場合、礼拝のテーマを使用します。礼拝にテーマが設定されていなければ、全体設定のテーマを使用します。</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="115"/> - <source>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.</source> - <translation type="unfinished"></translation> + <source>&Service Level</source> + <translation>礼拝レベル(&S)</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> - <source>&Global Level</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themestab.py" line="117"/> + <source>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.</source> + <translation>礼拝のテーマを用い、歌個々のテーマを上書きします。礼拝にテーマが設定されていなければ、全体設定のテーマを使用します。</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="121"/> + <source>&Global Level</source> + <translation>全体レベル(&G)</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> - <translation type="unfinished"></translation> + <translation>全体テーマを用い、すべての礼拝や歌に関連付けられたテーマを上書きします。</translation> </message> </context> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> - <translation type="unfinished">エラー</translation> + <translation>エラー</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation>削除(&D)</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation>選択された項目を削除。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation>選択された項目を一つ上げる。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation>選択された項目を一つ下げる。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">情報</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">追加(&A)</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">全てのファイル</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">参照...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">キャンセル</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">CCLI番号:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">新規礼拝を作成します。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">編集(&E)</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">画像</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">インポート</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">ライブ</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished">ライブ背景エラー</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">読み込み</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished">新規</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">新しい礼拝</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">新しいテーマ</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">項目の選択がありません</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">礼拝を開く</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">プレビュー</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished">礼拝順序を印刷</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">ライブの背景を置換</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished">背景をリセット</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">ライブの背景をリセット</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">秒</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">検索</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished">削除する項目を選択してください。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">項目を編集してください。</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">礼拝の保存</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">礼拝</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">テーマ</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">テーマ</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">書式:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">"%s"をインポート中...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">The openlp.org 1.xの取込機能が、Pythonの拡張機能がないためオフになっています。取込機能をお使いになられる場合、python-sqlite拡張機能をインストール必要があります。</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">完了。</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">選択した聖書を礼拝に追加へようこそ</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">歌インポートガイドへようこそ</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">アーティスト</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">アルバム</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">アルバム</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">歌の保守</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">題目</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">題目</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation><strong>プレゼンテーションプラグイン</strong><br />プレゼンテーションプラグインは、外部のプログラムを使用してプレゼンテーションを表示する機能を提供します。使用可能なプログラムは、ドロップダウンボックスから選択できます。</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished">読み込み</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation>新しいプレゼンテーションを読み込み</translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation>削除</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation>選択したプレゼンテーションを削除</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation>選択したプレゼンテーションをプレビュー</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation>選択したプレゼンテーションをライブへ送る</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished">礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation>選択したプレゼンテーションを礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation>プレゼンテーション</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation>プレゼンテーション</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation>プレゼンテーション</translation> @@ -3859,105 +3749,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> - <translation type="unfinished"></translation> + <translation>プレゼンテーション選択</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> - <translation type="unfinished"></translation> + <translation>自動</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> - <translation type="unfinished"></translation> + <translation>使用プレゼン:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> - <translation type="unfinished"></translation> + <translation>ファイルが存在します</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> - <translation type="unfinished"></translation> + <translation>そのファイル名のプレゼンテーションは既に存在します。</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> - <translation type="unfinished"></translation> + <translation>サポートされていないファイル</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> - <translation type="unfinished"></translation> + <translation>このタイプのプレゼンテーションはサポートされておりません。</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> - <translation type="unfinished">プレゼンテーション (%s)</translation> + <translation>プレゼンテーション (%s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> - <translation type="unfinished"></translation> + <translation>不明なプレゼンテーション</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> - <translation type="unfinished"></translation> + <translation>プレゼンテーション%sが見つかりません。</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation>プレゼンテーション%sは不完全です。再度読み込んでください。</translation> </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>使用可能なコントローラ</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>詳細設定</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> - <translation type="unfinished"></translation> + <translation>プレゼンテーションアプリケーションに上書きを許可</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation><strong>遠隔操作プラグイン</strong><br />遠隔操作プラグインは、ウェブブラウザや遠隔操作APIを使用して、他のコンピュータ上のOpenLPを操作する機能を提供します。</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation>遠隔操作</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation>遠隔操作</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation>遠隔操作</translation> @@ -3986,984 +3871,741 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="64"/> <source>&Song Usage Tracking</source> - <translation type="unfinished"></translation> + <translation>歌の利用記録(&S)</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/> <source>&Delete Tracking Data</source> - <translation type="unfinished"></translation> + <translation>利用記録を削除(&D)</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="70"/> <source>Delete song usage data up to a specified date.</source> - <translation type="unfinished"></translation> + <translation>削除する利用記録の対象となるまでの日付を指定してください。</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/> <source>&Extract Tracking Data</source> - <translation type="unfinished"></translation> + <translation>利用記録の抽出(&E)</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="77"/> <source>Generate a report on song usage.</source> - <translation type="unfinished"></translation> + <translation>利用記録のレポートを出力する。</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/> <source>Toggle Tracking</source> - <translation type="unfinished"></translation> + <translation>記録の切り替え</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/> <source>Toggle the tracking of song usage.</source> - <translation type="unfinished"></translation> + <translation>歌の利用記録の切り替える。</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="167"/> <source><strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.</source> - <translation type="unfinished"></translation> + <translation><strong>SongUsage Plugin</strong><br />このプラグインは、歌の利用頻度を記録します。</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="178"/> <source>SongUsage</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>利用記録</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="180"/> <source>SongUsage</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation>利用記録</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="185"/> <source>SongUsage</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation>利用記録</translation> </message> </context> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> - <translation type="unfinished"></translation> + <translation>利用記録削除</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> <source>Delete Selected Song Usage Events?</source> - <translation type="unfinished"></translation> + <translation>選択された歌の利用記録を削除しますか?</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> <source>Are you sure you want to delete selected Song Usage data?</source> - <translation type="unfinished"></translation> + <translation>選択された歌の利用記録を削除します。よろしいですか?</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation>正常に削除されました</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation>正常に削除されました。</translation> </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> - <translation type="unfinished"></translation> + <translation>歌利用記録の抽出</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> - <translation type="unfinished"></translation> + <translation>歌利用の期間</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> - <translation type="unfinished"></translation> + <translation>から</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> - <source>Output File Location</source> - <translation type="unfinished"></translation> + <translation>レポートの出力</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <source>Output File Location</source> + <translation>レポートの出力場所</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> - <translation type="unfinished"></translation> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation>レポート生成</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation>レポート + %s + - は正常に生成されました。</translation> </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>歌(&S)</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation>インポートウィザードを使用して歌をインポートします。</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation><strong>歌プラグイン</strong><br />歌プラグインは、歌を表示し管理する機能を提供します。</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation>歌のインデックスを再作成(&R)</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation>歌データベースのインデックスを再作成し、検索や並べ替えを速くします。</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation>歌のインデックスを再作成中...</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation>キャンセル</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation>追加</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation>歌を追加</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation>編集</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation>選択した歌を編集</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation>削除</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation>選択した歌を削除</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation>プレビュー</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation>選択した歌をプレビュー</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation>ライブ</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation>選択した歌をライブへ送る</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation>礼拝</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation>選択した歌を礼拝に追加</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation>歌</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation>歌</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation>歌</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> - <translation type="unfinished"></translation> + <translation>文字コード</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> - <translation type="unfinished"></translation> + <translation>文字コード設定は、文字が正常に表示されるのに必要な設定です。通常、既定設定で問題ありません。</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> + <translation>文字コードを選択してください。文字が正常に表示されるのに必要な設定です。</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> - <translation type="unfinished"></translation> + <translation>アーティストを保守</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> - <translation type="unfinished"></translation> + <translation>表示名:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> - <translation type="unfinished"></translation> + <translation>名:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> - <translation type="unfinished"></translation> + <translation>姓:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/authorsform.py" line="83"/> <source>You need to type in the first name of the author.</source> - <translation type="unfinished"></translation> + <translation>名を入力してください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> - <translation type="unfinished"></translation> + <translation>姓を入力してください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> - <translation type="unfinished"></translation> + <translation>表示名が設定されていません。名と姓を合わせますか?</translation> </message> </context> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> - <translation>歌(%d/%d)をインポートしています...</translation> + <translation>歌(%d/%d)をインポートしています</translation> </message> </context> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> - <translation type="unfinished"></translation> + <translation>ソングエディタ</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> - <translation type="unfinished"></translation> + <translation>タイトル(&T):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> - <translation type="unfinished"></translation> + <translation>サブタイトル(&e):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> - <translation type="unfinished"></translation> + <translation>歌詞(&L):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> - <translation type="unfinished"></translation> + <translation>節順(&V):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>追加(&A)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>編集(&E)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation>全て編集(&E)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>削除(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> - <translation type="unfinished"></translation> + <translation>タイトル && 歌詞</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> - <translation type="unfinished"></translation> + <translation>歌に追加(&A)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> - <translation type="unfinished"></translation> + <translation>削除(&R)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> - <translation type="unfinished"></translation> + <translation>アーティスト、題目、アルバムを管理(&M)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> - <translation type="unfinished"></translation> + <translation>歌に追加(&A)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> - <translation type="unfinished"></translation> + <translation>削除(&e)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> - <translation type="unfinished">書名:</translation> + <translation>書名:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> - <translation type="unfinished"></translation> + <translation>ナンバー:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> - <translation type="unfinished"></translation> + <translation>アーティスト、題目 && アルバム</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>テーマ</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>新しいテーマ(&N)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> - <translation type="unfinished">著作権情報</translation> + <translation>著作権情報</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>コメント</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> - <translation type="unfinished"></translation> + <translation>テーマ、著作情報 && コメント</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> - <translation type="unfinished"></translation> + <translation>アーティストを追加</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> - <translation type="unfinished"></translation> + <translation>アーティストが存在しません。追加しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> - <translation type="unfinished"></translation> + <translation>既にアーティストは一覧に存在します。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> - <translation type="unfinished"></translation> + <translation>有効なアーティストを選択してください。一覧から選択するか新しいアーティストを入力し、"歌にアーティストを追加"をクリックしてください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> - <translation type="unfinished"></translation> + <translation>トピックを追加</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> - <translation type="unfinished"></translation> + <translation>このトピックは存在しません。追加しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> - <translation type="unfinished"></translation> + <translation>このトピックは既に存在します。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> - <translation type="unfinished"></translation> + <translation>有効なトピックを選択してください。一覧から選択するか新しいトピックを入力し、"歌にトピックを追加"をクリックしてください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> - <translation type="unfinished"></translation> + <translation>歌のタイトルを入力する必要があります。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> - <translation type="unfinished"></translation> + <translation>最低一つのバースを入力する必要があります。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> - <translation type="unfinished"></translation> + <translation>警告</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> - <translation type="unfinished"></translation> + <translation>バース順序が無効です。%sに対応するバースはありません。%sは有効です。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> - <translation type="unfinished"></translation> + <translation>%sはバース順序で使われていません。本当にこの歌を保存しても宜しいですか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> - <translation type="unfinished"></translation> + <translation>アルバムを追加</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> - <translation type="unfinished"></translation> + <translation>アルバムが存在しません、追加しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> - <translation type="unfinished"></translation> + <translation>アーティストを入力する必要があります。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> - <translation type="unfinished"></translation> + <translation>バースにテキストを入力する必要があります。</translation> </message> </context> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> - <translation type="unfinished"></translation> + <translation>バース編集</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> - <translation type="unfinished"></translation> + <translation>バースのタイプ(&):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation>挿入(&I)</translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> - <source>Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> - <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation>書式:</translation> + <translation>ドキュメント/プレゼンテーションファイル選択</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> + <source>Song Import Wizard</source> + <translation>歌インポートガイド</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation>このガイドは、様々なフォーマットの歌をインポートする手助けをします。次へをクリックし、インポートするファイルのフォーマットを選択してください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> - <translation type="unfinished"></translation> + <translation>汎用ドキュメント/プレゼンテーション</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation>ファイル名:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> - <translation type="unfinished"></translation> + <translation>OpenLyricsのインポートは未開発です。次のバージョンにご期待ください。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> - <source>Remove File(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> - <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> - <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> - <source>Please wait while your songs are imported.</source> - <translation type="unfinished"></translation> + <translation>ファイルの追加...</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation>完了。</translation> + <source>Remove File(s)</source> + <translation>ファイルの削除</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation>Songs of Fellowshipの取込み機能は、お使いのパソコンにOpenOffice.orgがインストールされていないためご利用になれません。</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation>汎用的なドキュメント/プレゼンテーション取込機能は、お使いのパソコンにOpenOffice.orgがインストールされていないためご利用になれません。</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished">%s をインポートしています...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation>歌がインポートされるまでしばらくお待ちください。</translation> </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> - <translation type="unfinished"></translation> + <translation>%s によって管理されています</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation>全てのファイル</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation>OpenLP 2.0 データベース</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation>openlp.org v1.x データベース</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> + <translation></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> - <translation type="unfinished">SongBeamer ファイル</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4971,311 +4613,216 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> - <translation type="unfinished"></translation> + <translation>アーティスト、トピックとアルバムの一覧を保守</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished">検索:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished">検索</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> - <translation type="unfinished"></translation> + <translation>タイトル</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> - <translation type="unfinished"></translation> + <translation>歌詞</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> - <translation type="unfinished"></translation> + <translation>これらの歌を削除しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> - <translation type="unfinished"></translation> + <translation>CCLI ライセンス:</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> - <translation type="unfinished"></translation> + <translation>歌全体</translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>選択された%n件の歌を削除します。宜しいですか?</numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">テーマ</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> - <translation type="unfinished">歌(%d/%d)をインポートしています。</translation> + <translation>歌(%d/%d)をインポートしています。</translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">%s をインポートしています...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation>%s をインポートしています...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> - <translation type="unfinished"></translation> + <translation>アルバムの保守</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> - <translation type="unfinished"></translation> + <translation>名前(&N):</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> - <translation type="unfinished"></translation> + <translation>発行元(&P):</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> <source>You need to type in a name for the book.</source> + <translation>アルバム名を入力してください。</translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> + <translation>著作権</translation> </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> - <translation type="unfinished"></translation> + <translation>歌のインポートに失敗しました。</translation> </message> </context> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished">追加(&A)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished">編集(&E)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished">削除(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> - <translation type="unfinished"></translation> + <translation>アーティストが追加できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> - <translation type="unfinished"></translation> + <translation>このアーティストは既に登録されています。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> - <translation type="unfinished"></translation> + <translation>トピックの追加に失敗しました。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> - <translation type="unfinished"></translation> + <translation>トピックが既に存在します。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> - <translation type="unfinished"></translation> + <translation>アルバムが追加できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> - <translation type="unfinished"></translation> + <translation>既にこのアルバムが存在します。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> - <translation type="unfinished"></translation> + <translation>変更が保存できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> - <translation type="unfinished"></translation> + <translation>既にアーティストが登録されているため、変更を保存できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> - <translation type="unfinished"></translation> + <translation>既に題目登録されているため、変更を保存できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> - <translation type="unfinished"></translation> + <translation>アーティスト削除</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> - <translation type="unfinished"></translation> + <translation>選択されたアーティストを削除しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation>最低一つの歌に割り振られているため、このアーティストを削除できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> - <translation type="unfinished"></translation> + <translation>トピックの削除</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> - <translation type="unfinished"></translation> + <translation>選択されたトピックを削除しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation>最低一つの歌に割り振られているため、このトピックを削除できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> - <translation type="unfinished"></translation> + <translation>アルバム削除</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> - <translation type="unfinished"></translation> + <translation>選択されたアルバムを削除しますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation>最低一つの歌に割り振られているため、このアルバムを削除できませんでした。</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> - <translation type="unfinished"></translation> + <translation>アーティスト%sは既に存在します。既存のアーティスト%sを用い、アーティスト%sで歌を作りますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> - <translation type="unfinished"></translation> + <translation>題目%sは既に存在します。既存の題目%sを用い、題目%sで歌を作りますか?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> - <translation type="unfinished"></translation> + <translation>アルバム%sは既に存在します。既存のアルバム%sを用い、アルバム%sで歌を作りますか?</translation> </message> </context> <context> @@ -5283,91 +4830,83 @@ The encoding is responsible for the correct character representation.</source> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> <source>Songs Mode</source> - <translation type="unfinished"></translation> + <translation>歌モード</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> <source>Enable search as you type</source> - <translation type="unfinished"></translation> + <translation>入力と同時に検索する</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> <source>Display verses on live tool bar</source> - <translation type="unfinished"></translation> + <translation>ライブツールバーにバースを表示</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> <source>Update service from song edit</source> - <translation type="unfinished">編集後に礼拝を更新</translation> + <translation>編集後に礼拝を更新</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> <source>Add missing songs when opening service</source> - <translation type="unfinished"></translation> + <translation>礼拝を開いたときに存在しない歌を追加</translation> </message> </context> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> - <translation type="unfinished"></translation> + <translation>題目保守</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> - <translation type="unfinished"></translation> + <translation>題目名:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> <source>You need to type in a topic name.</source> - <translation type="unfinished"></translation> + <translation>題目名を入力してください。</translation> </message> </context> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> - <translation type="unfinished"></translation> + <translation>バース</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> <source>Chorus</source> - <translation type="unfinished"></translation> + <translation>コーラス</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation>ブリッジ</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation>間奏</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> - <source>Bridge</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> - <source>Pre-Chorus</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> <source>Intro</source> - <translation type="unfinished"></translation> + <translation>序奏</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> - <translation type="unfinished"></translation> + <translation>エンディング</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation>その他</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/ko.ts b/resources/i18n/ko.ts index b5efaaffa..1539258b1 100644 --- a/resources/i18n/ko.ts +++ b/resources/i18n/ko.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation type="unfinished"></translation> @@ -28,34 +28,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>경고(&A)</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>에러 메세지를 보여줍니다.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation type="unfinished"><strong>경고 플러그인</strong><br />경고 플러그인은 디스플레이 화면에 경고를 출력하는 것을 통제합니다.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">경고</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">경고</translation> @@ -64,30 +64,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>경고 메세지</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>경고 문구(&T)</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>새로 만들기(&N)</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>저장(&S)</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>삭제(&D)</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,17 +94,17 @@ Do want to continue anyway?</source> <translation>출력 && 닫기(&O)</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>새 경고</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>경고 문구를 입력하지 않았습니다. 새로 만들기를 하려면 문구를 입력해주세요.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +120,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>글꼴</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>글꼴:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>글꼴색:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>배경색:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>글꼴 크기:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>경고 타임아웃:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>위치:</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>위</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>가운데</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>아래</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +205,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +218,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation type="unfinished">성경(&B)</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation type="unfinished"><strong>성경 플러그인</strong><br />성경 플러그인은 서비스 중에 성경 구절을 출력할 수 있는 기능을 제공합니다.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">??</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">성경</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">성경</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">삭제(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +294,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation>성경 참조 오류</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,496 +340,329 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>절 출력</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>새로운 장번호만 보이기</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation type="unfinished">배치 스타일:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>출력 스타일:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>성경 테마:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>슬라이드당 절 수</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>줄당 절 수</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>연속해서 보기</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>꺽쇠 안보이기</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( 와 )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ 와 }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ 와 ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>참고: 이미 서비스 중인 구절에 대해서는 변경사항이 적용되지 않습니다.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>성경 가져오기 마법사</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>성경 가져오기 마법사에 오신 것을 환영합니다.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>이 마법사는 각종 형식의 성경을 가져오도록 안내해드립니다. 다음 버튼을 눌러서 가져올 성경의 형식을 선택해 주세요.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>가져올 원본 선택</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>가져올 형식과 위치를 선택해주세요.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>형식</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>웹 다운로드</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>파일 위치:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>책 위치:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>절 위치:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>성경 파일 이름:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>위치:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>성경:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>다운로드 옵션</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>서버:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>사용자 이름:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>비밀번호:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>프록시 서버 (선택 사항)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>라이센스 정보</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation type="unfinished">성경의 라이센스 정보를 설정하세요.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>버전 이름:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>저작권:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>가져오는 중</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>성경 가져오기가 진행되는 동안 기다려주세요.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation type="unfinished">준비됨.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>잘못된 성경 위치</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation type="unfinished">??</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -889,12 +671,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -903,7 +685,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation type="unfinished"></translation> </message> @@ -924,210 +706,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">삭제(&D)</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1136,169 +830,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1306,94 +938,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1402,50 +999,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1453,12 +1025,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1466,16 +1038,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1483,18 +1050,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1507,12 +1069,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation type="unfinished"></translation> </message> @@ -1532,7 +1089,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1585,9 +1142,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1723,125 +1282,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">배경색:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1849,40 +1416,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1892,24 +1489,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1923,17 +1511,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1941,130 +1529,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2082,7 +1670,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2090,409 +1678,374 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation type="unfinished">새로 만들기(&N)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation type="unfinished">저장(&S)</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation type="unfinished"></translation> </message> @@ -2503,75 +2056,85 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation type="unfinished"></translation> </message> @@ -2579,23 +2142,13 @@ You can download the latest version from http://openlp.org/.</source> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> - <source>Plugin Details</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> + <source>Plugin Details</source> <translation type="unfinished"></translation> </message> <message> @@ -2614,237 +2167,318 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished"></translation> </message> @@ -2852,7 +2486,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation type="unfinished"></translation> </message> @@ -2875,17 +2509,17 @@ The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2899,137 +2533,180 @@ The content encoding is not UTF-8.</source> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3037,476 +2714,431 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">위</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">가운데</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">아래</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3514,47 +3146,42 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation type="unfinished"></translation> </message> @@ -3562,82 +3189,471 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">에러</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">삭제(&D)</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">미리 보기</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">위</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">가운데</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">아래</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">형식</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">가져오는 중</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">가져올 원본 선택</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">성경 가져오기 마법사에 오신 것을 환영합니다.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3646,105 +3662,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3832,7 +3843,7 @@ The content encoding is not UTF-8.</source> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3846,263 +3857,255 @@ The content encoding is not UTF-8.</source> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">미리 보기</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation type="unfinished"></translation> </message> @@ -4112,12 +4115,12 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation type="unfinished"></translation> </message> @@ -4125,7 +4128,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4133,242 +4136,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished">삭제(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4376,290 +4319,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished">가져올 원본 선택</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">가져올 형식과 위치를 선택해주세요.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished">형식</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished">가져오는 중</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> @@ -4669,88 +4480,43 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4758,115 +4524,72 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation type="unfinished"></translation> </message> @@ -4876,33 +4599,31 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation type="unfinished"></translation> </message> @@ -4910,157 +4631,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished">삭제(&D)</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5096,12 +4767,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation type="unfinished"></translation> </message> @@ -5114,7 +4785,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation type="unfinished"></translation> </message> @@ -5124,37 +4795,29 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/nb.ts b/resources/i18n/nb.ts index 33c14bc1b..3163e36eb 100644 --- a/resources/i18n/nb.ts +++ b/resources/i18n/nb.ts @@ -3,23 +3,23 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation type="unfinished"></translation> @@ -28,34 +28,34 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Varsel</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Vis en varselmelding.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Varsel Tilleg</strong><br />Varsels tillegg kontrolleren viser barn-varsel på visnings skjermen</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Varsel</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation type="unfinished">Varsel</translation> @@ -64,30 +64,25 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Varsel-melding</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Varsel &tekst:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Ny</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Lagre</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Slett</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,17 +94,17 @@ Do want to continue anyway?</source> <translation>Vis && Lukk</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Nytt Varsel</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>Du har ikke spesifisert noen tekst for varselet. Vennligst skriv inn en tekst før du trykker Ny.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation type="unfinished"></translation> </message> @@ -125,95 +120,84 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Skrifttype </translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Skrift navn:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Skrift farge</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Bakgrunns farge:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Skrift størrelse</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Varsel varighet:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Plassering:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Forhåndsvisning</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Topp</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Midtstilt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Bunn</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -221,12 +205,12 @@ Do want to continue anyway?</source> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -234,110 +218,75 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation type="unfinished">Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bibler</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Bibler</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Slett</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">Ingen bøker funnet</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation type="unfinished"></translation> </message> @@ -345,39 +294,39 @@ Do want to continue anyway?</source> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Text Search is not available with Web Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,495 +340,328 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Vers visning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Bare vis nye kapittel nummer</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Visningstil:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Bibel tema:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Vers pr side</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Vers pr linje</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Kontinuerlig</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( og )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ og }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ og ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Bibelimporteringsverktøy </translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Velkommen til bibelimporterings-veilederen</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>Denne veiviseren vil hjelpe deg å importere Bibler fra en rekke ulike formater. Klikk på neste-knappen under for å starte prosessen ved å velge et format å importere fra.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Velg importeringskilde </translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Velg importeringsformat og hvor du vil importere dem</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Format:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Web nedlastning</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Fil plassering:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Bok plassering:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Vers plassering:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Bibel filnavn:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Plassering:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation type="unfinished">BibleGateway </translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Bibel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Nedlastingsalternativer </translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Brukernavn:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Passord:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Proxy Server (valgfritt)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Lisensdetaljer</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Skriv inn Bibelens lisensdetaljer.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Versons navn:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Opphavsrett: </translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importerer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Vennligst vent mens bibelen blir importert</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Klar.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Ugyldig Bibelplassering</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Du om spesifisere en fil for å importere bibelen.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Ugyldig Book fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>Du må angi en fil som inneholder bøkene i Bibelen du vil importere.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Ugyldig vers fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>Du må angi en fil med bibelvers som skal importeres.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Ugyldig OpenSong Bibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>Du må spesifisere en OpenSong Bibel fil å importere</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished">Tomt versjonnavn </translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation>Du må spesifisere et versjonsnummer for Bibelen din.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Tom opphavsrett</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation type="unfinished">Bibelen eksisterer</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Åpne OSIS fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Åpne Bøker CSV fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Åpne Vers CSV fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Åpne OpenSong Bibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Starter å importere...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished">Import fullført.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation type="unfinished">Bibelimporteringen mislyktes.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">Alle filer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation type="unfinished">Rask</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished">Avansert</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Versjon:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Søk type:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation type="unfinished">Finn:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Søk</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Resultat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Bok:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Kapittel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation type="unfinished">Fra:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation type="unfinished">Til:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished">Søk i vers</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation type="unfinished">Tekstsøk </translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Blank</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation type="unfinished">Behold</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -888,12 +670,12 @@ demand and thus an internet connection is required.</source> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> <translation type="unfinished"></translation> @@ -902,7 +684,7 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation type="unfinished"></translation> </message> @@ -923,210 +705,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation type="unfinished">Rediger egendefinerte lysbilder </translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Tittel:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Rediger merket side</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Rediger alle sider på en gang.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Du må skrive inn en tittel.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Slett</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Rediger</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1135,169 +829,107 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> <source>Load a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> <source>Add a new Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Rediger</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> <source>Edit the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> <source>Delete the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> <source>Preview the selected Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> <translation type="unfinished"></translation> </message> </context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation type="unfinished">Velg bilde(r)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Alle filer</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation type="unfinished">Bilde(r)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1305,94 +937,59 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Rediger</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -1401,50 +998,25 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation type="unfinished">Velg media </translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1452,12 +1024,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1465,16 +1037,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1482,18 +1049,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1506,12 +1068,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished">Om</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation type="unfinished"></translation> </message> @@ -1531,7 +1088,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1584,9 +1141,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1722,125 +1281,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished">Avansert</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Bakgrunns farge:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1848,40 +1415,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1488,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1922,17 +1510,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1940,130 +1528,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation type="unfinished">Velg hvilken skjerm som skal brukes til fremvisning:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation type="unfinished">Programoppstart </translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation type="unfinished">Åpne forrige møteplan automatisk </translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation type="unfinished">Programinnstillinger </translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation type="unfinished">CCLI-detaljer</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2081,7 +1669,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2089,409 +1677,374 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation type="unfinished">&Fil </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation type="unfinished">&Import</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation type="unfinished">&Eksporter </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation type="unfinished">&Vis</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation type="unfinished">&Innstillinger </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation type="unfinished">&Språk</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation type="unfinished">&Hjelp </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation type="unfinished">Innholdselementer</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation type="unfinished">&Ny</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation type="unfinished">Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation type="unfinished">&Åpne</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished">Åpne møteplan</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation type="unfinished">Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation type="unfinished">&Lagre</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation type="unfinished">Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation type="unfinished">&Avslutt </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation type="unfinished">Avslutt OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation type="unfinished">Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation type="unfinished">&Tema</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation type="unfinished">F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation type="unfinished">Åpne tema-behandler</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation type="unfinished">F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation type="unfinished">Vis møteplanlegger</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation type="unfinished">F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation type="unfinished">&Forhåndsvisningspanel </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation type="unfinished">Vis forhåndsvisningspanel </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation type="unfinished">F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation type="unfinished">F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation type="unfinished">&Tillegsliste</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation type="unfinished">Hent liste over tillegg</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation type="unfinished">ALT+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation type="unfinished">&Brukerveiledning </translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation type="unfinished">&Om</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation type="unfinished">Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation type="unfinished">&Internett side</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation type="unfinished">Legg til & Verktøy...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation type="unfinished">&Direkte</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation type="unfinished">OpenLP versjonen har blitt oppdatert</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation type="unfinished"></translation> </message> @@ -2502,75 +2055,85 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished">Norsk</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation type="unfinished"></translation> </message> @@ -2578,25 +2141,15 @@ You can download the latest version from http://openlp.org/.</source> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished">Versjon:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation type="unfinished">Om:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2613,237 +2166,318 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished">Opprett ny møteplan</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished">Åpne møteplan</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation type="unfinished">Lagre møteplan</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished">Tema:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation type="unfinished">Flytt til &toppen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation type="unfinished">&Notis</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished">&Forhåndsvis vers</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished">&Direktevers</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation type="unfinished">&Bytt objekttema</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished"></translation> </message> @@ -2851,7 +2485,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation type="unfinished"></translation> </message> @@ -2874,17 +2508,17 @@ The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2898,137 +2532,180 @@ The content encoding is not UTF-8.</source> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished">Direkte</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation type="unfinished">Flytt til forrige </translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation type="unfinished">Start kontinuerlig løkke</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished">s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation type="unfinished">Forsinkelse mellom lysbilder i sekund</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation type="unfinished">Start avspilling av media</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">Alle filer</translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3036,476 +2713,431 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation type="unfinished">Endre tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation type="unfinished">Slett tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation type="unfinished">Importer tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation type="unfinished">Eksporter tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation type="unfinished">Du kan ikke slette det globale temaet </translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation type="unfinished">Filen er ikke et gyldig tema. </translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Ensfarget</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertikal </translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Størrelse:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Fet</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Sentrert </translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Topp</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Midtstilt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Bunn</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Bredde: </translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Høyde:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3513,47 +3145,42 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished">Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation type="unfinished">Bruk temaet fra hver sang i databasen. Hvis en sang ikke er tilknyttet et tema, bruk temaet til møteplanen. Hvis møteplanen ikke har et tema, bruk det globale temaet.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation type="unfinished">Bruk det globale temaet, og la det overstyre eventuelle tema som er tilknyttet møteplaner eller sanger.</translation> </message> @@ -3561,82 +3188,471 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Feil</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Slett</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Avansert</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Alle filer</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Rediger </translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Åpne møteplan</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Forhåndsvisning</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Topp</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Midtstilt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Bunn</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Om</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Søk</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Import fullført.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importerer</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Velg importeringskilde </translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Klar.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Starter å importere...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Velkommen til bibelimporterings-veilederen</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Emne </translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Emne</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Presentasjon </translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3645,105 +3661,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation type="unfinished">Velg presentasjon(er)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation type="unfinished">Automatisk</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation type="unfinished">Presenter ved hjelp av:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished">Avansert</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Fjernmeldinger</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3831,7 +3842,7 @@ The content encoding is not UTF-8.</source> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3845,263 +3856,255 @@ The content encoding is not UTF-8.</source> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation type="unfinished">Velg dato-område </translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation type="unfinished">til</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Sang</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Rediger</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Forhåndsvisning</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Sang</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Sanger</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Sanger</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation type="unfinished">Behandle forfatterdata </translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation type="unfinished">Fornavn:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation type="unfinished">Etternavn:</translation> </message> @@ -4111,12 +4114,12 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished">Du må skrive inn forfatterens fornavn.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation type="unfinished"></translation> </message> @@ -4124,7 +4127,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4132,242 +4135,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation type="unfinished">Sangredigeringsverktøy </translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation type="unfinished">&Tittel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished">&Rediger </translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished">&Slett</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation type="unfinished">Tittel && Sangtekst</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation type="unfinished">&Fjern</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished">Emne </translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation type="unfinished">&Fjern</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation type="unfinished">Bok:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished">Tema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation type="unfinished">Copyright-informasjon</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4375,290 +4318,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation type="unfinished">Rediger Vers</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished">Starter å importere...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished">Velg importeringskilde </translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">Velg importeringsformat og hvor du vil importere dem</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished">Format: </translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished">Importerer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished">Klar.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> @@ -4668,88 +4479,43 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">Alle filer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4757,116 +4523,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation type="unfinished">Rediger liste over forfattere, emner og bøker.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished">Søk:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished">Søk</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation type="unfinished">Titler </translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation type="unfinished"></translation> </message> @@ -4876,33 +4599,31 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished">Import fullført.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation type="unfinished"></translation> </message> @@ -4910,157 +4631,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished">Emne</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished">&Rediger </translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished">&Slett</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation type="unfinished">Er du sikker på at du vil slette den valgte forfatteren? </translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished">Ingen forfatter er valgt!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation type="unfinished">Slett emne</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation type="unfinished">Slett bok</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation type="unfinished">Er du sikker på at du vil slette den merkede boken?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished">Ingen bok er valgt!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5096,12 +4767,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation type="unfinished">Emnenavn:</translation> </message> @@ -5114,7 +4785,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation type="unfinished">Vers</translation> </message> @@ -5124,37 +4795,29 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation type="unfinished">Pre-Chorus</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation type="unfinished">Annet </translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/resources/i18n/nl.ts b/resources/i18n/nl.ts index 266c058d9..90edb0e7a 100644 --- a/resources/i18n/nl.ts +++ b/resources/i18n/nl.ts @@ -1,117 +1,114 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1"> +<!DOCTYPE TS><TS version="1.1" language="nl"> <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> - <translation type="unfinished"></translation> + <translation>Geen parameter gevonden</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>U heeft geen parameter opgegeven die vervangen moeten worden +Toch doorgaan?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> - <translation type="unfinished"></translation> + <translation>Geen plaatsmarkering gevonden</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>De waarschuwingstekst bevat geen '<>'. +Toch doorgaan?</translation> </message> </context> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> - <translation type="unfinished"></translation> + <translation>W&aarschuwing</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> - <translation type="unfinished"></translation> + <translation>Toon waarschuwingsberichten.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> - <translation type="unfinished"></translation> + <translation><strong>Waarschuwing Plugin</strong><br />Deze plugin regelt de weergave van waarschuwingen op het scherm.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Waarschuwing</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation>Waarschuwingen</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation>Waarschuwingen</translation> </message> </context> <context> <name>AlertsPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> - <source>Alert Message</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> - <source>Alert &text:</source> - <translation type="unfinished"></translation> + <source>Alert Message</source> + <translation>Waarschuwing</translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> - <source>&Parameter:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> - <source>&New</source> - <translation type="unfinished"></translation> + <source>Alert &text:</source> + <translation>Waarschuwings&text:</translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> - <source>&Save</source> - <translation type="unfinished"></translation> + <source>&New</source> + <translation>&Nieuw</translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation type="unfinished"></translation> + <source>&Save</source> + <translation>Op&slaan</translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> - <translation type="unfinished"></translation> + <translation>Wee&rgeven</translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="108"/> <source>Display && Cl&ose</source> - <translation type="unfinished"></translation> + <translation>&Weergeven en sluiten</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> - <translation type="unfinished"></translation> + <translation>Nieuwe waarschuwing</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> - <translation type="unfinished"></translation> + <translation>De waarschuwing bevat geen tekst. Voer eerst tekst in voordat u op nieuw klikt. </translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <source>&Parameter:</source> + <translation>&Parameter:</translation> </message> </context> <context> @@ -119,249 +116,220 @@ Do want to continue anyway?</source> <message> <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="72"/> <source>Alert message created and displayed.</source> - <translation type="unfinished"></translation> + <translation>Waarschuwing gemaakt en weergegeven.</translation> </message> </context> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> - <translation type="unfinished"></translation> + <translation>Font</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> - <source>Font name:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> - <source>Font color:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> - <source>Background color:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> - <source>Font size:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> + <translation>Tijdsduur:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> + <source>Font name:</source> + <translation>Naam lettertype:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> + <source>Font color:</source> + <translation>Letterkleur:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> + <source>Background color:</source> + <translation>Achtergrondkleur:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <source>Font size:</source> + <translation>Corpsgrootte:</translation> + </message> +</context> +<context> + <name>BibleDB.Wizard</name> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> - <translation type="unfinished"></translation> + <translation>Download fout</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> - <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Parse fout </translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> + <translation>Er ging iets mis bij het downloaden van de bijbelverzen. Controleer uw internet verbinding (open bijv. een pagina in de internetbrowser). Als dit probleem zich blijft herhalen is er misschien sprake van een bug.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Er ging iets mis bij het uitpakken van de bijbelverzen. Als dit probleem zich blijft herhalen is er misschien sprake van een bug.</translation> </message> </context> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> - <source>Bible not fully loaded</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> + <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> + <translation>Enkele en meerdere bijbelverzen kun je niet combineren. Wilt u deze zoekopdracht wissen en opnieuw beginnen?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> - <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> + <source>Bible not fully loaded</source> + <translation>Bijbel niet helemaal geladen</translation> </message> </context> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> - <translation type="unfinished"></translation> + <translation>&Bijbel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> - <translation type="unfinished"></translation> + <translation><strong>Bijbel plugin</strong><br />De Bijbel plugin maakt het mogelijk bijbelteksten uit verschillende vertalingen tijdens de dienst te gebruiken.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> - <source>Bible</source> - <comment>name singular</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> - <source>Bibles</source> - <comment>name plural</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> + <source>Import a Bible</source> + <translation>Importeer een Bijbel</translation> </message> <message> <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> - <source>Bibles</source> - <comment>container title</comment> - <translation type="unfinished"></translation> + <source>Add a new Bible</source> + <translation>Voeg een nieuwe Bijbel toe</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> + <source>Edit the selected Bible</source> + <translation>Geselecteerde Bijbel bewerken</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> + <source>Delete the selected Bible</source> + <translation>Geselecteerde Bijbel verwijderen</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> + <source>Preview the selected Bible</source> + <translation>Voorbeeld geselecteerde bijbeltekst</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> + <source>Send the selected Bible live</source> + <translation>Geselecteerde bijbeltekst live tonen</translation> </message> <message> <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> - <source>Import a Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> - <source>Add a new Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> - <source>Edit the selected Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> - <source>Delete the selected Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> - <source>Preview the selected Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> - <source>Send the selected Bible live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> <source>Add the selected Bible to the service</source> - <translation type="unfinished"></translation> + <translation>Geselecteerde bijbeltekst aan de liturgie toevoegen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> + <source>Bible</source> + <comment>name singular</comment> + <translation>bijbeltekst</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> + <source>Bibles</source> + <comment>name plural</comment> + <translation>bijbelteksten</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> + <source>Bibles</source> + <comment>container title</comment> + <translation>Bijbelteksten</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> - <translation type="unfinished"></translation> + <translation>Geen bijbelboek gevonden</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> - <translation type="unfinished"></translation> + <translation>Er kon geen bijbelboek met die naam gevonden worden. Controleer de spelling.</translation> </message> </context> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> - <source>No Bibles available</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> - <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> - <translation type="unfinished"></translation> + <translation>Fouten in schriftverwijzingen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Web Bible cannot be used</source> + <translation>Online bijbels kunnen niet worden gebruikt</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>In online bijbels kunt u niet zoeken op tekst.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>You did not enter a search keyword. +You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> + <translation>Geen zoekterm opgegeven. +Woorden met een spatie ertussen betekent zoeken naar alle woorden, Woorden met een komma ertussen betekent zoeken naar de afzonderlijke woorden.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>No Bibles available</source> + <translation>Geen bijbelvertalingen beschikbaar</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> + <translation>Er zijn geen bijbels geïnstalleerd. Gebruik de Import assistent om een of meerdere bijbels te installeren.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -371,540 +339,359 @@ Book Chapter:Verse-Verse,Chapter:Verse-Verse Book Chapter:Verse-Chapter:Verse</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> - <source>Web Bible cannot be used</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> - <source>Text Search is not available with Web Bibles.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> - <source>You did not enter a search keyword. -You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> - <translation type="unfinished"></translation> + <translation>Bijbeltekst weergave</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> - <translation type="unfinished"></translation> + <translation>Toon alleen nieuw hoodstuknummer</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> - <translation type="unfinished"></translation> + <translation>Paginaformaat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> - <translation type="unfinished"></translation> + <translation>Weergave stijl:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> - <translation type="unfinished"></translation> + <translation>Bijbel thema:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> - <translation type="unfinished"></translation> + <translation>Bijbelvers per dia</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> - <translation type="unfinished"></translation> + <translation>Bijbelvers per regel</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> - <translation type="unfinished"></translation> + <translation>Doorlopend</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> - <translation type="unfinished"></translation> + <translation>geen haakjes</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> - <translation type="unfinished"></translation> + <translation>( en )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> - <translation type="unfinished"></translation> + <translation>{ en }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> - <translation type="unfinished"></translation> + <translation>[ en ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> - <translation type="unfinished"></translation> + <translation>Nota Bene: +Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zijn opgenomen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Toon tweede bijbelvertaling</translation> </message> </context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> - <translation type="unfinished"></translation> + <translation>Bijbel Import Assistent</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> - <translation type="unfinished"></translation> + <translation>Deze Assistent helpt u bijbels van verschillende bestandsformaten te importeren. Om de Assistent te starten klikt op volgende.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> - <translation type="unfinished"></translation> + <translation>Onlinebijbel</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> + <source>Location:</source> + <translation>Locatie:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> + <source>Crosswalk</source> + <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> + <source>BibleGateway</source> + <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> + <source>Bible:</source> + <translation>Bijbelvertaling:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> + <source>Download Options</source> + <translation>Download opties</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation type="unfinished"></translation> + <source>Server:</source> + <translation>Server:</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> - <source>Location:</source> - <translation type="unfinished"></translation> + <source>Username:</source> + <translation>Gebruikersnaam:</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> - <source>Crosswalk</source> - <translation type="unfinished"></translation> + <source>Password:</source> + <translation>Wachtwoord:</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> - <source>BibleGateway</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> - <source>Bibleserver</source> - <translation type="unfinished"></translation> + <source>Proxy Server (Optional)</source> + <translation>Proxy-Server (optioneel)</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> - <source>Bible:</source> - <translation type="unfinished"></translation> + <source>License Details</source> + <translation>Licentiedetails</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> - <source>Download Options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> - <source>Server:</source> - <translation type="unfinished"></translation> + <source>Set up the Bible's license details.</source> + <translation>Geef aan welke licentievoorwaarden gelden voor deze bijbelvertaling.</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> - <source>Username:</source> - <translation type="unfinished"></translation> + <source>Copyright:</source> + <translation>Copyright:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> + <source>Please wait while your Bible is imported.</source> + <translation>Even geduld. De bijbelvertaling wordt geïmporteerd.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> + <source>You need to specify a file with books of the Bible to use in the import.</source> + <translation>Er moet een bestand met beschikbare bijbelboeken opgegeven worden.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> + <source>You need to specify a file of Bible verses to import.</source> + <translation>Er moet een bestand met bijbelverzen opgegeven worden.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> + <source>You need to specify a version name for your Bible.</source> + <translation>Geef de naam van de bijbelvertaling op.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>Bible Exists</source> + <translation>Deze bijbelvertaling bestaat reeds</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> + <source>Your Bible import failed.</source> + <translation>Het importeren is mislukt.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <source>Version name:</source> + <translation>Bijbeluitgave:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> + <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> + <translation>Copyright moet opgegeven worden. Bijbels in het publieke domein moeten als zodanig gemarkeerd worden.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> + <translation>Deze bijbel bestaat reeds. Geef een andere naam of verwijder eerst het bestaande exemplaar.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> + <source>Starting Registering bible...</source> + <translation>Start registreren Bijbel...</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> + <source>Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required.</source> + <translation>Registratie afgerond. +N.B. bijbelteksten worden gedownload indien nodig internetverbinding is dus noodzakelijk.</translation> </message> <message> <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> - <source>Password:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> - <source>Proxy Server (Optional)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> - <source>License Details</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> - <source>Set up the Bible's license details.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> - <source>Version name:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> - <source>Copyright:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> <source>Permissions:</source> - <translation type="unfinished"></translation> + <translation>Rechten:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> - <source>Please wait while your Bible is imported.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>You need to specify a file with books of the Bible to use in the import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>You need to specify a file of Bible verses to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>You need to specify a version name for your Bible.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> - <source>Bible Exists</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> - <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> - <translation type="unfinished"></translation> + <translation>CSV bestand</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> + <translation>openlp.org 1.x bijbel</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> + <source>Bibleserver</source> + <translation>Bibleserver.com</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> - <source>Starting Registering bible...</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> - <source>Registered bible. Please note, that verses will be downloaded on -demand and thus an internet connection is required.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> - <source>Your Bible import failed.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> - <translation type="unfinished"></translation> + <translation>Snelzoeken</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> - <source>Second:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> - <translation type="unfinished"></translation> + <translation>Vind:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> - <translation type="unfinished"></translation> + <translation>Resulaten:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> - <translation type="unfinished"></translation> + <translation>Boek:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> - <translation type="unfinished"></translation> + <translation>Hoofdstuk:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> - <translation type="unfinished"></translation> + <translation>Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> - <translation type="unfinished"></translation> + <translation>Van:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> - <translation type="unfinished"></translation> + <translation>Tot:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> - <translation type="unfinished"></translation> + <translation>Zoek op tekst</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> - <translation type="unfinished"></translation> + <translation>Wissen</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> - <translation type="unfinished"></translation> + <translation>Bewaren</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> + <source>Second:</source> + <translation>Tweede:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>%s %s wordt geïmporteerd...</translation> </message> </context> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> - <translation type="unfinished"></translation> + <translation>Tekstcodering detecteren (dat kan even duren)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>%s %s wordt geïmporteerd...</translation> </message> </context> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> - <translation type="unfinished"></translation> + <translation><strong>Custom plugin</strong><br />De custom plugin voorziet in mogelijkheden aangepaste tekst weer te geven op dezelfde manier als liederen. Deze plugin voorziet in meer mogelijkheden dan de Lied plugin. </translation> </message> </context> <context> @@ -912,552 +699,343 @@ demand and thus an internet connection is required.</source> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> <source>Custom Display</source> - <translation type="unfinished"></translation> + <translation>Aangepaste weergave</translation> </message> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> <source>Display footer</source> - <translation type="unfinished"></translation> + <translation>Voettekst weergeven</translation> </message> </context> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> - <translation type="unfinished"></translation> + <translation>Aangepaste dia's bewerken</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> + <source>&Title:</source> + <translation>&Titel:</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> + <source>Split Slide</source> + <translation>Dia splitsen</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> + <source>The&me:</source> + <translation>The&ma:</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> + <source>&Credits:</source> + <translation>&Credits:</translation> </message> <message> <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> - <source>&Title:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> <source>Add a new slide at bottom.</source> - <translation type="unfinished"></translation> + <translation>Nieuwe dia onderaan invoegen.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> - <translation type="unfinished"></translation> + <translation>Geselecteerde dia bewerken.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> - <source>Ed&it All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> - <translation type="unfinished"></translation> + <translation>Alle dia's tegelijk bewerken.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> - <source>The&me:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> - <source>&Credits:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> - <source>You need to type in a title.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> - <source>You need to add at least one slide</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> - <source>Split Slide</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation type="unfinished"></translation> + <translation>Dia doormidden delen door een dia 'splitter' in te voegen.</translation> </message> <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> + <source>You need to type in a title.</source> + <translation>Geef een titel op.</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> + <source>You need to add at least one slide</source> + <translation>Minstens een dia invoegen</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> + <source>Ed&it All</source> + <translation>&Alles bewerken</translation> </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> - <source>Custom</source> - <comment>name singular</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation>Aangepaste dia importeren</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> - <source>Customs</source> - <comment>name plural</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation>Aangepaste dia laden</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation>Aangepaste dia toevoegn</translation> </message> <message> <location filename="openlp/plugins/custom/customplugin.py" line="112"/> - <source>Custom</source> - <comment>container title</comment> - <translation type="unfinished"></translation> + <source>Edit the selected Custom</source> + <translation>Geselecteerde dia bewerken</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation>Geselecteerde aangepaste dia verwijderen</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation>Bekijk voorbeeld aangepaste dia</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation>Bekijk aangepaste dia live</translation> </message> <message> <location filename="openlp/plugins/custom/customplugin.py" line="118"/> - <source>Import a Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> - <source>Load a new Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> - <source>Add a new Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> - <source>Edit the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> - <source>Delete the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> - <source>Preview the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> - <source>Send the selected Custom live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> <source>Add the selected Custom to the service</source> - <translation type="unfinished"></translation> + <translation>Aangepaste dia aan liturgie toevoegen</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> + <source>Custom</source> + <comment>name singular</comment> + <translation>Sonderfolien</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> + <source>Customs</source> + <comment>name plural</comment> + <translation>Aangepaste dia's</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> + <source>Custom</source> + <comment>container title</comment> + <translation>Aangepaste dia</translation> </message> </context> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> - <translation type="unfinished"></translation> + <translation><strong>Afbeeldingen Plugin</strong><br />De afbeeldingen plugin voorziet in de mogelijkheid afbeeldingen te laten zien.<br />Een van de bijzondere mogelijkheden is dat meerdere afbeeldingen als groep in de liturgie worden opgenomen, zodat weergave van meerdere afbeeldingen eenvoudiger wordt. Deze plugin maakt doorlopende diashows (bijv. om de 3 sec. een nieuwe dia) mogelijk. Ook kun met deze plugin de achtergrondafbeelding van het thema vervangen met een andere afbeelding. Ook de combinatie van tekst en beeld is mogelijk.</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> - <source>Image</source> - <comment>name singular</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation>Afbeelding laden</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> - <source>Images</source> - <comment>name plural</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Afbeelding toevoegen</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> - <source>Images</source> - <comment>container title</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Afbeelding bewerken</translation> </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> + <source>Delete the selected Image</source> + <translation>Geselecteerde afbeeldingen wissen</translation> </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="78"/> - <source>Load a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> - <source>Add a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> - <source>Edit the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> - <source>Delete the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> <source>Preview the selected Image</source> - <translation type="unfinished"></translation> + <translation>Geselecteerde afbeeldingen voorbeeld bekijken</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> - <translation type="unfinished"></translation> + <translation>Geselecteerde afbeeldingen Live tonen</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> + <translation>Geselecteerde afbeeldingen aan liturgie toevoegen</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> + <source>Image</source> + <comment>name singular</comment> + <translation>Afbeelding</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> + <source>Images</source> + <comment>name plural</comment> + <translation>Bilder</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> + <source>Images</source> + <comment>container title</comment> + <translation>Afbeeldingen</translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> <translation type="unfinished"></translation> </message> </context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> - <translation type="unfinished"></translation> + <translation>Selecteer afbeelding(en)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een afbeelding om te verwijderen.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation>Selecteer een afbeelding om de achtergrond te vervangen.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> - <translation type="unfinished"></translation> + <translation>Ontbrekende afbeelding(en)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> - <translation type="unfinished"></translation> + <translation>De volgende afbeelding(en) ontbreken: %s</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> - <translation type="unfinished"></translation> + <translation>De volgende afbeelding(en) ontbreken: %s +De andere afbeeldingen alsnog toevoegen?</translation> </message> <message> <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> - <source>You must select an image to replace the background with.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> - <translation type="unfinished"></translation> + <translation>Achtergrond kan niet vervangen worden, omdat de afbeelding "%s" ontbreekt.</translation> </message> </context> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> - <translation type="unfinished"></translation> + <translation><strong>Media Plugin</strong><br />De media plugin voorziet in mogelijkheden audio en video af te spelen.</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> + <source>Load a new Media</source> + <translation>Laad nieuw media bestand</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> + <source>Add a new Media</source> + <translation>Voeg nieuwe media toe</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> + <source>Edit the selected Media</source> + <translation>Bewerk geselecteerd media bestand</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> + <source>Delete the selected Media</source> + <translation>Verwijder geselecteerd media bestand</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> + <source>Preview the selected Media</source> + <translation>Toon voorbeeld van geselecteerd media bestand</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> + <source>Send the selected Media live</source> + <translation>Toon geselecteerd media bestand Live</translation> </message> <message> <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation>Voeg geselecteerd media bestand aan liturgie toe</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Medien</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation>Medien</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> - <source>Load a new Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> - <source>Add a new Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> - <source>Edit the selected Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> - <source>Delete the selected Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> - <source>Preview the selected Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> - <source>Send the selected Media live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> - <source>Add the selected Media to the service</source> - <translation type="unfinished"></translation> + <translation>Media</translation> </message> </context> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> - <translation type="unfinished"></translation> + <translation>Secteer media bestand</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> + <source>You must select a media file to delete.</source> + <translation>Selecteer een media bestand om te verwijderen.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>Missing Media File</source> + <translation>Ontbrekend media bestand</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>The file %s no longer exists.</source> + <translation>Media bestand %s bestaat niet meer.</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> + <translation>Selecteer een media bestand om de achtergrond mee te vervangen.</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> - <translation type="unfinished"></translation> + <translation>Probleem met het vervangen van de achtergrond, omdat het bestand "%s" niet meer bestaat.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> - <source>Missing Media File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> - <source>The file %s no longer exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> - <source>You must select a media file to delete.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1465,35 +1043,25 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> - <translation type="unfinished"></translation> + <translation>Media weergave</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> - <translation type="unfinished"></translation> + <translation>Gebruik Phonon voor het afspelen van video</translation> </message> </context> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> - <translation type="unfinished"></translation> + <translation>Afbeeldingsbestanden</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1503,15 +1071,36 @@ OpenLP is free church presentation software, or lyrics projection software, used 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.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">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.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> + <source>Credits</source> + <translation type="unfinished">Credits</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="553"/> + <source>License</source> + <translation>Licentie</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="556"/> + <source>Contribute</source> + <translation>Bijdragen</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutform.py" line="48"/> + <source> build %s</source> + <translation> build %s</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1561,17 +1150,62 @@ Final Credit on the cross, setting us free from sin. We bring this software to you for free because He has set us free.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">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 + Andreas "googol" Preikschat + Christian "crichter" Richter + Philip "Phill" Ridout + Maikel Stuivenberg + Carsten "catini" Tingaard + Frode "frodus" Woldsund + +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, Ubuntu) + +Built With + Python: http://www.python.org/ + Qt4: http://qt.nokia.com/ + PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro + Oxygen Icons: http://oxygen-icons.org/ + +Final Credit + "For God so loved the world that He gave + His one and only Son, so that whoever + believes in Him will not perish but inherit + eternal life." -- John 3:16 + + And last but not least, final credit goes to + God our Father, for sending His Son to die + on the cross, setting us free from sin. We + bring this software to you for free because + He has set us free.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> - <source>Credits</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1703,185 +1337,210 @@ Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="553"/> - <source>License</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="556"/> - <source>Contribute</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/aboutform.py" line="48"/> - <source> build %s</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> - <source>Number of recent files to display:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> - <source>Remember active media manager tab on startup</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> - <source>Double-click to send items straight to live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> - <source>Expand new service items on creation</source> - <translation type="unfinished"></translation> + <translation>Werkomgeving instellingen</translation> </message> <message> <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <source>Number of recent files to display:</source> + <translation>Aantal recent geopende bestanden:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> + <source>Remember active media manager tab on startup</source> + <translation>Laatstgeopende tab opslaan</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> + <source>Double-click to send items straight to live</source> + <translation>Dubbelklikken om onderdelen direct aan live toe te voegen</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> + <source>Expand new service items on creation</source> + <translation>Nieuwe liturgieonderdelen automatisch uitklappen</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> - <translation type="unfinished"></translation> + <translation>Afsluiten OpenLP bevestigen</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> + <translation>Muisaanwijzer</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Achtergrondkleur:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">Open bestand</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">Bewerk selectie</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">Update</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">Omschrijving</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished">Tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished">Start tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished">Eind tag</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">Standaard</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished">Tag id</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished">Start Html</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished">Eind Html</translation> + </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> - <translation type="unfinished"></translation> + <translation>Update Fout</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> - <translation type="unfinished"></translation> + <translation>Tag "n" bestaat al.</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> - <translation type="unfinished"></translation> + <translation>Tag %s bestaat al.</translation> </message> </context> <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> - <source>Error Occurred</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> - <translation type="unfinished"></translation> + <translation>Oeps! OpenLP heeft een probleem en kan het niet zelf oplossen. De tekst in het onderste venster bevat informatie waarmee de OpenLP ontwikkelaars iets kunnen. +Stuur een e-mail naar: bugs@openlp.org met een gedetailleerde beschrijving van het probleem en hoe het ontstond.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> + <source>Error Occurred</source> + <translation>Er gaat iets fout</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> + <translation>Stuur e-mail</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> + <source>Save to File</source> + <translation>Opslaan als…</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> - <source>Save to File</source> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> - <translation type="unfinished"></translation> + <translation>Plattform: %s +</translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>Bewaar Bug Report</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>Tekstbestand (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1550,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1922,146 +1572,146 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> - <source>New File Name:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> - <source>File Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> - <translation type="unfinished"></translation> + <translation>Bestand hernoemen</translation> + </message> + <message> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> + <source>New File Name:</source> + <translation>Nieuwe bestandsnaam:</translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> + <source>File Copy</source> + <translation>Bestand kopiëren</translation> </message> </context> <context> <name>OpenLP.GeneralTab</name> - <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> - <source>General</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> - <source>Monitors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> - <source>Select monitor for output display:</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/generaltab.py" line="242"/> + <source>General</source> + <translation>Algemeen</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="243"/> + <source>Monitors</source> + <translation>Beeldschermen</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="245"/> + <source>Select monitor for output display:</source> + <translation>Projectiescherm:</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> - <translation type="unfinished"></translation> + <translation>Weergeven bij enkel scherm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> - <translation type="unfinished"></translation> + <translation>Programma start</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> - <translation type="unfinished"></translation> + <translation>Toon zwart scherm waarschuwing</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> - <translation type="unfinished"></translation> + <translation>Automatisch laatste liturgie openen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> - <translation type="unfinished"></translation> + <translation>Toon splash screen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> - <translation type="unfinished"></translation> + <translation>Programma instellingen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> - <translation type="unfinished"></translation> + <translation>Waarschuw om werk op te slaan bij het beginnen van een nieuwe liturgie</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> - <translation type="unfinished"></translation> + <translation>Automatisch volgend onderdeel van liturgie tonen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> - <translation type="unfinished"></translation> + <translation>Vertraging bij doorlopende diavoorstelling:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> - <translation type="unfinished"></translation> + <translation> sec</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> - <translation type="unfinished"></translation> + <translation>CCLI-details</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> - <translation type="unfinished"></translation> + <translation>SongSelect gebruikersnaam:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> - <translation type="unfinished"></translation> + <translation>SongSelect wachtwoord:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> - <translation type="unfinished"></translation> + <translation>Weergave positie</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> - <translation type="unfinished"></translation> + <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>Hoogte</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="295"/> + <source>Width</source> + <translation>Breedte</translation> </message> <message> <location filename="openlp/core/ui/generaltab.py" line="289"/> - <source>Width</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> <source>Override display position</source> - <translation type="unfinished"></translation> + <translation>Overschrijf scherm positie</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> - <translation type="unfinished"></translation> + <translation>Beeldscherm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> + <translation>primair scherm</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> <translation type="unfinished"></translation> </message> </context> @@ -2070,790 +1720,839 @@ Version: %s <message> <location filename="openlp/core/utils/languagemanager.py" line="120"/> <source>Language</source> - <translation type="unfinished"></translation> + <translation>Taal</translation> </message> <message> <location filename="openlp/core/utils/languagemanager.py" line="120"/> <source>Please restart OpenLP to use your new language setting.</source> - <translation type="unfinished"></translation> + <translation>Start OpenLP opnieuw op om de nieuwe taalinstellingen te gebruiken.</translation> </message> </context> <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> - <translation type="unfinished"></translation> + <translation>OpenLP Weergave</translation> </message> </context> <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> - <translation type="unfinished"></translation> + <translation>&Bestand</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> - <translation type="unfinished"></translation> + <translation>&Importeren</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> - <translation type="unfinished"></translation> + <translation>&Exporteren</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> - <translation type="unfinished"></translation> + <translation>&Weergave</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> - <translation type="unfinished"></translation> + <translation>M&odus</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> - <translation type="unfinished"></translation> + <translation>&Hulpmiddelen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> - <source>&Language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> - <source>Media Manager</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> - <source>Service Manager</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> - <source>Theme Manager</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> - <source>&New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation type="unfinished"></translation> + <translation>&Instellingen</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <source>&Language</source> + <translation>Taa&l</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> + <source>&Help</source> + <translation>&Help</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> + <source>Media Manager</source> + <translation>Mediabeheer</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> + <source>Service Manager</source> + <translation>Liturgie beheer</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> + <source>Theme Manager</source> + <translation>Thema beheer</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> + <source>&New</source> + <translation>&Nieuw</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> - <translation type="unfinished"></translation> + <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> - <translation type="unfinished"></translation> + <translation>&Open</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> - <translation type="unfinished"></translation> + <translation>Open een bestaande liturgie.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> + <source>Ctrl+O</source> + <translation>Ctrl+O</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> + <source>&Save</source> + <translation>Op&slaan</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> + <source>Save the current service to disk.</source> + <translation>Deze liturgie opslaan.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> + <source>Ctrl+S</source> + <translation>Ctrl+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> + <source>Save &As...</source> + <translation>Opslaan &als...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> + <source>Save Service As</source> + <translation>Liturgie opslaan als</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <source>Save the current service under a new name.</source> + <translation>Deze liturgie onder een andere naam opslaan.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <source>Ctrl+Shift+S</source> + <translation>Ctrl+Shift+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <source>E&xit</source> + <translation>&Afsluiten</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> + <source>Quit OpenLP</source> + <translation>OpenLP afsluiten</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> + <source>Alt+F4</source> + <translation>Alt+F4</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> + <source>&Theme</source> + <translation>&Thema</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="369"/> - <source>Ctrl+O</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> - <source>&Save</source> - <translation type="unfinished"></translation> + <source>&Configure OpenLP...</source> + <translation>&Instellingen...</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation type="unfinished"></translation> + <source>&Media Manager</source> + <translation>&Media beheer</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="373"/> - <source>Save the current service to disk.</source> - <translation type="unfinished"></translation> + <source>Toggle Media Manager</source> + <translation>Media beheer wel / niet tonen</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="375"/> - <source>Ctrl+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> - <source>Save &As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> - <source>Save Service As</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> - <source>Save the current service under a new name.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> - <source>Ctrl+Shift+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> - <source>E&xit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> - <source>Quit OpenLP</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> - <source>Alt+F4</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> - <source>&Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> - <source>Configure &Shortcuts...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> - <source>&Configure OpenLP...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> - <source>&Media Manager</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> - <source>Toggle Media Manager</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> <source>Toggle the visibility of the media manager.</source> - <translation type="unfinished"></translation> + <translation>Media beheer wel / niet tonen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> - <translation type="unfinished"></translation> + <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> - <translation type="unfinished"></translation> + <translation>&Thema beheer</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> - <translation type="unfinished"></translation> + <translation>Thema beheer wel / niet tonen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> - <translation type="unfinished"></translation> + <translation>Thema beheer wel / niet tonen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> - <translation type="unfinished"></translation> + <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> - <translation type="unfinished"></translation> + <translation>&Liturgie beheer</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> + <source>Toggle Service Manager</source> + <translation>Liturgie beheer wel / niet tonen</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> + <source>Toggle the visibility of the service manager.</source> + <translation>Liturgie beheer wel / niet tonen.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> + <source>F9</source> + <translation>F9</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> + <source>&Preview Panel</source> + <translation>&Voorbeeld</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> + <source>Toggle Preview Panel</source> + <translation>Voorbeeld wel / niet tonen</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> + <source>Toggle the visibility of the preview panel.</source> + <translation>Voorbeeld wel / niet tonen.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> + <source>F11</source> + <translation>F11</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> + <source>&Live Panel</source> + <translation>&Live venster</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> + <source>Toggle Live Panel</source> + <translation>Live venster wel / niet tonen</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> + <source>Toggle the visibility of the live panel.</source> + <translation>Live venster wel / niet tonen.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> + <source>F12</source> + <translation>F12</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> + <source>&Plugin List</source> + <translation>&Plugin Lijst</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> + <source>List the Plugins</source> + <translation>Lijst met plugins =uitbreidingen van OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> + <source>Alt+F7</source> + <translation>Alt+F7</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> + <source>&User Guide</source> + <translation>Gebr&uikshandleiding</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> + <source>&About</source> + <translation>&Over OpenLP</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="420"/> - <source>Toggle Service Manager</source> - <translation type="unfinished"></translation> + <source>More information about OpenLP</source> + <translation>Meer Informatie over OpenLP</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="422"/> - <source>Toggle the visibility of the service manager.</source> - <translation type="unfinished"></translation> + <source>Ctrl+F1</source> + <translation>Ctrl+F1</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="424"/> - <source>F9</source> - <translation type="unfinished"></translation> + <source>&Online Help</source> + <translation>&Online help</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="426"/> - <source>&Preview Panel</source> - <translation type="unfinished"></translation> + <source>&Web Site</source> + <translation>&Website</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="428"/> - <source>Toggle Preview Panel</source> - <translation type="unfinished"></translation> + <source>&Auto Detect</source> + <translation>&Automatisch detecteren</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="430"/> - <source>Toggle the visibility of the preview panel.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> - <source>F11</source> - <translation type="unfinished"></translation> + <source>Use the system language, if available.</source> + <translation>Gebruik systeem standaardtaal, indien mogelijk.</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="434"/> - <source>&Live Panel</source> - <translation type="unfinished"></translation> + <source>Set the interface language to %s</source> + <translation>%s als taal in OpenLP gebruiken</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="436"/> - <source>Toggle Live Panel</source> - <translation type="unfinished"></translation> + <source>Add &Tool...</source> + <translation>Hulpprogramma &toevoegen...</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="438"/> - <source>Toggle the visibility of the live panel.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> - <source>F12</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> - <source>&Plugin List</source> - <translation type="unfinished"></translation> + <source>Add an application to the list of tools.</source> + <translation>Voeg een hulpprogramma toe aan de lijst.</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="444"/> - <source>List the Plugins</source> - <translation type="unfinished"></translation> + <source>&Default</source> + <translation>&Standaard</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="446"/> - <source>Alt+F7</source> - <translation type="unfinished"></translation> + <source>Set the view mode back to the default.</source> + <translation>Terug naar de standaard weergave modus.</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="448"/> - <source>&User Guide</source> - <translation type="unfinished"></translation> + <source>&Setup</source> + <translation>&Setup</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> - <source>&About</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> + <source>Set the view mode to Setup.</source> + <translation>Weergave modus naar Setup.</translation> </message> <message> <location filename="openlp/core/ui/mainwindow.py" line="451"/> - <source>More information about OpenLP</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> - <source>Ctrl+F1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> - <source>&Online Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> - <source>&Web Site</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> - <source>&Auto Detect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> - <source>Use the system language, if available.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> - <source>Set the interface language to %s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> - <source>Add &Tool...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> - <source>Add an application to the list of tools.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> - <source>&Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> - <source>Set the view mode back to the default.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> - <source>&Setup</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> - <source>Set the view mode to Setup.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> <source>&Live</source> - <translation type="unfinished"></translation> + <translation>&Live</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> - <translation type="unfinished"></translation> + <translation>Weergave modus naar Live.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> + <source>OpenLP Version Updated</source> + <translation>Nieuwe OpenLP versie beschikbaar</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>OpenLP Main Display Blanked</source> + <translation>OpenLP projectie op zwart</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>The Main Display has been blanked out</source> + <translation>Projectie is uitgeschakeld: scherm staat op zwart</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> + <source>Default Theme: %s</source> + <translation>Standaardthema: %s</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> - <source>OpenLP Version Updated</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> - <source>OpenLP Main Display Blanked</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> - <source>The Main Display has been blanked out</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> - <source>Close OpenLP</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> - <source>Are you sure you want to close OpenLP?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> - <source>Default Theme: %s</source> - <translation type="unfinished"></translation> + <translation>Versie %s van OpenLP ist beschikbaar (huidige versie: %s). + +U kunt de laatste versie op http://openlp.org/ downloaden.</translation> </message> <message> <location filename="openlp/core/utils/languagemanager.py" line="84"/> <source>English</source> <comment>Please add the name of your language here</comment> + <translation>Nederlands</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> + <source>Configure &Shortcuts...</source> + <translation>&Sneltoetsen instellen...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Close OpenLP</source> + <translation>OpenLP afsluiten</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Are you sure you want to close OpenLP?</source> + <translation>OpenLP afsluiten?</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> - <translation type="unfinished"></translation> + <translation>Niets geselecteerd</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> - <translation type="unfinished"></translation> + <translation>&Voeg selectie toe aan de liturgie</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een of meerdere onderdelen om voorbeeld te laten zien.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een of meerdere onderdelen om Live te tonen.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een of meerdere onderdelen.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een liturgie om deze onderdelen aan toe te voegen.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> - <translation type="unfinished"></translation> + <translation>Ongeldige Liturgie onderdeel</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een %s liturgie onderdeel.</translation> </message> </context> <context> <name>OpenLP.PluginForm</name> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> - <source>Plugin List</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="77"/> - <source>Plugin Details</source> - <translation type="unfinished"></translation> + <source>Plugin List</source> + <translation>Plugin Lijst</translation> </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation type="unfinished"></translation> + <source>Plugin Details</source> + <translation>Plugin details</translation> </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> - <translation type="unfinished"></translation> + <translation>Status:</translation> </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="85"/> <source>Active</source> - <translation type="unfinished"></translation> + <translation>Actief</translation> </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="87"/> <source>Inactive</source> - <translation type="unfinished"></translation> + <translation>Inactief</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> - <source>%s (Disabled)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> - <source>%s (Active)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> + <translation>%s (inactief)</translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="140"/> + <source>%s (Active)</source> + <translation>%s (actief)</translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="146"/> + <source>%s (Disabled)</source> + <translation>%s (uitgeschakeld)</translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished"></translation> + <translation>Liturgie onderdeel herschikken</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> - <translation type="unfinished"></translation> + <translation>Laad een bestaande liturgie</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> - <translation type="unfinished"></translation> + <translation>Deze liturgie opslaan</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> - <translation type="unfinished"></translation> + <translation>Selecteer een thema voor de liturgie</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> - <translation type="unfinished"></translation> + <translation>Bovenaan plaa&tsen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> - <translation type="unfinished"></translation> + <translation>Plaats dit onderdeel bovenaan.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> - <translation type="unfinished"></translation> + <translation>Naar b&oven</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> - <translation type="unfinished"></translation> + <translation>Verplaats een plek naar boven.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> - <translation type="unfinished"></translation> + <translation>Naar bene&den</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> - <translation type="unfinished"></translation> + <translation>Verplaats een plek naar beneden.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> - <translation type="unfinished"></translation> + <translation>Onderaan &plaatsen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> - <translation type="unfinished"></translation> + <translation>Plaats dit onderdeel onderaan.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> - <translation type="unfinished"></translation> + <translation>Verwij&deren uit de liturgie</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> - <translation type="unfinished"></translation> + <translation>Verwijder dit onderdeel uit de liturgie.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> - <source>&Expand all</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> - <source>Expand all the service items.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> - <source>&Collapse all</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> - <source>Collapse all the service items.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> - <translation type="unfinished"></translation> + <translation>&Voeg toe</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> - <translation type="unfinished"></translation> + <translation>&Voeg selectie toe</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> - <translation type="unfinished"></translation> + <translation>B&ewerk onderdeel</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> - <translation type="unfinished"></translation> + <translation>He&rschik onderdeel</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> - <translation type="unfinished"></translation> + <translation>Aa&ntekeningen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> - <translation type="unfinished"></translation> + <translation>&Wijzig onderdeel thema</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> - <source>Open File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>OpenLP Service Files (*.osz)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> - <translation type="unfinished"></translation> + <translation>Geen geldig liturgie bestand. +Tekst codering is geen UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> - <translation type="unfinished"></translation> + <translation>Geen geldig liturgie bestand.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> - <translation type="unfinished"></translation> + <translation>Ontbrekende weergave regelaar</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> + <translation>Dit onderdeel kan niet weergegeven worden, omdat er een regelaar ontbreekt</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> + <translation>Dit onderdeel kan niet weergegeven worden omdat de benodigde plugin ontbreekt of inactief is</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>&Expand all</source> + <translation>Alles &uitklappen</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>Expand all the service items.</source> + <translation>Alle liturgie onderdelen uitklappen.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>&Collapse all</source> + <translation>Alles &inklappen</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>Collapse all the service items.</source> + <translation>Alle liturgie onderdelen inklappen.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> + <source>Open File</source> + <translation>Open bestand</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> + <source>OpenLP Service Files (*.osz)</source> + <translation>OpenLP liturgie bestanden (*.osz)</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation>Verplaatst de selectie naar boven.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation>Naar boven</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation>Ga Live</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation>Toon selectie Live.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> - <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> - <translation type="unfinished"></translation> + <translation>Liturgische kanttekeningen</translation> </message> </context> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> - <translation type="unfinished"></translation> + <translation>Configureer OpenLP</translation> </message> </context> <context> @@ -2861,910 +2560,1288 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> <source>Customize Shortcuts</source> - <translation type="unfinished"></translation> + <translation>Snelkoppelingen aanpassen</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Action</source> - <translation type="unfinished"></translation> + <translation>Actie</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Shortcut</source> - <translation type="unfinished"></translation> + <translation>snelkoppeling</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> - <translation type="unfinished"></translation> + <translation>standaard: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> - <translation type="unfinished"></translation> + <translation>Aangepast:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Geen</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>Duplicate Shortcut</source> - <translation type="unfinished"></translation> + <translation>Snelkoppelingen dupliceren</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation>Deze snelkoppeling "%s" wordt al voor iets anders gebruikt. Kies een andere toetscombinatie.</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> - <translation type="unfinished"></translation> + <translation>Naar vorige</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> - <translation type="unfinished"></translation> + <translation>Naar volgende</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> - <translation type="unfinished"></translation> + <translation>Verbergen</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> - <source>Blank Screen</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> + <source>Move to live</source> + <translation>Naar Live</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> - <source>Blank to Theme</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> + <source>Start continuous loop</source> + <translation>Start doorlopende diashow</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> + <source>Stop continuous loop</source> + <translation>Stop doorlopende diashow</translation> </message> <message> <location filename="openlp/core/ui/slidecontroller.py" line="195"/> - <source>Show Desktop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> - <source>Start continuous loop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> - <source>Stop continuous loop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> <source>Delay between slides in seconds</source> - <translation type="unfinished"></translation> + <translation>Vertraging tussen dia's in seconden</translation> </message> <message> <location filename="openlp/core/ui/slidecontroller.py" line="222"/> - <source>Move to live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> - <source>Edit and reload song preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> <source>Start playing media</source> - <translation type="unfinished"></translation> + <translation>Start afspelen media</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> - <translation type="unfinished"></translation> + <translation>Ga naar</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> + <source>Edit and reload song preview</source> + <translation>Bewerk en lied voorbeeld opnieuw weergeven</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> + <source>Blank Screen</source> + <translation>Zwart scherm</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> + <source>Blank to Theme</source> + <translation>Zwart naar thema</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> + <source>Show Desktop</source> + <translation>Toon bureaublad</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation>Vorige dia</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation>Volgende dia</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation>Vorige liturgie</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation>Volgende liturgie</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation>Onderdeel annuleren</translation> </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> + <translation>Spelling suggesties</translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation>Opmaak tags</translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> - <source>Formatting Tags</source> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> - <source>(%d lines per slide)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> - <translation type="unfinished"></translation> + <translation>Selecteer afbeelding</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> - <translation type="unfinished"></translation> + <translation>Thema naam ontbreekt</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> - <translation type="unfinished"></translation> + <translation>Dit thema heeft nog geen naam. Geef een naam voor dit thema.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> - <translation type="unfinished"></translation> + <translation>Ongeldige naam</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> - <translation type="unfinished"></translation> + <translation>Deze naam kan niet worden gebruikt als thema naam. Kies een andere naam.</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="213"/> + <source>(%d lines per slide)</source> + <translation>(%d regels per dia)</translation> </message> </context> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> - <translation type="unfinished"></translation> + <translation>Maak een nieuw thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> - <translation type="unfinished"></translation> + <translation>Bewerk thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> - <translation type="unfinished"></translation> + <translation>Bewerk een thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> - <translation type="unfinished"></translation> + <translation>Verwijder thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> - <translation type="unfinished"></translation> + <translation>Verwijder thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> - <translation type="unfinished"></translation> + <translation>Importeer thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> - <translation type="unfinished"></translation> + <translation>Importeer thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> - <translation type="unfinished"></translation> + <translation>Exporteer thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> - <translation type="unfinished"></translation> + <translation>Exporteer thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> - <translation type="unfinished"></translation> + <translation>B&ewerk thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> - <source>&Copy Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> - <source>&Rename Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> - <translation type="unfinished"></translation> + <translation>Verwij&der thema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> - <translation type="unfinished"></translation> + <translation>Instellen als al&gemene standaard</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> - <source>&Export Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> - <translation type="unfinished"></translation> + <translation>%s (standaard)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> - <source>You must select a theme to rename.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> - <source>Rename Confirmation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> - <source>Rename %s theme?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een thema om te bewerken.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> - <source>You must select a theme to delete.</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/thememanager.py" line="700"/> + <source>You are unable to delete the default theme.</source> + <translation>Het standaard thema kan niet worden verwijderd.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> - <source>Delete Confirmation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> - <source>Delete %s theme?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> - <translation type="unfinished"></translation> + <translation>Selecteer een thema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> - <translation type="unfinished"></translation> + <translation>Thema opslaan - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> - <translation type="unfinished"></translation> + <translation>Thema geëxporteerd</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> - <translation type="unfinished"></translation> + <translation>Exporteren thema is gelukt.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> - <translation type="unfinished"></translation> + <translation>Exporteren thema is mislukt</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> - <translation type="unfinished"></translation> + <translation>Thema kan niet worden geëxporteerd als gevolg van een fout.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> - <translation type="unfinished"></translation> + <translation>Selecteer te importeren thema bestand</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> - <translation type="unfinished"></translation> + <translation>Geen geldig thema bestand. +Tekst codering is geen UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> - <source>Validation Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> - <translation type="unfinished"></translation> + <translation>Geen geldig thema bestand.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> - <source>A theme with this name already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> - <source>You are unable to delete the default theme.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> + <translation>Thema %s wordt gebruikt in de %s plugin.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="110"/> + <source>&Copy Theme</source> + <translation>&Kopieer thema</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="113"/> + <source>&Rename Theme</source> + <translation>He&rnoem thema</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="123"/> + <source>&Export Theme</source> + <translation>&Exporteer thema</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>You must select a theme to rename.</source> + <translation>Selecteer een thema om te hernoemen.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename Confirmation</source> + <translation>Bevestig hernoemen</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename %s theme?</source> + <translation>%s thema hernoemen?</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>You must select a theme to delete.</source> + <translation>Selecteer een thema om te verwijderen.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete Confirmation</source> + <translation>Bevestig verwijderen</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete %s theme?</source> + <translation>%s thema verwijderen?</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Validation Error</source> + <translation>Validatie fout</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="564"/> + <source>A theme with this name already exists.</source> + <translation>Er bestaat al een thema met deze naam.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> - <source>Edit Theme - %s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>Thema assistent</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>Welkom bij de thema assistent</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> - <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> - <translation type="unfinished"></translation> + <translation>Achtergrond instellen</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> - <translation type="unfinished"></translation> + <translation>Thema achtergrond instellen met onderstaande parameters.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="420"/> + <source>Background type:</source> + <translation>Achtergrond type:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="422"/> + <source>Solid Color</source> + <translation>Vaste kleur</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="424"/> + <source>Gradient</source> + <translation>Kleurverloop</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="474"/> + <source>Color:</source> + <translation>Kleur:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="433"/> + <source>Gradient:</source> + <translation>Kleurverloop:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="435"/> + <source>Horizontal</source> + <translation>Horizontaal</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="437"/> + <source>Vertical</source> + <translation>Verticaal</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="439"/> + <source>Circular</source> + <translation>Radiaal</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="441"/> + <source>Top Left - Bottom Right</source> + <translation>Links boven - rechts onder</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="443"/> - <source>Background type:</source> - <translation type="unfinished"></translation> + <source>Bottom Left - Top Right</source> + <translation>Links onder - Rechts boven</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> - <source>Solid Color</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="446"/> + <source>Main Area Font Details</source> + <translation>Font instellingen algemeen</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> - <source>Gradient</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="448"/> + <source>Define the font and display characteristics for the Display text</source> + <translation>Stel de eigenschappen voor de tekst weergave in</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="473"/> + <source>Font:</source> + <translation>Font:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> - <source>Color:</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="475"/> + <source>Size:</source> + <translation>Grootte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> - <source>Gradient:</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="455"/> + <source>Line Spacing:</source> + <translation>Interlinie:</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="458"/> - <source>Horizontal</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> - <source>Vertical</source> - <translation type="unfinished"></translation> + <source>&Outline:</source> + <translation>&Omtrek:</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="462"/> - <source>Circular</source> - <translation type="unfinished"></translation> + <source>&Shadow:</source> + <translation>&Schaduw:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> - <source>Top Left - Bottom Right</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="465"/> + <source>Bold</source> + <translation>Vet</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="466"/> - <source>Bottom Left - Top Right</source> - <translation type="unfinished"></translation> + <source>Italic</source> + <translation>Cursief</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished"></translation> + <source>Footer Area Font Details</source> + <translation>Eigenschappen voettekst</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> - <source>Main Area Font Details</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="470"/> + <source>Define the font and display characteristics for the Footer text</source> + <translation>Stel de eigenschappen voor de voettekst weergave in</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> - <source>Define the font and display characteristics for the Display text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> - <source>Font:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> - <source>Size:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="477"/> + <source>Text Formatting Details</source> + <translation>Tekst opmaak eigenschappen</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="479"/> - <source>Line Spacing:</source> - <translation type="unfinished"></translation> + <source>Allows additional display formatting information to be defined</source> + <translation>Toestaan dat er afwijkende opmaak kan worden bepaald</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="482"/> - <source>&Outline:</source> - <translation type="unfinished"></translation> + <source>Horizontal Align:</source> + <translation>Horizontaal uitlijnen:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="484"/> + <source>Left</source> + <translation>links</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="486"/> - <source>&Shadow:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> - <source>Bold</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> - <source>Italic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> - <source>Footer Area Font Details</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> - <source>Define the font and display characteristics for the Footer text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> - <source>Text Formatting Details</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> - <source>Allows additional display formatting information to be defined</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> - <source>Horizontal Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> - <source>Left</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> <source>Right</source> - <translation type="unfinished"></translation> + <translation>rechts</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> - <translation type="unfinished"></translation> + <translation>Centreren</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="492"/> + <source>Output Area Locations</source> + <translation>Uitvoer gebied locaties</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="494"/> + <source>Allows you to change and move the main and footer areas.</source> + <translation>Toestaan dat tekstvelden gewijzigd en verplaatst worden.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="497"/> + <source>&Main Area</source> + <translation>&Hoofdgebied</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="499"/> + <source>&Use default location</source> + <translation>Gebr&uik standaard locatie</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="512"/> + <source>X position:</source> + <translation>X positie:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="524"/> + <source>px</source> + <translation>px</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> + <source>Y position:</source> + <translation>Y positie:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="518"/> + <source>Width:</source> + <translation>Breedte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="522"/> + <source>Height:</source> + <translation>Hoogte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="526"/> + <source>Use default location</source> + <translation>Gebruik standaard locatie</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> - <source>Transitions:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> - <source>Output Area Locations</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> - <source>Allows you to change and move the main and footer areas.</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themewizard.py" line="528"/> + <source>Save and Preview</source> + <translation>Opslaan en voorbeeld</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="530"/> - <source>&Main Area</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> - <source>&Use default location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> - <source>X position:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> - <source>px</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> - <source>Y position:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> - <source>Width:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> - <source>Height:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> - <source>&Footer Area</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> - <source>Use default location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> - <source>Save and Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> - <translation type="unfinished"></translation> + <translation>Thema bekijken en sla het op onder dezelfde naam om te vervangen of onder een andere naam om een nieuw thema te maken</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> - <translation type="unfinished"></translation> + <translation>Thema naam:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="411"/> + <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> + <translation>Deze assistent helpt bij het maken en bewerken van thema's. Klik op volgende om als eerste een achtergrond in te stellen.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="490"/> + <source>Transitions:</source> + <translation>Overgangen:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="510"/> + <source>&Footer Area</source> + <translation>&Voettekst gebied</translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="300"/> + <source>Edit Theme - %s</source> + <translation>Bewerk thema - %s</translation> </message> </context> <context> <name>OpenLP.ThemesTab</name> - <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> - <source>Global Theme</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/themestab.py" line="104"/> - <source>Theme Level</source> - <translation type="unfinished"></translation> + <source>Global Theme</source> + <translation>Globaal thema</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="106"/> - <source>S&ong Level</source> - <translation type="unfinished"></translation> + <source>Theme Level</source> + <translation>Thema niveau</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="108"/> - <source>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.</source> - <translation type="unfinished"></translation> + <source>S&ong Level</source> + <translation>&Lied niveau</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> - <source>&Service Level</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themestab.py" line="110"/> + <source>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.</source> + <translation>Gebruik het thema bij elk lied in de database. Als een lied geen eigen thema heeft, gebruik dan het thema van de liturgie. Als de liturgie geen eigen thema heeft, gebruik dan het globale thema.</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="115"/> - <source>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.</source> - <translation type="unfinished"></translation> + <source>&Service Level</source> + <translation>&Liturgie niveau</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> - <source>&Global Level</source> - <translation type="unfinished"></translation> + <location filename="openlp/core/ui/themestab.py" line="117"/> + <source>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.</source> + <translation>Gebruik het thema van de liturgie en negeer de thema's van elk lied afzonderlijk. Als de liturgie geen eigen thema heeft, gebruik dan het globale thema.</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="121"/> + <source>&Global Level</source> + <translation>&Globaal niveau</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> - <translation type="unfinished"></translation> + <translation>Gebruik het globale thema en negeer alle thema's van de liturgie of de afzonderlijke liederen.</translation> </message> </context> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> + <translation>Fout</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Toevoegen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Geavanceerd</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Maak nieuwe liturgie.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Bewerken</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Import</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Live</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished">Nieuw</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Nieuwe liturgie</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Open liturgie</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Voorbeeld</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Live-achtergrond herstellen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Liturgie</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Over</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Bladeren...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">Annuleren</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Afbeelding</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Nieuw thema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Niets geselecteerd</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">You must select an item to edit.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Thema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Thema's</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Importeren beëindigd.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importeren</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importing "%s"...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Klaar.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Welkom bij de Bijbel Import Assistent</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Welkom bij de lied import assistent</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Auteurs</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Liedbundel</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Liedboeken</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Onderwerp</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Onderwerpen</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> <translation type="unfinished"></translation> </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> - <translation type="unfinished"></translation> + <translation><strong>Presentatie plugin</strong><br />De presentatie plugin voorziet in de mogelijkheid om verschillende soorten presentaties weer te geven. De keuze van beschikbare presentatie software staat in een uitklapmenu.</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> - <source>Presentation</source> - <comment>name singular</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> - <source>Presentations</source> - <comment>name plural</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> - <source>Presentations</source> - <comment>container title</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished"></translation> + <translation>Laad nieuwe presentatie</translation> </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> - <translation type="unfinished"></translation> + <translation>Geselecteerde presentatie verwijderen</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation>Geef van geselecteerde presentatie voorbeeld weer</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation>Geselecteerde presentatie Live</translation> </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> - <source>Preview the selected Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> - <source>Send the selected Presentation live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> <source>Add the selected Presentation to the service</source> - <translation type="unfinished"></translation> + <translation>Voeg geselecteerde presentatie toe aan de liturgie</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> + <source>Presentation</source> + <comment>name singular</comment> + <translation>Presentatie</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> + <source>Presentations</source> + <comment>name plural</comment> + <translation>Präsentationen</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> + <source>Presentations</source> + <comment>container title</comment> + <translation>Presentaties</translation> </message> </context> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> - <translation type="unfinished"></translation> + <translation>Selecteer presentatie(s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> - <translation type="unfinished"></translation> + <translation>automatisch</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> - <translation type="unfinished"></translation> + <translation>Presenteren met:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> - <source>Presentations (%s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> - <source>File Exists</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> - <translation type="unfinished"></translation> + <translation>Er bestaat al een presentatie met die naam.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>File Exists</source> + <translation>Bestand bestaat</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> - <translation type="unfinished"></translation> + <translation>Niet ondersteund bestandsformaat</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> - <translation type="unfinished"></translation> + <translation>Dit soort presentatie wordt niet ondersteund.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> + <source>Presentations (%s)</source> + <translation>Presentaties (%s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> - <translation type="unfinished"></translation> + <translation>Ontbrekende presentatie</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> - <translation type="unfinished"></translation> + <translation>De presentatie %s bestaat niet meer.</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation>De presentatie %s is niet compleet, herladen aub.</translation> </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> - <translation type="unfinished"></translation> + <translation>Beschikbare regelaars</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> + <translation>Presentatieprogramma kan overschreven worden</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> - <translation type="unfinished"></translation> + <translation><strong>Remote Plugin</strong><br />The remote plugin voorziet in de mogelijkheid berichten te sturen naar een andere (draaiende) versie van OpenLP op een andere computer via een web-browser of via de remote API.</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Remote</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation>Remotes</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation>Remote</translation> </message> </context> <context> <name>RemotePlugin.RemoteTab</name> - <message> - <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> - <source>Server Settings</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/remotes/lib/remotetab.py" line="68"/> <source>Serve on IP address:</source> - <translation type="unfinished"></translation> + <translation>Beschikbaar via IP-adres:</translation> </message> <message> <location filename="openlp/plugins/remotes/lib/remotetab.py" line="70"/> <source>Port number:</source> - <translation type="unfinished"></translation> + <translation>Poort nummer:</translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> + <source>Server Settings</source> + <translation>Server instellingen</translation> </message> </context> <context> @@ -3772,1296 +3849,960 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="64"/> <source>&Song Usage Tracking</source> - <translation type="unfinished"></translation> + <translation>&Lied gebruik bijhouden</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/> <source>&Delete Tracking Data</source> - <translation type="unfinished"></translation> + <translation>Verwij&der gegevens liedgebruik</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="70"/> <source>Delete song usage data up to a specified date.</source> - <translation type="unfinished"></translation> + <translation>Verwijder alle gegevens over lied gebruik tot een bepaalde datum.</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/> <source>&Extract Tracking Data</source> - <translation type="unfinished"></translation> + <translation>&Extraheer gegevens liedgebruik</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="77"/> <source>Generate a report on song usage.</source> - <translation type="unfinished"></translation> + <translation>Geneer rapportage liedgebruik.</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/> <source>Toggle Tracking</source> - <translation type="unfinished"></translation> + <translation>Gegevens bijhouden aan|uit</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/> <source>Toggle the tracking of song usage.</source> - <translation type="unfinished"></translation> + <translation>Gegevens liedgebruik bijhouden aan of uit zetten.</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="167"/> <source><strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.</source> - <translation type="unfinished"></translation> + <translation><strong>Liedgebruik plugin</strong><br />Met deze plugin kunt u bijhouden welke liederen tijdens de vieringen gezongen worden.</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="178"/> <source>SongUsage</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Liedprotokollierung</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="180"/> <source>SongUsage</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation>Liedprotokollierung</translation> </message> <message> <location filename="openlp/plugins/songusage/songusageplugin.py" line="185"/> <source>SongUsage</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation>Liedgebruik</translation> </message> </context> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> - <translation type="unfinished"></translation> + <translation>Gegevens liedgebruik verwijderen</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> <source>Delete Selected Song Usage Events?</source> - <translation type="unfinished"></translation> + <translation>Wilt u de gegevens liedgebruik verwijderen?</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> <source>Are you sure you want to delete selected Song Usage data?</source> + <translation>Weet u zeker dat u de gegevens liedgebruik wilt verwijderen?</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> - <translation type="unfinished"></translation> + <translation>Gegevens liedgebruik extraheren</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> - <translation type="unfinished"></translation> + <translation>Selecteer periode</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> - <translation type="unfinished"></translation> + <translation>tot</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> - <source>Output File Location</source> - <translation type="unfinished"></translation> + <translation>Locatie rapport</translation> </message> <message> <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <source>Output File Location</source> + <translation>Bestandslocatie</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> + <translation>liedgebruik_details_%s_%s.txt</translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> - <source>Arabic (CP-1256)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> - <source>Baltic (CP-1257)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> - <source>Central European (CP-1250)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> - <source>Cyrillic (CP-1251)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> - <source>Greek (CP-1253)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> - <source>Hebrew (CP-1255)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> - <source>Japanese (CP-932)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> - <source>Korean (CP-949)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> - <source>Simplified Chinese (CP-936)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> - <source>Thai (CP-874)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> - <source>Traditional Chinese (CP-950)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> - <source>Turkish (CP-1254)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> - <source>Vietnam (CP-1258)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> - <source>Western European (CP-1252)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> - <source>Character Encoding</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> - <source>The codepage setting is responsible -for the correct character representation. -Usually you are fine with the preselected choice.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> - <source>Please choose the character encoding. -The encoding is responsible for the correct character representation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> - <translation type="unfinished"></translation> + <translation>&Lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> - <translation type="unfinished"></translation> + <translation>Importeer liederen met de lied assistent.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> - <source>&Re-index Songs</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> - <source>Re-index the songs database to improve searching and ordering.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Reindexing songs...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> - <translation type="unfinished"></translation> + <translation><strong>Lied plugin</strong><br />De lied plugin regelt de weergave en het beheer van liederen.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> - <source>Song</source> - <comment>name singular</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> + <source>&Re-index Songs</source> + <translation>He&r-indexeer liederen</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> - <source>Songs</source> - <comment>name plural</comment> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> + <source>Re-index the songs database to improve searching and ordering.</source> + <translation>Her-indexxer de liederen in de database om het zoeken en ordenen te verbeteren.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> - <source>Songs</source> - <comment>container title</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> - <source>Add a new Song</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> - <source>Edit the selected Song</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> + <source>Reindexing songs...</source> + <translation>Liederen her-indexeren...</translation> </message> <message> <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished"></translation> + <source>Add a new Song</source> + <translation>Voeg nieuw lied toe</translation> </message> <message> <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation>Bewerk geselecteerde lied</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> - <translation type="unfinished"></translation> + <translation>Verwijder geselecteerde lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> - <translation type="unfinished"></translation> + <translation>Toon voorbeeld geselecteerd lied</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> - <translation type="unfinished"></translation> + <translation>Toon lied Live</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> + <translation>Voeg geselecteerde lied toe aan de liturgie</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <source>Song</source> + <comment>name singular</comment> + <translation>Lied</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> + <source>Songs</source> + <comment>name plural</comment> + <translation>Lieder</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> + <source>Songs</source> + <comment>container title</comment> + <translation>Liederen</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> + <source>Arabic (CP-1256)</source> + <translation>Arabisch (CP-1256)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> + <source>Baltic (CP-1257)</source> + <translation>Baltisch (CP-1257)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> + <source>Central European (CP-1250)</source> + <translation>Centraal Europees (CP-1250)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> + <source>Cyrillic (CP-1251)</source> + <translation>Cyrillisch (CP-1251)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> + <source>Greek (CP-1253)</source> + <translation>Grieks (CP-1253)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> + <source>Hebrew (CP-1255)</source> + <translation>Hebreeuws (CP-1255)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> + <source>Japanese (CP-932)</source> + <translation>Japans (CP-932)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> + <source>Korean (CP-949)</source> + <translation>Koreaans (CP-949)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> + <source>Simplified Chinese (CP-936)</source> + <translation>Chinees, eenvoudig (CP-936)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> + <source>Thai (CP-874)</source> + <translation>Thais (CP-874)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> + <source>Traditional Chinese (CP-950)</source> + <translation>Traditioneel Chinees (CP-950)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> + <source>Turkish (CP-1254)</source> + <translation>Turks (CP-1254)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> + <source>Vietnam (CP-1258)</source> + <translation>Vietnamees (CP-1258)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> + <source>Western European (CP-1252)</source> + <translation>Westeuropees (CP-1252)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Character Encoding</source> + <translation>Tekst codering</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Please choose the character encoding. +The encoding is responsible for the correct character representation.</source> + <translation>Kies een tekstcodering (codepage). +De tekstcodering is verantwoordelijk voor een correcte weergave van lettertekens.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> + <source>The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice.</source> + <translation>De tekstcodering is verantwoordelijk voor +een correcte weergave van lettertekens. +Meestal voldoet de suggestie van OpenLP.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> - <translation type="unfinished"></translation> + <translation>Auteur hebeer</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> - <translation type="unfinished"></translation> + <translation>Weergave naam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> - <translation type="unfinished"></translation> + <translation>Voornaam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> - <translation type="unfinished"></translation> + <translation>Achternaam:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/authorsform.py" line="83"/> <source>You need to type in the first name of the author.</source> - <translation type="unfinished"></translation> + <translation>De voornaam van de auteur moet worden opgegeven.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> - <translation type="unfinished"></translation> + <translation>De achternaam van de auteur moet worden opgegeven.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> - <translation type="unfinished"></translation> + <translation>Geen weergave naam opgegeven. Moeten de voor- en achternaam gecombineerd worden?</translation> </message> </context> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> - <translation type="unfinished"></translation> + <translation>Lied %d van %d wordt geïmporteerd...</translation> </message> </context> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> - <translation type="unfinished"></translation> + <translation>Lied bewerker</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> - <translation type="unfinished"></translation> + <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> - <source>Alt&ernate title:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> - <translation type="unfinished"></translation> + <translation>Lied&tekst:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> - <source>&Verse order:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> - <translation type="unfinished"></translation> + <translation>&Alles bewerken</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> - <translation type="unfinished"></translation> + <translation>Titel && Liedtekst</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> - <translation type="unfinished"></translation> + <translation>Voeg toe &aan lied</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> - <translation type="unfinished"></translation> + <translation>Ve&rwijderen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> - <source>&Manage Authors, Topics, Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> - <translation type="unfinished"></translation> + <translation>Voeg toe &aan lied</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> - <translation type="unfinished"></translation> + <translation>V&erwijderen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> - <source>Book:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> - <source>Number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> - <source>Authors, Topics && Song Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> - <translation type="unfinished"></translation> + <translation>Nieuw &Thema</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> - <translation type="unfinished"></translation> + <translation>Copyright</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> + <source>Comments</source> + <translation>Commentaren</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> + <source>Theme, Copyright Info && Comments</source> + <translation>Thema, Copyright && Commentaren</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>Add Author</source> + <translation>Voeg auteur toe</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>This author does not exist, do you want to add them?</source> + <translation>Deze auteur bestaat nog niet, toevoegen?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> + <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> + <translation>Geen auteur geselecteerd. Kies een auteur uit de lijst of voeg er een toe door de naam in te typen en op de knop "Voeg auteur toe" te klikken.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>Add Topic</source> + <translation>Voeg onderwerp toe</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>This topic does not exist, do you want to add it?</source> + <translation>Dit onderwerp bestaat nog niet, toevoegen?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> + <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> + <translation>Geen geldig onderwerp geselecteerd. Kies een onderwerp uit de lijst of type een nieuw onderwerp en klik op "Nieuw onderwerp toevoegen".</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>Add Book</source> + <translation>Voeg boek toe</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>This song book does not exist, do you want to add it?</source> + <translation>Dit liedboek bestaat nog niet, toevoegen?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> + <source>You need to type in a song title.</source> + <translation>Vul de titel van het lied in.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> + <source>You need to type in at least one verse.</source> + <translation>Vul minstens de tekst van één couplet in.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>Warning</source> + <translation>Waarschuwing</translation> </message> <message> <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> - <source>Comments</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> - <source>Theme, Copyright Info && Comments</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> - <source>Add Author</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> - <source>This author does not exist, do you want to add them?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> - <source>This author is already in the list.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> - <source>Add Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> - <source>This topic does not exist, do you want to add it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> - <source>This topic is already in the list.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> - <source>You need to type in a song title.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> - <source>You need to type in at least one verse.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> - <source>You need to have an author for this song.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> - <translation type="unfinished"></translation> + <translation>De volgorde van de coupletten klopt niet. Er is geen couplet dat overeenkomt met %s. Wel zijn %s beschikbaar.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> - <source>Warning</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> - <translation type="unfinished"></translation> + <translation type="unfinished">You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> - <source>Add Book</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> + <source>Alt&ernate title:</source> + <translation type="unfinished">Alt&ernate title:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> - <source>This song book does not exist, do you want to add it?</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> + <source>&Verse order:</source> + <translation type="unfinished">&Verse order:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> + <source>&Manage Authors, Topics, Song Books</source> + <translation type="unfinished">&Manage Authors, Topics, Song Books</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <source>Authors, Topics && Song Book</source> + <translation type="unfinished">Authors, Topics && Song Book</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> + <source>This author is already in the list.</source> + <translation type="unfinished">This author is already in the list.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> + <source>This topic is already in the list.</source> + <translation type="unfinished">This topic is already in the list.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <source>Book:</source> + <translation>Boek:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <source>Number:</source> + <translation>Nummer:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> + <source>You need to have an author for this song.</source> + <translation type="unfinished">You need to have an author for this song.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">You need to type some text in to the verse.</translation> </message> </context> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> - <translation type="unfinished"></translation> + <translation>Couplet bewerken</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> + <translation>Co&uplet type:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> + <source>&Insert</source> + <translation>&Invoegen</translation> + </message> +</context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> - <source>&Insert</source> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.ImportWizardForm</name> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> - <source>Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> - <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> + <source>Song Import Wizard</source> + <translation>Lied import assistent</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation type="unfinished">This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> - <source>Generic Document/Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> - <source>Filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> - <source>Remove File(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> - <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> - <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> - <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> - <source>Please wait while your songs are imported.</source> - <translation type="unfinished"></translation> + <translation>Toevoegen...</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished"></translation> + <source>Remove File(s)</source> + <translation>Verwijder bestand(en)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <source>Filename:</source> + <translation>Bestandsnaam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation type="unfinished">Please wait while your songs are imported.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>OpenLP 2.0 Databases</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>openlp.org v1.x Databases</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Words Of Worship Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Select Document/Presentation Files</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> + <source>Generic Document/Presentation</source> + <translation type="unfinished">Generic Document/Presentation</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished">The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished">The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> + <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> + <translation type="unfinished">The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</translation> </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> + <translation type="unfinished">Administered by %s</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> + <source>OpenLP 2.0 Databases</source> + <translation type="unfinished">OpenLP 2.0 Databases</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> + <source>openlp.org v1.x Databases</source> + <translation type="unfinished">openlp.org v1.x Databases</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> + <source>Words Of Worship Song Files</source> + <translation type="unfinished">Words Of Worship Song Files</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Maintain the lists of authors, topics and books</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Entire Song</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> - <translation type="unfinished"></translation> + <translation>Titels</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> - <translation type="unfinished"></translation> + <translation>Liedtekst</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Delete Song(s)?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> + <source>CCLI License: </source> + <translation>CCLI Licentie: </translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Entire Song</source> + <translation>Gehele lied</translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> + <numerusform>Are you sure you want to delete the %n selected song(s)?</numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> - <source>CCLI License: </source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Importing song %d of %d.</translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> - <source>Song Book Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> - <translation type="unfinished"></translation> + <translation>&Naam:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> - <translation type="unfinished"></translation> + <translation>&Uitgever:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> <source>You need to type in a name for the book.</source> + <translation>Er moet een naam worden opgegeven.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> + <source>Song Book Maintenance</source> + <translation>Onderhoud Liedboeken</translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> + <translation>copyright</translation> </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> - <translation type="unfinished"></translation> + <translation>Lied import mislukt.</translation> </message> </context> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> - <source>Could not add your author.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> - <source>This author already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> - <source>Could not add your topic.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> - <source>This topic already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> - <source>Could not add your book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> - <source>This book already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> - <source>Could not save your changes.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> - <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> - <source>Could not save your modified author, because the author already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> - <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> - <source>Could not save your modified topic, because it already exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> - <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> - <translation type="unfinished"></translation> + <translation>Auteur verwijderen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> - <translation type="unfinished"></translation> + <translation>Weet u zeker dat u de auteur wilt verwijderen?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>This author cannot be deleted, they are currently assigned to at least one song.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> - <translation type="unfinished"></translation> + <translation>Onderwerp verwijderen</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> - <translation type="unfinished"></translation> + <translation>Weet u zeker dat u dit onderwerp wilt verwijderen?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> - <translation type="unfinished"></translation> + <translation>Verwijder boek</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> - <translation type="unfinished"></translation> + <translation>Weet u zeker dat u dit boek wilt verwijderen?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> + <source>Could not add your author.</source> + <translation>Kon de auteur niet toevoegen.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> + <source>This author already exists.</source> + <translation>Deze auteur bestaat al.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> + <source>Could not add your topic.</source> + <translation>Kon dit onderwerp niet toevoegen.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> + <source>This topic already exists.</source> + <translation>Dit onderwerp bestaat al.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> + <source>Could not add your book.</source> + <translation>Kon dit boek niet toevoegen.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> + <source>This book already exists.</source> + <translation>Dit boek bestaat al.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> + <source>Could not save your changes.</source> + <translation>De wijzigingen kunnen niet opgeslagen worden.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> + <source>Could not save your modified topic, because it already exists.</source> + <translation type="unfinished">Could not save your modified topic, because it already exists.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>This author cannot be deleted, they are currently assigned to at least one song.</source> + <translation type="unfinished">This author cannot be deleted, they are currently assigned to at least one song.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished">This topic cannot be deleted, it is currently assigned to at least one song.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">This book cannot be deleted, it is currently assigned to at least one song.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> + <source>Could not save your modified author, because the author already exists.</source> + <translation type="unfinished">Could not save your modified author, because the author already exists.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> + <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> + <translation type="unfinished">The author %s already exists. Would you like to make songs with author %s use the existing author %s?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> + <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> + <translation type="unfinished">The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> + <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> + <translation type="unfinished">The book %s already exists. Would you like to make songs with book %s use the existing book %s?</translation> </message> </context> <context> @@ -5069,91 +4810,83 @@ The encoding is responsible for the correct character representation.</source> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> <source>Songs Mode</source> - <translation type="unfinished"></translation> + <translation>Lied instellingen</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> <source>Enable search as you type</source> - <translation type="unfinished"></translation> + <translation>Zoeken tijdens het typen</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> <source>Display verses on live tool bar</source> - <translation type="unfinished"></translation> + <translation>Coupletten weergeven op live werkbalk</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> <source>Update service from song edit</source> - <translation type="unfinished"></translation> + <translation>Liturgie bijwerken met bewerkt lied</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> <source>Add missing songs when opening service</source> - <translation type="unfinished"></translation> + <translation>Ontbrekende liederen toevoegen bij het openen van de liturgie</translation> </message> </context> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> - <translation type="unfinished"></translation> + <translation>Onderwerp onderhoud </translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> - <translation type="unfinished"></translation> + <translation>Onderwerp naam:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> <source>You need to type in a topic name.</source> - <translation type="unfinished"></translation> + <translation>U moet een onderwerp invullen.</translation> </message> </context> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> - <translation type="unfinished"></translation> + <translation>Couplet</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> <source>Chorus</source> - <translation type="unfinished"></translation> + <translation>Refrein</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation>Bridge</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation>Tussenspel</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> - <source>Bridge</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> - <source>Pre-Chorus</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> <source>Intro</source> - <translation type="unfinished"></translation> + <translation>Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> - <translation type="unfinished"></translation> + <translation>Eind</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> + <translation>Overig</translation> </message> </context> </TS> diff --git a/resources/i18n/pt_BR.ts b/resources/i18n/pt_BR.ts index ad395026e..84f162366 100644 --- a/resources/i18n/pt_BR.ts +++ b/resources/i18n/pt_BR.ts @@ -3,91 +3,88 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> - <translation type="unfinished"></translation> + <translation>Nenhum Parâmetro encontrado</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>Você não entrou com um parâmetro para ser substituído. +Ainda deseja continuar?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> - <translation type="unfinished"></translation> + <translation>Nenhum lugar marcado foi encontrado</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> - <translation type="unfinished"></translation> + <translation>O texto de alerta não contém '<>'. +Ainda deseja continuar?</translation> </message> </context> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Exibir uma mensagem de alerta.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Plugin de Alertas</strong><br />O plugin de alertas controla a exibição de alertas de berçário na tela de apresentação</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Alertas</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> - <translation type="unfinished">Alertas</translation> + <translation>Alertas</translation> </message> </context> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation>Mensagem de Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>&Texto de Alerta:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation>&Novo</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation>&Salvar</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Deletar</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -99,19 +96,19 @@ Do want to continue anyway?</source> <translation>Exibir && &Fechar</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Novo Alerta</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> <translation>Você não digitou nenhum texto para o seu alerta. Por favor digite algum texto antes de clicar em Novo.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> - <translation type="unfinished"></translation> + <translation>&Parâmetro:</translation> </message> </context> <context> @@ -125,259 +122,214 @@ Do want to continue anyway?</source> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Fonte</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Nome da fonte:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> <translation>Cor da fonte:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Cor do plano de fundo:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> <translation>Tamanho da fonte:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation>pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> <translation>Tempo limite para o Alerta:</translation> </message> +</context> +<context> + <name>BibleDB.Wizard</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation>s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation>Importando testamentos... %s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation>Localização:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation>Importando testamentos... concluído.</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation>Pré-Visualização</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation>Importando livros... %s</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation>Importando versículos de %s...</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Topo</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation>Meio</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Rodapé</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation>Importando versículos... concluído.</translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> - <translation type="unfinished"></translation> + <translation>Erro no Download</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> - <translation type="unfinished"></translation> + <translation>Erro na Leitura</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Ocorreu um problema ao baixar os versículos selecionados. Verifique sua conexão com a Internet, e se este erro continuar ocorrendo, por favor considere relatar um bug.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> - <translation type="unfinished"></translation> + <translation>Houve um problema extraindo os versículos selecionados. Se este erro continuar ocorrendo, por favor considere relatar um bug.</translation> </message> </context> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> - <translation type="unfinished"></translation> + <translation>A Bíblia não foi carregada completamente</translation> </message> </context> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation>&Bíblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Plugin da Bíblia</strong><br />Este plugin permite exibir versículos bíblicos de diferentes fontes durante o culto.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> - <translation type="unfinished"></translation> + <translation>Importar Bíblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> - <translation type="unfinished"></translation> + <translation>Adicionar nova Bíblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> - <translation type="unfinished"></translation> + <translation>Editar a Bíblia selecionada</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> - <translation type="unfinished"></translation> + <translation>Deletar a Bíblia selecionada</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> - <translation type="unfinished"></translation> + <translation>Pré-Visualizar a Bíblia selecionada</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> - <translation type="unfinished"></translation> + <translation>Projetar a Bíblia selecionada</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> - <translation type="unfinished"></translation> + <translation>Adicione a Bíblia selecionada à Lista de Exibição</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> - <translation type="unfinished">Bíblia</translation> + <translation>Bíblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Bíblias</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> - <translation type="unfinished">Bíblias</translation> + <translation>Bíblias</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation type="unfinished">&Importar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished">%Adicionar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation type="unfinished">&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> - <translation type="unfinished">Nenhum Livro Encontrado</translation> + <translation>Nenhum Livro Encontrado</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> - <translation type="unfinished"></translation> + <translation>Nenhum livro correspondente foi encontrado nesta Bíblia. Verifique se você digitou o nome do livro corretamente.</translation> </message> </context> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> - <translation>Erro de Referência na Escritura.</translation> + <translation>Erro de Referência na Escritura</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> - <translation type="unfinished"></translation> + <translation>Não é possível usar a Bíblia Online</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>A Pesquisa de Texto não está disponível para Bíblias Online.</translation> </message> <message> <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> - <source>Text Search is not available with Web Bibles.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> - <translation type="unfinished"></translation> + <translation>Você não digitou uma palavra-chave de pesquisa. +Você pode separar diferentes palavras-chave com um espaço para procurar por todas as palavras-chave e pode separá-las com uma vírgula para pesquisar por alguma delas.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> - <translation type="unfinished"></translation> + <translation>Nenhuma Bíblia disponível</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> - <translation type="unfinished"></translation> + <translation>Nenhuma Bíblia instalada atualmente. Por favor, utilize o Assistente de Importação para instalar uma ou mais Bíblias.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -391,521 +343,355 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> <translation>Exibição do Versículo</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation>Somente mostrar números de capítulos novos</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> <translation>Estilo do Layout:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> <translation>Estilo de Exibição:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> <translation>Tema da Bíblia:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Versículos por Slide</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Versículos por Linha</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Contínuo</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Sem Parênteses</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( E )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ E }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ E ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Nota: Mudanças não afetam os versículos que já estão no culto.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> <translation type="unfinished"></translation> </message> </context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> <translation>Assistente de Importação de Bíblia</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Bem Vindo ao assistente de Importação de Bíblias</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> <translation>Este assistente irá ajudá-lo a importar Bíblias de uma variedade de formatos. Clique no botão próximo abaixo para começar o processo selecionando o formato a ser importado.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation>Selecionar Origem da Importação</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Selecione o formato, e de onde importar.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation>Formato:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation>OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation>CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation>OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> <translation>Download da Internet</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation>Local do arquivo:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation>Localização dos livros:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation>Localização do Versículo:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation>Nome do arquivo da Bíblia:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Localização:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> - <translation type="unfinished">Crosswalk</translation> + <translation>Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> - <translation type="unfinished">BibleGateway</translation> + <translation>BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation>Bíblia:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation>Opções de Download</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation>Servidor:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation>Nome de Usuário:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation>Senha:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation>Servidor Proxy (Opcional)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> <translation>Detalhes da Licença</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> <translation>Configurar detalhes de licença da Bíblia.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> <translation>Nome da Versão:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation>Direito Autoral:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation>Importando</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> <translation>Por favor aguarde enquanto a sua Bíblia é importada.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Pronto.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation>Localização da Bíblia Inválida</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Você precisa especificar um arquivo para importar a sua Bíblia.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation>Arquivo de Livros Inválido</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation>Você precisa especificar um arquivo com os livros da Bíblia para usar na importação.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation>Arquivo de Versículo Inválido</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation>Você precisa especificar um arquivo de Versículos da Bíblia para importar.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation>Bíblia do OpenSong Inválida</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation>Você precisa especificar uma Bíblia do OpenSong para importar.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation>Nome da Versão Vazio</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> - <translation>Você precisa especificar um nome de versão para a sua Bíblia</translation> + <translation>Você precisa especificar um nome de versão para a sua Bíblia.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Limpar Direito Autoral</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> <translation>Bíblia Existe</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Abrir arquivo OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation>Abrir arquivo CSV de Livros</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation>Abrir arquivo CSV de Versículos</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Abrir Biblia do OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation>Iniciando importação...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation>Importação Finalizada.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>A sua Importação da Bíblia falhou.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation>Você precisa definir os direitos autorais da sua Bíblia. Traduções em Domínio Público devem ser marcadas como tal.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation>Esta Bíblia já existe. Importe uma Bíblia diferente ou apague a existente primeiro.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> - <translation type="unfinished"></translation> + <translation>Registrando Bíblia...</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> - <translation type="unfinished"></translation> + <translation>Bíblia registrada. Note que os versos serão baixados de acordo +com o uso, portanto uma conexão com a internet é necessária.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> - <translation type="unfinished"></translation> + <translation>Permissões:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> - <translation type="unfinished"></translation> + <translation>Arquivo CSV</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> - <translation type="unfinished"></translation> + <translation>Bíblia do openlp.org 1.x</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">Todos os Arquivos</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> - <translation type="unfinished"></translation> + <translation>Bibleserver</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation>Arquivo de Bíblia</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation>Arquivo de Testamentos</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation>Arquivo de Livros</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation>Arquivo de Versículos</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation>Você não especificou um arquivo de Testamentos. Deseja prosseguir com a importação?</translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation>Rápido</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation>Avançado</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation>Versão:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation>Tipo de busca:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation>Buscar:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation>Pesquisar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation>Resultados:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation>Livro:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation>Capítulo:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation>Versículo:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation>De:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation>Para:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation>Busca de Versículos</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation>Busca por Texto</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> <translation>Limpar</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> <translation>Manter</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Segundo:</translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Importando %s %s...</translation> </message> </context> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> - <translation type="unfinished"></translation> + <translation>Detectando codificação (isto pode levar alguns minutos)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Importando %s %s...</translation> </message> </context> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> - <translation type="unfinished"></translation> + <translation type="unfinished"><strong>Plugin Personalizado</strong><br />O plugin personalizado permite criar slides de texto que são apresentados da mesma maneira que as músicas. Este plugin permite mais liberdade do que o plugin de músicas.</translation> </message> </context> <context> @@ -913,7 +699,7 @@ demand and thus an internet connection is required.</source> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> <source>Custom Display</source> - <translation>Exibição Customizada</translation> + <translation>Exibição Personalizada</translation> </message> <message> <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> @@ -924,210 +710,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> - <translation>Editar Slides Customizados</translation> + <translation>Editar Slides Personalizados</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Mover slide uma posição acima.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Mover slide uma posição para baixo.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Título:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Adicionar um novo slide no final.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Editar o slide selecionado.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Editar todos os slides de uma vez.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Deletar a Bíblia selecionada.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Dividir Slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Dividir um slide em dois, inserindo um divisor de slides.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>The&ma:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation>&Créditos:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation>Salvar && Pré-Visualizar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Você precisa digitar um título.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Você precisa adicionar pelo menos um slide</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished">%Adicionar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished">&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Deletar</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Você não selecionou um item para editar.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Você não selecionou um item para apagar.</translation> + <translation>&Editar Todos</translation> </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation type="unfinished">Importar um Slide Personalizado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation type="unfinished">Abrir um novo Slide Personalizado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation type="unfinished">Adicionar um novo Slide Personalizado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation type="unfinished">Editar o Slide selecionado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation type="unfinished">Apagar o Slide selecionado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation type="unfinished">Pré-visualizar o Slide selecionado</translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation type="unfinished">Projetar o Slide selecionado</translation> </message> <message> <location filename="openlp/plugins/custom/customplugin.py" line="118"/> - <source>Import a Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> - <source>Load a new Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> - <source>Add a new Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> - <source>Edit the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> - <source>Delete the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> - <source>Preview the selected Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> - <source>Send the selected Custom live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> <source>Add the selected Custom to the service</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Adicionar o Slide selecionado à Lista de Exibição</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Customizado</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Customizado</translation> @@ -1136,329 +834,208 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> - <translation type="unfinished"><strong>Plugin de Imagens</strong><br />O plugin de imagens fornece a exibição de imagens,<br />Uma das funcionalidades importantes deste plugin é a habilidade de agrupar várias imagens na Lista de Exibição, facilitando a exibição de várias imagens. Este plugin também pode usar a funcionalidade de "loop temporizado" do OpenLP para criar uma apresentação de slides que é executada automaticamente. Além disso, imagens do plugin podem ser usadas em sobreposição ao plano de fundo do tema atual, exibindo itens baseados em texto como músicas com a imagem selecionada ao fundo ao invés do plano de fundo fornecido pelo tema.</translation> + <translation><strong>Plugin de Imagens</strong><br />O plugin de imagens fornece a exibição de imagens,<br />Uma das funcionalidades importantes deste plugin é a habilidade de agrupar várias imagens na Lista de Exibição, facilitando a exibição de várias imagens. Este plugin também pode usar a funcionalidade de "loop temporizado" do OpenLP para criar uma apresentação de slides que é executada automaticamente. Além disso, imagens do plugin podem ser usadas em sobreposição ao plano de fundo do tema atual, exibindo itens baseados em texto como músicas com a imagem selecionada ao fundo ao invés do plano de fundo fornecido pelo tema.</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation>Carregar um nova Imagem</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Adicionar uma nova Imagem</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Editar a Imagem selecionada</translation> </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> + <source>Delete the selected Image</source> + <translation>Deletar a Imagem selecionada</translation> </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="78"/> - <source>Load a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> - <source>Add a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> - <source>Edit the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> - <source>Delete the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> <source>Preview the selected Image</source> - <translation type="unfinished"></translation> + <translation>Pré-Visualizar a Imagem selecionada</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> - <translation type="unfinished"></translation> + <translation>Projetar a Imagem selecionada</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> - <translation type="unfinished"></translation> + <translation>Adicionar Imagem selecionada à Lista de Exibição</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> - <translation type="unfinished">Imagem</translation> + <translation>Imagem</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Imagens</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation>Imagens</translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation>Selecionar Anexo</translation> </message> </context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation>Selecionar Imagem(s)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Todos os Arquivos</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Trocar Plano de Fundo da Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Substituir Plano de Fundo</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation>Restabelecer o Plano de Fundo da Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation>Você precisa selecionar uma imagem para apagar.</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Imagem(s)</translation> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation>Você precisa selecionar uma imagem para definir como plano de fundo.</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>Missing Image(s)</source> + <translation>Imagem(s) não encontrada(s)</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> + <source>The following image(s) no longer exist: %s</source> + <translation>As seguintes imagens não existem: %s</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>The following image(s) no longer exist: %s +Do you want to add the other images anyway?</source> + <translation>As seguintes imagens não existem: %s +Deseja continuar adicionando as outras imagens?</translation> </message> <message> <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> - <source>You must select an image to replace the background with.</source> - <translation type="unfinished">Você precisa selecionar uma imagem para definir como plano de fundo.</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> - <source>Missing Image(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> - <source>The following image(s) no longer exist: %s</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> - <source>The following image(s) no longer exist: %s -Do you want to add the other images anyway?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> - <translation type="unfinished"></translation> + <translation>Ocorreu um erro ao substituir o plano de fundo da Projeção. O arquivo de imagem "%s" não existe.</translation> </message> </context> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation><strong>Plugin de Mídia</strong><br />O plugin de mídia faz a reprodução de áudio e vídeo.</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> - <translation type="unfinished"></translation> + <translation>Carregar nova Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> - <translation type="unfinished"></translation> + <translation>Adicionar nova Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> - <translation type="unfinished"></translation> + <translation>Editar Mídia selecionada</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> - <translation type="unfinished"></translation> + <translation>Excluir a Mídia selecionada</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> - <translation type="unfinished"></translation> + <translation>Pré-visualizar a Mídia selecionada</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> - <source>Add the selected Media to the service</source> - <translation type="unfinished"></translation> + <translation>Projetar a Mídia selecionada</translation> </message> <message> <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation>Adicionar a Mídia selecionada à Lista de Exibição</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> <translation type="unfinished">Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> <translation type="unfinished">Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> - <translation type="unfinished">Mídia</translation> + <translation>Mídia</translation> </message> </context> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation>Mídia</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation>Selecionar Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation>Trocar Plano de Fundo da Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Substituir Plano de Fundo</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>Você deve selecionar um arquivo de mídia para apagar.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> - <translation type="unfinished"></translation> + <translation>Arquivo de Mídia não encontrado</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> + <translation>O arquivo %s não existe.</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> - <translation type="unfinished">Você precisa definir um arquivo de mídia para definir como plano de fundo.</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você precisa selecionar um arquivo de mídia para definir como plano de fundo.</translation> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation>Ocorreu um erro ao substituir o plano de fundo. O arquivo de mídia "%s" não existe.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1466,35 +1043,25 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished">Mídia</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Exibição de Mídia</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> - <translation type="unfinished"></translation> + <translation>Usar o Phonon para exibição de vídeo</translation> </message> </context> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Arquivos de Imagem</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation>Sobre o OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1504,15 +1071,16 @@ OpenLP is free church presentation software, or lyrics projection software, used 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.</source> - <translation type="unfinished"></translation> + <translation>OpenLP<version><revision> - Projeção de Letras Open Source + +O OpenLP é um software livre de apresentação em igrejas, ou de projeção de letras, usado para exibir slides de músicas, versículos da Bíblia, vídeos, imagens e até apresentações (se OpenOffice.org, PowerPoint ou Powerpoint Viewer estiver instalado) para louvor na igreja usando um computador e um projetor. + +Conheça mais sobre o OpenLP: http://openlp.org/ + +O OpenLP é escrito e mantido por voluntários. Se você gostaria de contribuir para mais softwares livres Cristãos serem produzidos, considere contribuir usando o botão abaixo.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation>Sobre</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> <translation>Créditos</translation> </message> @@ -1532,7 +1100,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation> compilação %s</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1582,12 +1150,62 @@ Final Credit on the cross, setting us free from sin. We bring this software to you for free because He has set us free.</source> - <translation type="unfinished"></translation> + <translation>Coordenador do Projeto + Raoul "superfly" Snyman + +Desenvolvedores + Tim "TRB143" Bentley + Jonathan "gushie" Corwin + Michael "cocooncrash" Gorven + Scott "sguerrieri" Guerrieri + Raoul "superfly" Snyman + Martin "mijiti" Thompson + Jon "Meths" Tibble + +Contribuidores + Meinert "m2j" Jordan + Andreas "googol" Preikschat + Christian "crichter" Richter + Philip "Phill" Ridout + Maikel Stuivenberg + Carsten "catini" Tingaard + Frode "frodus" Woldsund + +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, Ubuntu) + +Construído com + Python: http://www.python.org/ + Qt4: http://qt.nokia.com/ + PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro + Oxygen Icons: http://oxygen-icons.org/ + +Crédito Final + "Porque Deus amou o mundo de tal maneira + que deu o seu Filho unigênito, + para que todo aquele que nele crê não pereça, + mas tenha a vida eterna". -- João 3:16 + + E por fim, mas não menos importante, o crédito final é de + Deus, nosso Pai, que enviou Seu Filho para morrer + na cruz, livrando-nos do pecado. Nós + disponibilizamos este software de forma livre porque + Ele nos libertou.</translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1723,125 +1341,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation>Avançado</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation>Configurações da Interface</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation>Número de arquivos recentes a serem exibidos:</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation>Lembrar aba ativa do gerenciador de mídia ao iniciar</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> - <translation type="unfinished"></translation> + <translation>Clicar duas vezes para enviar ítens ao vivo</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Expandir novos itens da lista de exibição</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Habilitar confirmação de saída do programa</translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> + <translation>Ponteiro do Mouse</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Cor do plano de fundo:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished">Abrir Arquivo</translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished">Editar Seleção</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished">Update</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished">Descrição</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished">Padrão</translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> - <translation type="unfinished"></translation> + <translation>Erro no Update</translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1849,67 +1475,103 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> - <translation type="unfinished"></translation> + <translation>Ops! O OpenLP encontrou um problema e não pôde recuperar-se. O texto na caixa abaixo contém informações que podem ser úteis para os desenvolvedores do OpenLP. Por favor, envie um e-mail para bugs@openlp.org, junto com uma descrição detalhada daquilo que você estava fazendo quando o problema ocorreu.</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Ocorreu um Erro</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> - <translation type="unfinished"></translation> + <translation>Enviar E-Mail</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> - <translation type="unfinished"></translation> + <translation>Salvar para um Arquivo</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation>Por favor, descreva o que você estava fazendo para causar este erro +(Mínimo de 20 caracteres)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation>Anexar Arquivo</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished">Caracteres que podem ser escritos na descrição: %s</translation> </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> - <translation type="unfinished"></translation> + <translation>Plataforma: %s +</translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation>Salvar Relatório de Travamento</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation>Arquivos de texto (*.txt *.log *.text)</translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s </source> - <translation type="unfinished"></translation> + <translation>**Relatório de Bug do OpenLP** +Versão %s + +--- Detalhes da Exceção. --- + +%s + + --- Traceback da Exceção --- +%s +--- Informações de Sistema --- +%s +--- Versões da Biblioteca --- +%s +</translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1917,153 +1579,167 @@ Version: %s %s </source> <comment>Please add the information that bug reports are favoured written in English.</comment> - <translation type="unfinished"></translation> + <translation>*Relatório de Bug do OpenLP* +Versão: %s + +--- Detalhes da Exceção. --- + +%s + + --- Traceback da Exceção --- +%s +--- Informações de Sistema --- +%s +--- Versões da Biblioteca --- +%s + +Agradecemos se for possível escrever seu relatório em inglês.</translation> </message> </context> <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> - <translation type="unfinished"></translation> + <translation>Renomear arquivo</translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> - <translation type="unfinished"></translation> + <translation>Novo nome de Arquivo:</translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> - <translation type="unfinished"></translation> + <translation>Copiar arquivo</translation> </message> </context> <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation>Geral</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation>Monitores</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation>Selecione um monitor para exibição:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> - <translation type="unfinished"></translation> + <translation>Exibir em caso de tela única</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation>Inicialização da Aplicação</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation>Exibir alerta de tela em branco</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation>Abrir a última Lista de Exibição automaticamente</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation>Exibir a tela inicial</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation>Configurações da Aplicação</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation>Perguntar sobre salvamento antes de iniciar uma nova lista</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Pré-visualizar automaticamente o próximo item na Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation>Atraso no loop de slide:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> - <translation>seg</translation> + <translation> seg</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation>Detalhes de CCLI</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>Número CCLI:</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>Usuário SongSelect:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>Senha do SongSelect:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation>Posição do Display</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Altura</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Largura</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation>Modificar posição do display</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> - <translation type="unfinished"></translation> + <translation>Tela</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> - <translation type="unfinished"></translation> + <translation>primário</translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation>Procurar por updates do OpenLP</translation> </message> </context> <context> @@ -2082,417 +1758,384 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> - <translation type="unfinished"></translation> + <translation>Exibição do OpenLP</translation> </message> </context> <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation>OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation>&Arquivo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation>&Importar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation>&Exportar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation>&Visualizar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation>M&odo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation>&Ferramentas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation>&Configurações</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation>&Idioma</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation>&Ajuda</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation>Gerenciador de Mídia</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> - <translation>Gerenciador de Lista de Exibição</translation> + <translation>Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation>Gerenciador de Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation>&Novo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Novo Culto</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Criar uma nova Lista de Exibição.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation>Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation>&Abrir</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Abrir Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Abrir uma Lista de Exibição existente.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation>Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation>&Salvar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Salvar Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Salvar a Lista de Exibição no disco.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation>Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation>Salvar &Como...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Salvar Lista de Exibição Como</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Salvar a Lista de Exibição atual com um novo nome.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation>S&air</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Fechar o OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation>Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation>&Tema</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Configurar o OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation>&Gerenciador de Mídia</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation>Alternar Gerenciador de Mídia</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Alternar a visibilidade do gerenciador de mídia.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation>F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation>&Gerenciador de Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation>Alternar para Gerenciamento de Temas</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Alternar a visibilidade do Gerenciador de Temas.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation>F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> - <translation>&Gerenciador de Lista de Exibição</translation> + <translation>&Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Alternar para o Gerenciador de Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> - <translation type="unfinished"></translation> + <translation>Alternar visibilidade da Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation>F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation>&Painel de Pré-Visualização</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation>Alternar para Painel de Pré-Visualização</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Alternar a visibilidade da coluna de pré-visualização.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation>F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> - <translation type="unfinished"></translation> + <translation>&Coluna da Projeção</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> - <translation type="unfinished"></translation> + <translation>Alternar Coluna da Projeção</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> - <translation type="unfinished"></translation> + <translation>Alternar a visibilidade da coluna de projeção.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation>F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation>&Lista de Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Listar os Plugins</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation>Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation>&Guia do Usuário</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation>&Sobre</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation>Mais informações sobre o OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation>Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Ajuda Online</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation>&Web Site</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>&Auto-detectar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> <translation>Usar o idioma do sistema, caso disponível.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation>Definir o idioma da interface como %s</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> <translation>Adicionar &Ferramenta...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Adicionar uma aplicação à lista de ferramentas.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Padrão</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> - <translation type="unfinished"></translation> + <translation>Reverter o modo de visualização de volta ao padrão.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation>&Configurar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> - <translation type="unfinished"></translation> + <translation>Configurar o modo de visualização para Setup.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation>&Ao Vivo</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> - <translation type="unfinished"></translation> + <translation>Configurar o modo de visualização como Projeção.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> - <translation type="unfinished"></translation> + <translation>A versão %s do OpenLP está disponível para download (você está atualmente usando a versão %s). + +Voce pode baixar a versão mais nova em http://openlp.org/.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>Versão do OpenLP Atualizada</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>Tela Principal do OpenLP em Branco</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation>A Tela Principal foi apagada</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Salvar Mudanças na Lista de Exibição?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>A sua Lista de Exibição teve mudanças. Você deseja salvá-la?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Tema padrão: %s</translation> </message> @@ -2503,101 +2146,101 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished">Português</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> - <translation type="unfinished"></translation> + <translation>Configurar &Atalhos...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> + <translation>Fechar o OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Are you sure you want to close OpenLP?</source> + <translation type="unfinished">Você tem certeza de que quer fechar o OpenLP?</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> - <source>Are you sure you want to close OpenLP?</source> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation>Ctrl+P</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Nenhum Item Selecionado</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> <translation>&Adicionar à Lista de Exibição selecionada</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Você precisa selecionar um ou mais itens para pré-visualizar.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você precisa selecionar um ou mais itens para projetar.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Você precisa selecionar um ou mais itens.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation>Você precisa selecionar um ou mais itens</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você precisa selecionar um item da lista ao qual adicionar.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Item da Lista de Exibição inválido</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você precisa selecionar um item %s da Lista de Exibição.</translation> </message> </context> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation>Lista de Plugins</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation>Detalhes do Plugin</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation>Versão:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation>Sobre:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2614,237 +2257,319 @@ You can download the latest version from http://openlp.org/.</source> <translation>Inativo</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation>%s (Inativo)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation>%s (Ativo)</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation>%s (Desabilitado)</translation> </message> </context> <context> - <name>OpenLP.ServiceItemEditForm</name> + <name>OpenLP.PrintServiceDialog</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> - <source>Reorder Service Item</source> - <translation>Reordenar Item da Lista de Exibição</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation>Deletar</translation> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Reordenar Item da Lista de Exibição</translation> </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation>Nova Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation>Criar uma nova Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation>Abrir Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation>Carregar uma Lista de Exibição existente</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation>Salvar Lista de Exibição</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation>Salvar esta Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation>Tema:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation>Selecione um tema para a Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation>Mover para o &topo</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation>Mover item para o topo da Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation>Mover para &cima</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation>Mover item uma posição acima na Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation>Mover para &baixo</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation>Mover item uma posição abaixo na Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation>Mover para o &final</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation>Mover item para o final da Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation>&Deletar da Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation>Deletar o item selecionado da Lista de Exibição.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation>&Adicionar um Novo Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation>&Adicionar ao Item Selecionado</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation>&Editar Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation>&Reordenar Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation>&Notas</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation>&Pré-Visualizar Versículo</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation>&Versículo na Projeção</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation>&Alterar Tema do Item</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> - <translation type="unfinished"></translation> + <translation>O arquivo não é uma lista válida. +A codificação do conteúdo não é UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Arquivo não é uma Lista de Exibição válida.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> - <translation type="unfinished"></translation> + <translation type="unfinished">O item não pode ser exibido porque o plugin necessário para visualizá-lo está faltando ou está inativo</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> - <translation type="unfinished"></translation> + <translation type="unfinished">&Expandir todos</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Expandir todos os itens da lista.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> - <translation type="unfinished"></translation> + <translation type="unfinished">&Recolher todos</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> - <translation type="unfinished"></translation> + <translation>Ocultar todos os subitens da lista.</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> + <translation>Abrir Arquivo</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> + <source>OpenLP Service Files (*.osz)</source> + <translation type="unfinished">Lista de Exibição do OpenLP (*.osz)</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished">Move a seleção para baixo dentro da janela.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished">Mover para cima</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished">Move a seleção para cima dentro da janela.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation>Projetar</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation>Enviar o item selecionado para a Projeção.</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation>Lista de Exibição Modificada</translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation>Anotações:</translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>OpenLP Service Files (*.osz)</source> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished">Item de Notas de Culto</translation> </message> @@ -2852,7 +2577,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation>Configurar o OpenLP</translation> </message> @@ -2862,700 +2587,693 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> <source>Customize Shortcuts</source> - <translation type="unfinished"></translation> + <translation>Personalizar Atalhos</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Action</source> - <translation type="unfinished"></translation> + <translation>Ação</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> <source>Shortcut</source> - <translation type="unfinished"></translation> + <translation>Atalho</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> - <translation type="unfinished"></translation> + <translation>Padrão: %s</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Personalizado:</translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Nenhum</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>Duplicate Shortcut</source> - <translation type="unfinished"></translation> + <translation>Atalho Duplicado</translation> </message> <message> <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation>O atalho "%s" já está designado para outra ação, escolha um atalho diferente.</translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation>Projeção</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation>Mover para o anterior</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation>Mover para o próximo</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Ocultar</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation>Mover para projeção</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation>Iniciar repetição contínua</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation>Parar repetição contínua</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation>s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation>Intervalo entre slides em segundos</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation>Iniciar a reprodução de mídia</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> - <translation type="unfinished"></translation> + <translation>Ir Para</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> - <translation type="unfinished"></translation> + <translation>Editar e recarregar pré-visualização da música</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> - <translation type="unfinished"></translation> + <translation>Apagar Tela</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Apagar e deixar Fundo</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> + <translation>Mostrar a Área de Trabalho</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation>Slide Anterior</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation>Próximo Slide</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation>Lista Anterior</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation>Próxima Lista</translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> + <translation>Sugestões de Ortografia</translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> - <source>Formatting Tags</source> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">Todos os Arquivos</translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> - <translation type="unfinished">Selecionar Imagem</translation> + <translation>Selecionar Imagem</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Faltando Nome do Tema</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> - <translation type="unfinished"></translation> + <translation>Não há nome neste tema. Por favor forneça um.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> - <translation type="unfinished"></translation> + <translation>Nome do Tema Inválido</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">O nome do tema é inválido. Por favor forneça um.</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> - <translation type="unfinished"></translation> + <translation>(%d linhas por slide)</translation> </message> </context> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation>Novo Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation>Criar um novo tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation>Editar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> - <translation type="unfinished"></translation> + <translation>Editar um tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> - <translation>Deletar Tema</translation> + <translation>Excluir Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> - <translation type="unfinished"></translation> + <translation>Excluir um tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation>Importar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> - <translation type="unfinished"></translation> + <translation>Importar um tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation>Exportar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> - <translation type="unfinished"></translation> + <translation>Exportar um tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> - <translation type="unfinished"></translation> + <translation>&Editar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation>&Apagar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> - <translation type="unfinished"></translation> + <translation>Definir como Padrão &Global</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> - <translation type="unfinished"></translation> + <translation>%s (padrão)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> - <translation type="unfinished"></translation> + <translation>Você precisa selecionar um tema para editar.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> - <translation type="unfinished"></translation> + <translation>Você não pode apagar o tema padrão.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation>Você não selecionou um tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation>Salvar Tema - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> - <translation type="unfinished"></translation> + <translation>Tema Exportado</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> - <translation type="unfinished"></translation> + <translation>Seu tema foi exportado com sucesso.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> - <translation type="unfinished"></translation> + <translation>Falha ao Exportar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation>O tema não pôde ser exportado devido a um erro.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation>Selecionar Arquivo de Importação de Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation>O arquivo não é um tema válido. A codificação do conteúdo não é UTF-8.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation>O arquivo não é um tema válido.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> - <translation type="unfinished"></translation> + <translation>O tema %s é usado no plugin %s.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> - <translation type="unfinished"></translation> + <translation>&Copiar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> - <translation type="unfinished"></translation> + <translation>&Renomear Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> - <translation type="unfinished"></translation> + <translation>&Exportar Tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> - <translation type="unfinished"></translation> + <translation>Você precisa selecionar um tema para renomear.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Confirmar Renomeação</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> - <translation type="unfinished"></translation> + <translation>Renomear o tema %s?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> - <translation type="unfinished"></translation> + <translation>Você precisa selecionar um tema para apagar.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Confirmar Apagamento</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> - <translation type="unfinished"></translation> + <translation>Apagar o tema %s?</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> - <translation type="unfinished"></translation> + <translation>Erro de Validação</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> + <translation>Já existe um tema com este nome.</translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>Assistente de Tema</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> - <translation type="unfinished"></translation> + <translation>Bem-vindo ao Assistente de Tema</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Configurar Plano de Fundo</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> - <translation type="unfinished"></translation> + <translation>Configure o plano de fundo de seu tema de acordo com os parâmetros abaixo.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> - <translation type="unfinished"></translation> + <translation>Tipo de plano de fundo:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Cor Sólida</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> - <translation type="unfinished">Gradiente</translation> + <translation>Gradiente</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Imagem</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> - <translation type="unfinished">Cor:</translation> + <translation>Cor:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> - <translation type="unfinished">Gradiente:</translation> + <translation>Gradiente:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> - <translation type="unfinished">Horizontal</translation> + <translation>Horizontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> - <translation type="unfinished">Vertical</translation> + <translation>Vertical</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> - <translation type="unfinished">Circular</translation> + <translation>Circular</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Esquerda Superior - Direita Inferior</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Esquerda Inferior - Direita Superior</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Imagem:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Detalhes da Fonte da Área Principal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> - <translation type="unfinished">Fonte:</translation> + <translation>Fonte:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Tamanho:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> + <location filename="openlp/core/ui/themewizard.py" line="455"/> + <source>Line Spacing:</source> + <translation>Espaçamento das linhas:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="458"/> + <source>&Outline:</source> + <translation>&Contorno:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="462"/> + <source>&Shadow:</source> + <translation>&Sombra:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="465"/> + <source>Bold</source> + <translation>Negrito</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="466"/> + <source>Italic</source> + <translation>Itálico</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="468"/> + <source>Footer Area Font Details</source> + <translation>Detalhes da Área de Rodapé</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="470"/> + <source>Define the font and display characteristics for the Footer text</source> + <translation type="unfinished">Defina as características do texto do Rodapé</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="477"/> + <source>Text Formatting Details</source> + <translation type="unfinished">Detalhes da Formatação da Fonte</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="479"/> - <source>Line Spacing:</source> - <translation type="unfinished"></translation> + <source>Allows additional display formatting information to be defined</source> + <translation type="unfinished">Permite que formatações adicionais sejam feitas</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="482"/> - <source>&Outline:</source> - <translation type="unfinished"></translation> + <source>Horizontal Align:</source> + <translation>Alinhamento Horizontal:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="484"/> + <source>Left</source> + <translation>Esquerda</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="486"/> - <source>&Shadow:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> - <source>Bold</source> - <translation type="unfinished">Negrito</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> - <source>Italic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> - <source>Footer Area Font Details</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> - <source>Define the font and display characteristics for the Footer text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> - <source>Text Formatting Details</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> - <source>Allows additional display formatting information to be defined</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> - <source>Horizontal Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> - <source>Left</source> - <translation type="unfinished">Esquerda</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> <source>Right</source> - <translation type="unfinished">Direita</translation> + <translation>Direita</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Centralizar</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Topo</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Meio</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Rodapé</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Localização da Área de Saída</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Permite mudar e modificar as áreas principal e do rodapé.</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="497"/> + <source>&Main Area</source> + <translation>&Área Principal</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="499"/> + <source>&Use default location</source> + <translation>&Usar local padrão</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="512"/> + <source>X position:</source> + <translation>Posição X:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="524"/> + <source>px</source> + <translation>px</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="515"/> + <source>Y position:</source> + <translation>Posição Y:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="518"/> + <source>Width:</source> + <translation>Largura:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="522"/> + <source>Height:</source> + <translation>Altura:</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="526"/> + <source>Use default location</source> + <translation>Usar local padrão</translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="528"/> + <source>Save and Preview</source> + <translation>Salvar e pré-visualizar</translation> </message> <message> <location filename="openlp/core/ui/themewizard.py" line="530"/> - <source>&Main Area</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> - <source>&Use default location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> - <source>X position:</source> - <translation type="unfinished">Posição X:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> - <source>px</source> - <translation type="unfinished">px</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> - <source>Y position:</source> - <translation type="unfinished">Posição Y:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> - <source>Width:</source> - <translation type="unfinished">Largura:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> - <source>Height:</source> - <translation type="unfinished">Altura:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> - <source>Use default location</source> - <translation type="unfinished">Usar local padrão</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> - <source>Save and Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> - <translation type="unfinished"></translation> + <translation>Visualizar o tema e salvá-lo, substituindo o atual ou mudar o nome, criando um novo tema</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> - <translation type="unfinished"></translation> + <translation>Nome do tema:</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished">Novo Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> - <translation type="unfinished"></translation> + <translation>Este assistente vai ajudá-lo a criar editar seus temas. Clique no botão Próximo para começar, configurando o plano de fundo.</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> - <translation type="unfinished"></translation> + <translation>Transições:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Área do &Rodapé</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> - <translation type="unfinished"></translation> + <translation>Editar Tema - %s</translation> </message> </context> <context> <name>OpenLP.ThemesTab</name> - <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation>Temas</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> - <source>Global Theme</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/core/ui/themestab.py" line="104"/> - <source>Theme Level</source> - <translation type="unfinished"></translation> + <source>Global Theme</source> + <translation>Tema Global</translation> </message> <message> <location filename="openlp/core/ui/themestab.py" line="106"/> + <source>Theme Level</source> + <translation type="unfinished">Nível dos Temas</translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation>Nível de &Música</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation>Use o tema de cada música na base de dados. Se uma música não tiver um tema associado com ela, então use o tema do culto. Se o culto não tiver um tema, então use o tema global.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Nível de &Lista de Exibição</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> <translation>Usar o tema da lista de exibição, sobrescrevendo qualquer um dos temas individuais das músicas. Se a lista de exibição não tiver um tema, então use o tema global.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> - <translation type="unfinished"></translation> + <translation>Nível &Global</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation>Usar o tema global, sobrescrevendo qualquer tema associado às lista de exibição ou músicas.</translation> </message> @@ -3563,192 +3281,576 @@ A codificação do conteúdo não é UTF-8.</translation> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> - <translation type="unfinished">Erro</translation> + <translation>Erro</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Apagar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation>Apagar o item selecionado.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished">Mover a seleção para cima em uma posição.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished">Mover a seleção para baixo em uma posição.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Sobre</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Adicionar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Avançado</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Todos os Arquivos</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Rodapé</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Procurar...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished">Cancelar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">Número CCLI:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Criar uma nova Lista de Exibição.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Editar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished">pt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Imagem</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Importar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished">Projeção</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Carregar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Meio</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished">Novo</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished">Novo Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Nenhum Item Selecionado</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Abrir Lista de Exibição</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Pré-Visualização</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Substituir Plano de Fundo</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished">Trocar Plano de Fundo da Projeção</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Restabelecer o Plano de Fundo da Projeção</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished">s</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Salvar && Pré-Visualizar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Pesquisar</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished">Você precisa selecionar um item para apagar.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished">Você precisa selecionar um item para editar.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Salvar Lista de Exibição</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Lista de Exibição</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished">Temas</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Topo</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Formato:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importando</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importando "%s"...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Selecionar Origem da Importação</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">O importador do openlp.org 1.x foi desabilitado devido à falta de um módulo Python. Se você deseja utilizar este importador, você precisa instalar o módulo "python-sqlite".</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished">Pronto.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished">Iniciando importação...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Bem Vindo ao assistente de Importação de Bíblias</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Bem-vindo ao Assistente de Importação de Música</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Autores</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Livro de Músicas</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished">Hinários</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Gerenciamento de Músicas</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Tópico</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Tópicos</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> + <translation type="unfinished">Carregar uma nova Apresentação</translation> </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Apagar a Apresentação selecionada</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation>Pré-visualizar a Apresentação selecionada</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation>Projetar a Apresentação selecionada</translation> </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> - <source>Preview the selected Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> - <source>Send the selected Presentation live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> <source>Add the selected Presentation to the service</source> - <translation type="unfinished"></translation> + <translation>Adicionar a Apresentação selecionada à Lista de Exibição</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Apresentação</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Apresentações</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> - <translation type="unfinished">Apresentações</translation> + <translation>Apresentações</translation> </message> </context> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation>Selecionar Apresentação(ões)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> - <translation type="unfinished"></translation> + <translation>Automático</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation>Apresentar usando:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> - <translation type="unfinished"></translation> + <translation type="unfinished">O Arquivo já Existe</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation>Já existe uma apresentação com este nome.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> - <translation type="unfinished"></translation> + <translation>Arquivo Não Suportado</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> - <translation type="unfinished"></translation> + <translation>Este tipo de apresentação não é suportado.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Apresentações (%s)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Apresentação Não Encontrada</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> - <translation type="unfinished"></translation> + <translation>A Apresentação %s não existe mais.</translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished">A Apresentação %s está incompleta, por favor recarregue-a.</translation> </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation>Controladores Disponíveis</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation>Avançado</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Permitir que a aplicação de apresentações seja substituída</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Remoto</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Remoto</translation> </message> </context> <context> @@ -3756,17 +3858,17 @@ A codificação do conteúdo não é UTF-8.</translation> <message> <location filename="openlp/plugins/remotes/lib/remotetab.py" line="68"/> <source>Serve on IP address:</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Endereço IP do servidor:</translation> </message> <message> <location filename="openlp/plugins/remotes/lib/remotetab.py" line="70"/> <source>Port number:</source> - <translation type="unfinished"></translation> + <translation>Número de porta:</translation> </message> <message> <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> <source>Server Settings</source> - <translation type="unfinished"></translation> + <translation>Configurações do Servidor</translation> </message> </context> <context> @@ -3833,7 +3935,7 @@ A codificação do conteúdo não é UTF-8.</translation> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3847,263 +3949,260 @@ A codificação do conteúdo não é UTF-8.</translation> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation>Todos os dados solicitados foram apagados com sucesso.</translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation>Selecionar Faixa de Datas</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation>para</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation>Localização do Relatório</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation>Local do arquivo de saída</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation>Relatório +%s +foi criado com sucesso. </translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Música</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> - <translation type="unfinished"></translation> + <translation>Importar músicas com o assistente de importação.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> - <translation type="unfinished"></translation> + <translation>&Re-indexar Músicas</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> - <translation type="unfinished"></translation> + <translation>Re-indexar o banco de dados de músicas para melhorar a busca e a ordenação.</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> - <source>Add a new Song</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> - <source>Edit the selected Song</source> - <translation type="unfinished"></translation> + <translation>Reindexando músicas...</translation> </message> <message> <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Deletar</translation> + <source>Add a new Song</source> + <translation>Adicionar uma nova Música</translation> </message> <message> <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation>Editar a Música selecioanda</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> - <translation type="unfinished"></translation> + <translation>Apagar a Música selecionada</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Pré-Visualização</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> - <translation type="unfinished"></translation> + <translation>Pré-visualizar a Música selecionada</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished">Projeção</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> - <translation type="unfinished"></translation> + <translation>Projetar a Música selecionada</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> - <translation type="unfinished"></translation> + <translation>Adicionar a Música selecionada à Lista de Exibição</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation>Música</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Músicas</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> - <translation type="unfinished"></translation> + <translation>Arábico (CP-1256)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> - <translation type="unfinished"></translation> + <translation>Báltico (CP-1257)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Europeu Central (CP-1250)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> - <translation type="unfinished"></translation> + <translation>Cirílico (CP-1251)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> - <translation type="unfinished"></translation> + <translation>Grego (CP-1253)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> - <translation type="unfinished"></translation> + <translation>Hebraico (CP-1255)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> - <translation type="unfinished"></translation> + <translation>Japonês (CP-932)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> - <translation type="unfinished"></translation> + <translation>Coreano (CP-949)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> - <translation type="unfinished"></translation> + <translation>Chinês Simplificado (CP-936)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tailandês (CP-874)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> - <translation type="unfinished"></translation> + <translation>Chinês Tradicional (CP-950)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> - <translation type="unfinished"></translation> + <translation>Turco (CP-1254)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> - <translation type="unfinished"></translation> + <translation>Vietnamita (CP-1258)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Europeu Ocidental (CP-1252)</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> - <translation type="unfinished"></translation> + <translation>Codificação de Caracteres</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">O Código de páginas é responsável +pela correta representação dos caracteres. +Normalmente a opção pré-selecionada é segura.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> + <translation>Escolha a codificação dos caracteres. +A codificação é responsável pela correta representação dos caracteres.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation>Manutenção de Autores</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation>Nome da Tela:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation>Primeiro Nome:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation>Sobrenome:</translation> </message> @@ -4113,645 +4212,408 @@ The encoding is responsible for the correct character representation.</source> <translation>Você precisa digitar o primeiro nome do autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation>Você precisa digitar o sobrenome do autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você não definiu um nome de tela para o autor, combinar o nome e o sobrenome?</translation> </message> </context> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> - <translation type="unfinished"></translation> + <translation>Importando música %d de %d</translation> </message> </context> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation>Editor de Músicas</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation>&Título:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation>Título &Alternativo:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> - <translation type="unfinished"></translation> + <translation>&Letras:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation>Ordem das &estrofes:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation>%Adicionar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation>&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> - <translation type="unfinished"></translation> + <translation>&Editar Todos</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation>&Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation>Título && Letras</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation>Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation>&Adicionar à Música</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation>&Remover</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> - <translation type="unfinished"></translation> + <translation type="unfinished">&Gerenciar Autores, Assuntos, Hinários</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished">Tópico</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>A&dicionar uma Música</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation>R&emover</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation>Livro de Músicas</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation>Livro:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> - <translation type="unfinished"></translation> + <translation>Número:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Autores, Assuntos && Hinários</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation>Tema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> - <translation type="unfinished"></translation> + <translation>Novo &Tema</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Informação de Direitos Autorais</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation type="unfinished">Número CCLI:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation>Comentários</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Tema, Direitos Autorais && Comentários</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation>Salvar && Pré-Visualizar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Adicionar Autor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation>Este autor não existe, deseja adicioná-lo?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> - <translation type="unfinished"></translation> + <translation>Este autor já está na lista.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você não selecionou um autor válido. Selecione um autor da list, ou digite um novo autor e clique em "Adicionar Autor à Música" para adicionar o novo autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> - <translation type="unfinished"></translation> + <translation>Adicionar Assunto</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation>Este tópico não existe, deseja adicioná-lo?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation>Este tópico já está na lista.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation>Não há nenhum tópico válido selecionado. Selecione um tópico da lista ou digite um novo tópico e clique em "Adicionar Tópico à Música" para adicionar o novo tópico.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> - <translation type="unfinished"></translation> + <translation>Você precisa digitar um título para a música.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> - <translation type="unfinished"></translation> + <translation>Você precisa digitar ao menos um verso.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Aviso</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> - <translation type="unfinished"></translation> + <translation>A ordem das estrofes é inválida. Não há estrofe correspondente a %s. Valores válidos são %s.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> - <translation type="unfinished"></translation> + <translation>Você não usou %s em nenhum lugar na ordem das estrofes. Deseja mesmo salvar a música assim?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Adicionar Livro</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> - <translation>Este hinário não existe, deseja adicioná-lo?</translation> + <translation type="unfinished">Este hinário não existe, deseja adicioná-lo?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> - <translation type="unfinished"></translation> + <translation>Você precisa de um autor para esta música.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Você precisa digitar algum texto na estrofe.</translation> </message> </context> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> - <translation>Editar Versículo</translation> + <translation>Editar Estrofe</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> - <translation>Tipo de &Versículo:</translation> + <translation>Tipo de &Estrofe:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> + <translation>&Inserir</translation> + </message> +</context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation>Você precisa adicionar ao menos um arquivo CCLI para importação.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished">Iniciando importação...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> - <source>Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> - <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished">Selecionar Origem da Importação</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">Selecione o formato, e de onde importar.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished">Formato:</translation> + <translation type="unfinished">Selecione Documentos/Apresentações</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation type="unfinished"></translation> + <source>Song Import Wizard</source> + <translation>Assistente de Importação de Música</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation type="unfinished"></translation> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation>Este assistente irá ajudá-lo a importar músicas de uma variedade de formatos. Clique no botão Próximo para iniciar o processo, escolhendo um desses formatos.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> - <source>Filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Documento/Apresentação Genérica</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <source>Filename:</source> + <translation>Nome do arquivo:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> - <source>Remove File(s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> - <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> - <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished">Importando</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> - <source>Please wait while your songs are imported.</source> - <translation type="unfinished"></translation> + <translation>Adicionar Arquivos...</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished">Pronto.</translation> + <source>Remove File(s)</source> + <translation type="unfinished">Remover Arquivos(s)</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation>O importador do Songs of Fellowship foi desabilitado porque o OpenOffice.org não foi encontrado.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished">O importador de documento/apresentação foi desabilitado porque o OpenOffice.org não foi encontrado.</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation>Por favor espere enquanto as suas músicas são importadas.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> <source>Administered by %s</source> - <translation type="unfinished"></translation> + <translation>Administrado por %s</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">Todos os Arquivos</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> + <translation>Bancos de Dados do OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> + <source>openlp.org v1.x Databases</source> + <translation>Bancos de Dados do openlp.org v1.x</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> + <source>Words Of Worship Song Files</source> + <translation>Arquivos de Música do Words Of Worship</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>openlp.org v1.x Databases</source> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Words Of Worship Song Files</source> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4759,312 +4621,217 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished">Gerenciamento de Músicas</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> - <translation type="unfinished"></translation> + <translation>Manter a lista de autores, tópicos e livros</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished">Pesquisar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> - <translation type="unfinished"></translation> + <translation>Títulos</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> - <translation type="unfinished"></translation> + <translation>Letra</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation type="unfinished">Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> - <translation type="unfinished"></translation> + <translation>Apagar Música(s)?</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> - <translation type="unfinished"></translation> + <translation>Licença CCLI:</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> - <translation type="unfinished"></translation> + <translation>Música Inteira</translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Tem certeza de que quer apagar as %n música(s) selecionadas?</numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished">Temas</translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> - <translation type="unfinished"></translation> + <translation>Importando música %d de %d.</translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Gerenciamento de Hinários</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> - <translation type="unfinished"></translation> + <translation>&Nome:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> - <translation type="unfinished"></translation> + <translation>&Editora:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> <source>You need to type in a name for the book.</source> + <translation>Você precisa digitar um nome para o livro.</translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> + <translation>copyright</translation> </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished">Importação Finalizada.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> - <translation type="unfinished"></translation> + <translation>Sua importação de música falhou.</translation> </message> </context> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation>Gerenciamento de Músicas</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation type="unfinished">Autores</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation type="unfinished">%Adicionar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished">&Editar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation type="unfinished">&Deletar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> - <translation type="unfinished"></translation> + <translation>Não foi possível adicionar o autor.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> - <translation type="unfinished"></translation> + <translation>Este autor já existe.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> - <translation type="unfinished"></translation> + <translation>Não foi possível adicionar o tópico.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> - <translation type="unfinished"></translation> + <translation>Este tópico já existe.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> - <translation type="unfinished"></translation> + <translation>Não foi possível adicionar o livro.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> - <translation type="unfinished"></translation> + <translation>Este livro já existe.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> - <translation type="unfinished"></translation> + <translation>Não foi possível salvar as alterações.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> - <translation type="unfinished"></translation> + <translation>O tópico modificado não pode ser salvo porque já existe.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> - <translation type="unfinished"></translation> + <translation>Excluir Autor</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> - <translation type="unfinished"></translation> + <translation>Você tem certeza de que deseja excluir o autor selecionado?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation>Este autor não pode ser apagado, pois está associado a ao menos uma música.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> - <translation type="unfinished"></translation> + <translation>Apagar Assunto</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> - <translation type="unfinished"></translation> + <translation>Tem certeza de que quer apagar o assunto selecionado?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation>Este assunto não pode ser apagado, pois está associado a ao menos uma música.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation>Apagar Livro</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tem certeza de que quer apagar o hinário selecionado?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Este hinário não pode ser apagado, pois está associado a ao menos uma música.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> - <translation type="unfinished"></translation> + <translation>Não foi possível salvar alteração no autor, porque o autor já existe.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> - <translation type="unfinished"></translation> + <translation>O autor %s já existe. Deseja que as músicas com o autor %s usem o autor %s existente?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> - <translation type="unfinished"></translation> + <translation>O tópico %s já existe. Deseja que as músicas com o tópico %s usem o tópico %s existente?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> - <translation type="unfinished"></translation> + <translation>O livro %s já existe. Deseja que as músicas com o livro %s usem o livro %s existente?</translation> </message> </context> <context> @@ -5072,12 +4839,12 @@ The encoding is responsible for the correct character representation.</source> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> <source>Songs Mode</source> - <translation type="unfinished"></translation> + <translation>Modo de Música</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> <source>Enable search as you type</source> - <translation type="unfinished"></translation> + <translation>Habilitar preenchimento automático</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> @@ -5087,7 +4854,7 @@ The encoding is responsible for the correct character representation.</source> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> <source>Update service from song edit</source> - <translation type="unfinished"></translation> + <translation>Atualizar Lista de Exibição após editar música</translation> </message> <message> <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> @@ -5098,65 +4865,57 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> - <translation type="unfinished"></translation> + <translation>Gerenciamento de Assuntos</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> - <translation type="unfinished"></translation> + <translation>Nome do assunto:</translation> </message> <message> <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> <source>You need to type in a topic name.</source> - <translation type="unfinished"></translation> + <translation>Você precisa digitar um nome para o assunto.</translation> </message> </context> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> - <translation type="unfinished"></translation> + <translation>Estrofe</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> <source>Chorus</source> - <translation type="unfinished"></translation> + <translation>Refrão</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation>Ponte</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation>Pré-Estrofe</translation> </message> <message> <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> - <source>Bridge</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> - <source>Pre-Chorus</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> <source>Intro</source> - <translation type="unfinished"></translation> + <translation>Introdução</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> - <translation type="unfinished"></translation> + <translation>Final</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> + <translation>Outra</translation> </message> </context> </TS> diff --git a/resources/i18n/ru.ts b/resources/i18n/ru.ts new file mode 100644 index 000000000..5928ca518 --- /dev/null +++ b/resources/i18n/ru.ts @@ -0,0 +1,4828 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS><TS version="1.1" language="ru"> +<context> + <name>AlertPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter found</source> + <translation>Параметр не найден</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>You have not entered a parameter to be replaced. +Do you want to continue anyway?</source> + <translation>Вы не указали параметры для замены. +Все равно продолжить?</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder found</source> + <translation>Заполнитель не найден</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation>Текст оповещения не содержит '<>'. +Все равно продолжить?</translation> + </message> +</context> +<context> + <name>AlertsPlugin</name> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> + <source>&Alert</source> + <translation>О&повещение</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> + <source>Show an alert message.</source> + <translation>Показать текст оповещения.</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> + <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> + <translation><strong>Плагин оповещений</strong><br />Плагин оповещений управляет отображением срочных сообщений на экране</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> + <source>Alert</source> + <comment>name singular</comment> + <translation>Оповещение</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> + <source>Alerts</source> + <comment>name plural</comment> + <translation>Оповещения</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> + <source>Alerts</source> + <comment>container title</comment> + <translation>Оповещения</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertForm</name> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <source>Alert Message</source> + <translation>Сообщение оповещения</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <source>Alert &text:</source> + <translation>Текст &оповещения:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <source>&Parameter:</source> + <translation>П&араметр:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <source>&New</source> + <translation>&Новый</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> + <source>&Save</source> + <translation>&Сохранить</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> + <source>Displ&ay</source> + <translation>Показ&ать</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="108"/> + <source>Display && Cl&ose</source> + <translation>Показать и за&крыть</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>New Alert</source> + <translation>Новое оповещение</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> + <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> + <translation>Ві не указали текста для вашего оповещения. Пожалуйста введите текст.</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsManager</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="72"/> + <source>Alert message created and displayed.</source> + <translation>Текст уведомления создан и показан.</translation> + </message> +</context> +<context> + <name>AlertsPlugin.AlertsTab</name> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> + <source>Font</source> + <translation>Шрифт</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> + <source>Font name:</source> + <translation>Шрифт:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> + <source>Font color:</source> + <translation>Цвет:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> + <source>Background color:</source> + <translation>Цвет фона:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <source>Font size:</source> + <translation>Размер:</translation> + </message> + <message> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> + <source>Alert timeout:</source> + <translation>Таймаут оповещения:</translation> + </message> +</context> +<context> + <name>BibleDB.Wizard</name> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation>Импорт заветов... %s</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation>Импорт заветов... завершен.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation>Импорт книг... %s</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation>Импорт стихов из %s...</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation>Импорт стихов... завершен.</translation> + </message> +</context> +<context> + <name>BiblePlugin.HTTPBible</name> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>Download Error</source> + <translation>Ошибка загрузки</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> + <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> + <translation>Возникла проблема при загрузке секции стихов. Пожалуйста, проверьте параметры Интернет соединения. В случае если ошибка происходит при нормальном Интернет соединении, сообщите о ней на сайте разработчика в разделе "Ошибки".</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>Parse Error</source> + <translation>Обработка ошибки</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> + <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> + <translation>Возникла проблема при распковкие раздела стихов. Если это ошибка будет повторяться, пожалуйста сообщите о ней.</translation> + </message> +</context> +<context> + <name>BiblePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> + <source>Bible not fully loaded</source> + <translation>Библия была загружена не полностью</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> + <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> + <translation>Вы не можете комбинировать единственный и воторой стихи Библии. Желаете удалить результаты и начать новый поиск?</translation> + </message> +</context> +<context> + <name>BiblesPlugin</name> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> + <source>&Bible</source> + <translation>&Библия</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> + <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> + <translation><strong>Плагин Библия</strong><br />Плагин "Библия" обеспечивает возможность показаза мест писания во время служения. </translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> + <source>Bible</source> + <comment>name singular</comment> + <translation>Библия</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> + <source>Bibles</source> + <comment>name plural</comment> + <translation>Священное Писание</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> + <source>Bibles</source> + <comment>container title</comment> + <translation>Священное Писание</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> + <source>Import a Bible</source> + <translation>Импорт Библии</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <source>Add a new Bible</source> + <translation>Добавить новую Библию</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> + <source>Edit the selected Bible</source> + <translation>Редактировать выбранную Библию</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> + <source>Delete the selected Bible</source> + <translation>Удалить выбранную Библию</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> + <source>Preview the selected Bible</source> + <translation>Предпросмотр выбранной Библии</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> + <source>Send the selected Bible live</source> + <translation>Вывести выбранный Библию на проектор</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> + <source>Add the selected Bible to the service</source> + <translation>Добавить выбранную Библию к служению</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No Book Found</source> + <translation>Книги не найдены</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> + <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> + <translation>Не было найдено подходящей книги в этой Библии. Проверьте что вы правильно указали название книги.</translation> + </message> +</context> +<context> + <name>BiblesPlugin.BibleManager</name> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>No Bibles available</source> + <translation>Библии недоступны</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> + <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> + <translation>В настоящее время ни одна Библия не установлена. Пожалуйста, воспользуйтесь Мастером Импорта чтобы установить одну или более Библий.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>Scripture Reference Error</source> + <translation>Ошибка ссылки на Писание</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Web Bible cannot be used</source> + <translation>Веб-Библия не может быть использована</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>Текстовый поиск не доступен для Веб-Библий.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <source>You did not enter a search keyword. +You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> + <translation>Вы не указали ключевое слово для поиска. +Вы можете разделить разичные ключевые слова пробелами чтобы осуществить поиск по фразе, а также можете использовать запятые, чтобы искать по каждому из указанных ключевых слов.</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + +Book Chapter +Book Chapter-Chapter +Book Chapter:Verse-Verse +Book Chapter:Verse-Verse,Verse-Verse +Book Chapter:Verse-Verse,Chapter:Verse-Verse +Book Chapter:Verse-Chapter:Verse</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.BiblesTab</name> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> + <source>Verse Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> + <source>Only show new chapter numbers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> + <source>Layout style:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> + <source>Display style:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> + <source>Bible theme:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> + <source>Verse Per Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> + <source>Verse Per Line</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> + <source>Continuous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> + <source>No Brackets</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> + <source>( And )</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> + <source>{ And }</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> + <source>[ And ]</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> + <source>Note: +Changes do not affect verses already in the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> + <source>Display second Bible verses</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> + <source>Bible Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> + <source>Web Download</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> + <source>Location:</source> + <translation type="unfinished">Расположение:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> + <source>Crosswalk</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> + <source>BibleGateway</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> + <source>Bibleserver</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> + <source>Bible:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> + <source>Download Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> + <source>Server:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <source>Username:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <source>Password:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <source>Proxy Server (Optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <source>License Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <source>Set up the Bible's license details.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <source>Version name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <source>Copyright:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <source>Permissions:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> + <source>Please wait while your Bible is imported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> + <source>You need to specify a file with books of the Bible to use in the import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> + <source>You need to specify a file of Bible verses to import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> + <source>You need to specify a version name for your Bible.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> + <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>Bible Exists</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> + <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> + <source>CSV File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> + <source>openlp.org 1.x bible</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> + <source>Starting Registering bible...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> + <source>Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> + <source>Your Bible import failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> + <source>Quick</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> + <source>Second:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> + <source>Find:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> + <source>Results:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> + <source>Book:</source> + <translation type="unfinished">Сборник:</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> + <source>Chapter:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> + <source>Verse:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Text Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> + <source>Keep</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.Opensong</name> + <message> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BiblesPlugin.OsisImport</name> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> + <source>Detecting encoding (this may take a few minutes)...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> + <source>Importing %s %s...</source> + <comment>Importing <book name> <chapter>...</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> + <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomPlugin.CustomTab</name> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="56"/> + <source>Custom Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/> + <source>Display footer</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomPlugin.EditCustomForm</name> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> + <source>Edit Custom Slides</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> + <source>&Title:</source> + <translation type="unfinished">&Название:</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> + <source>Add a new slide at bottom.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> + <source>Edit the selected slide.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> + <source>Ed&it All</source> + <translation type="unfinished">Редактировать &все</translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> + <source>Edit all the slides at once.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> + <source>The&me:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> + <source>&Credits:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> + <source>You need to type in a title.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> + <source>You need to add at least one slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> + <source>Split Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> + <source>Split a slide into two by inserting a slide splitter.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>CustomsPlugin</name> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> + <source>Custom</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> + <source>Customs</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> + <source>Custom</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> + <source>Import a Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> + <source>Load a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> + <source>Add a new Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <source>Edit the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> + <source>Delete the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> + <source>Preview the selected Custom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> + <source>Send the selected Custom live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <source>Add the selected Custom to the service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ImagePlugin</name> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> + <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> + <translation><strong>Плагин Изображений</strong><br />Плагин изображений позволяет отображать изображения.<br />Одной из отличительных возможностей этого плагина является возможность группировать выбранные изображение в менеджере служения, что делает работу с большим количеством изображений более легкой. Этот плагин также позволяет использовать возможности "временной петли" OpenLP, чтобы создавать слайд-шоу, которые выполняются автоматически. В дополнение к этому, изображения из плагина могут быть использованы, чтобы заменить текущий фон, что позволяет отображать текстовые элементы, такие как песни, с выбранным изображением в качестве фона, вместо фона, который указан в теме.</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> + <source>Image</source> + <comment>name singular</comment> + <translation>Изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> + <source>Images</source> + <comment>name plural</comment> + <translation>Изображения</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> + <source>Images</source> + <comment>container title</comment> + <translation>Изображения</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation>Загрузить новое Изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Добавить новое Изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Изменить выбранное изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="77"/> + <source>Delete the selected Image</source> + <translation>Удалить выбранное изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="78"/> + <source>Preview the selected Image</source> + <translation>Просмотреть выбранное Изображение</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> + <source>Send the selected Image live</source> + <translation>Послать выбранное Изображение на проектор</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> + <source>Add the selected Image to the service</source> + <translation>Добавить выбранное изображение к Служению</translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> + <translation>Выбрать Вложение</translation> + </message> +</context> +<context> + <name>ImagePlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> + <source>Select Image(s)</source> + <translation>Выбрать Изображение(я)</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> + <source>You must select an image to delete.</source> + <translation>Вы должны выбрать изображение для удаления.</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>Missing Image(s)</source> + <translation>Отсутствующие Изображения</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> + <source>The following image(s) no longer exist: %s</source> + <translation>Следующие изображения больше не существуют: %s</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> + <source>The following image(s) no longer exist: %s +Do you want to add the other images anyway?</source> + <translation>Следующие изображения больше не существуют: %s +Добавить остальные изображения?</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> + <source>You must select an image to replace the background with.</source> + <translation>Вы должны выбрать изображения, которым следует заменить фон.</translation> + </message> + <message> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> + <translation>Возникла проблема при замене Фона проектора, файл "%s" больше не существует.</translation> + </message> +</context> +<context> + <name>MediaPlugin</name> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> + <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> + <translation><strong>Плагин Медиа</strong><br />Плагин Медиа обеспечивает проигрывание аудио и видео файлов.</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> + <source>Media</source> + <comment>name singular</comment> + <translation>Медиа</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> + <source>Media</source> + <comment>name plural</comment> + <translation>Медиа</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> + <source>Media</source> + <comment>container title</comment> + <translation>Медиа</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> + <source>Load a new Media</source> + <translation>Открыть новый медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> + <source>Add a new Media</source> + <translation>Добавить новый медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> + <source>Edit the selected Media</source> + <translation>Редактировать выбранный медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> + <source>Delete the selected Media</source> + <translation>Удалить выбранный медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> + <source>Preview the selected Media</source> + <translation>Предпросмотр выбранного медиафайла</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> + <source>Send the selected Media live</source> + <translation>Отправить выбранный медиафайл на проектор</translation> + </message> + <message> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <source>Add the selected Media to the service</source> + <translation>Добавить выбранный медиафайл к служению</translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> + <source>Select Media</source> + <translation>Выбрать медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> + <source>You must select a media file to replace the background with.</source> + <translation>Для замены фона вы должны выбрать видеофайл.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <translation>Возникла проблема замены фона, поскольку файл "%s" не найден.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>Missing Media File</source> + <translation>Отсутствует медиафайл</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> + <source>The file %s no longer exists.</source> + <translation>Файл %s не существует.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> + <source>You must select a media file to delete.</source> + <translation>Вы должны выбрать медиафайл для удаления.</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>MediaPlugin.MediaTab</name> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> + <source>Media Display</source> + <translation>Отображение Медиа</translation> + </message> + <message> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> + <source>Use Phonon for video playback</source> + <translation>Использовать Phonon для проигрывания видео</translation> + </message> +</context> +<context> + <name>OpenLP</name> + <message> + <location filename="openlp/core/utils/__init__.py" line="276"/> + <source>Image Files</source> + <translation>Файлы изображений</translation> + </message> +</context> +<context> + <name>OpenLP.AboutForm</name> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="91"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> + <source>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 + Andreas "googol" Preikschat + Christian "crichter" Richter + Philip "Phill" Ridout + Maikel Stuivenberg + Carsten "catini" Tingaard + Frode "frodus" Woldsund + +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, Ubuntu) + +Built With + Python: http://www.python.org/ + Qt4: http://qt.nokia.com/ + PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro + Oxygen Icons: http://oxygen-icons.org/ + +Final Credit + "For God so loved the world that He gave + His one and only Son, so that whoever + believes in Him will not perish but inherit + eternal life." -- John 3:16 + + And last but not least, final credit goes to + God our Father, for sending His Son to die + on the cross, setting us free from sin. We + bring this software to you for free because + He has set us free.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> + <source>Credits</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="553"/> + <source>License</source> + <translation>Лицензия</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="556"/> + <source>Contribute</source> + <translation></translation> + </message> + <message> + <location filename="openlp/core/ui/aboutform.py" line="48"/> + <source> build %s</source> + <translation> Билд %s</translation> + </message> + <message> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> + <source>Copyright © 2004-2011 Raoul Snyman +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund + +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 below for more details. + + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. + +c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +<one line to give the program's name and a brief idea of what it does.> +Copyright (C) <year> <name of author> + +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; either version 2 of the License, or (at your option) any later version. + +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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type "show w". +This is free software, and you are welcome to redistribute it under certain conditions; type "show c" for details. + +The hypothetical commands "show w" and "show c" should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than "show w" and "show c"; they could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gnomovision" (which makes passes at compilers) written by James Hacker. + +<signature of Ty Coon>, 1 April 1989 +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.AdvancedTab</name> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> + <source>UI Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <source>Number of recent files to display:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> + <source>Remember active media manager tab on startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> + <source>Double-click to send items straight to live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> + <source>Expand new service items on creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> + <source>Enable application exit confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> + <source>Mouse Cursor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Цвет фона:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagTab</name> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Update Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> + <source>Tag "n" already defined.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> + <source>Tag %s already defined.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> + <source>Error Occurred</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> + <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> + <source>Send E-Mail</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> + <source>Save to File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ExceptionForm</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> + <source>Platform: %s +</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> + <source>**OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> + <source>*OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s +</source> + <comment>Please add the information that bug reports are favoured written in English.</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.FileRenameForm</name> + <message> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> + <source>New File Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> + <source>File Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> + <source>File Rename</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.GeneralTab</name> + <message> + <location filename="openlp/core/ui/generaltab.py" line="242"/> + <source>General</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="243"/> + <source>Monitors</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="245"/> + <source>Select monitor for output display:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="247"/> + <source>Display if a single screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="249"/> + <source>Application Startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="251"/> + <source>Show blank screen warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="253"/> + <source>Automatically open the last service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="255"/> + <source>Show the splash screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="259"/> + <source>Application Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="261"/> + <source>Prompt to save before starting a new service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="263"/> + <source>Automatically preview next item in service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="265"/> + <source>Slide loop delay:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="267"/> + <source> sec</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="269"/> + <source>CCLI Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="272"/> + <source>SongSelect username:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="274"/> + <source>SongSelect password:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="277"/> + <source>Display Position</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="291"/> + <source>X</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="292"/> + <source>Y</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="293"/> + <source>Height</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="295"/> + <source>Width</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="289"/> + <source>Override display position</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="304"/> + <source>Screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="307"/> + <source>primary</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.LanguageManager</name> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Language</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="120"/> + <source>Please restart OpenLP to use your new language setting.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MainDisplay</name> + <message> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> + <source>OpenLP Display</source> + <translation>Дисплей OpenLP</translation> + </message> +</context> +<context> + <name>OpenLP.MainWindow</name> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> + <source>&File</source> + <translation>&Файл</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> + <source>&Import</source> + <translation>&Импорт</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> + <source>&Export</source> + <translation>&Экспорт</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> + <source>&View</source> + <translation>&Вид</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> + <source>M&ode</source> + <translation>Р&ежим</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> + <source>&Tools</source> + <translation>&Инструменты</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> + <source>&Settings</source> + <translation>&Настройки</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <source>&Language</source> + <translation>&Язык</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> + <source>&Help</source> + <translation>&Помощь</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> + <source>Media Manager</source> + <translation>Управление Материалами</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> + <source>Service Manager</source> + <translation>Управление Служением</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> + <source>Theme Manager</source> + <translation>Управление Темами</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> + <source>&New</source> + <translation>&Новая</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> + <source>Ctrl+N</source> + <translation>Ctrl+N</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> + <source>&Open</source> + <translation>&Открыть</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> + <source>Open an existing service.</source> + <translation>Открыть существующее служение.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> + <source>Ctrl+O</source> + <translation>Ctrl+O</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> + <source>&Save</source> + <translation>&Сохранить</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> + <source>Save the current service to disk.</source> + <translation>Сохранить текущее служение на диск.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> + <source>Ctrl+S</source> + <translation>Ctrl+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> + <source>Save &As...</source> + <translation>Сохранить к&ак...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> + <source>Save Service As</source> + <translation>Сохранить служение как</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <source>Save the current service under a new name.</source> + <translation>Сохранить текущее служение под новым именем.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <source>Ctrl+Shift+S</source> + <translation>Ctrl+Shift+S</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation>Распечатать текущий Порядок Служения</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation>Ctrl+P</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <source>E&xit</source> + <translation>Вы&ход</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> + <source>Quit OpenLP</source> + <translation>Завершить работу OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> + <source>Alt+F4</source> + <translation>Alt+F4</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> + <source>&Theme</source> + <translation>Т&ема</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> + <source>Configure &Shortcuts...</source> + <translation>Настройки и б&ыстрые клавиши...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <source>&Configure OpenLP...</source> + <translation>&Настроить OpenLP...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> + <source>&Media Manager</source> + <translation>Управление &Материалами</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <source>Toggle Media Manager</source> + <translation>Свернуть Менеджер Медиа</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <source>Toggle the visibility of the media manager.</source> + <translation type="unfinished">Свернуть видимость Менеджера Медиа.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> + <source>F8</source> + <translation>F8</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> + <source>&Theme Manager</source> + <translation>Управление &темами</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> + <source>Toggle Theme Manager</source> + <translation>Свернуть Менеджер Тем</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> + <source>Toggle the visibility of the theme manager.</source> + <translation type="unfinished">Свернуть видимость Менеджера Тем.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> + <source>F10</source> + <translation>F10</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> + <source>&Service Manager</source> + <translation>Управление &Служением</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> + <source>Toggle Service Manager</source> + <translation>Свернуть Менеджер Служения</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> + <source>Toggle the visibility of the service manager.</source> + <translation>Свернуть видимость Менеджера Служения.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> + <source>F9</source> + <translation>F9</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> + <source>&Preview Panel</source> + <translation>Пан&ель предпросмотра</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> + <source>Toggle Preview Panel</source> + <translation>Toggle Preview Panel</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> + <source>Toggle the visibility of the preview panel.</source> + <translation>Toggle the visibility of the preview panel.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> + <source>F11</source> + <translation>F11</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> + <source>&Live Panel</source> + <translation>&Панель проектора</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> + <source>Toggle Live Panel</source> + <translation>Toggle Live Panel</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> + <source>Toggle the visibility of the live panel.</source> + <translation>Toggle the visibility of the live panel.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> + <source>F12</source> + <translation>F12</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> + <source>&Plugin List</source> + <translation>&Список плагинов</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> + <source>List the Plugins</source> + <translation>Выводит список плагинов</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> + <source>Alt+F7</source> + <translation>Alt+F7</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> + <source>&User Guide</source> + <translation>&Руководство пользователя</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> + <source>&About</source> + <translation>&О программе</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <source>More information about OpenLP</source> + <translation>Больше информации про OpenLP</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <source>Ctrl+F1</source> + <translation>Ctrl+F1</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <source>&Online Help</source> + <translation>&Помощь онлайн</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <source>&Web Site</source> + <translation>&Веб-сайт</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <source>&Auto Detect</source> + <translation>&Автоопределение</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <source>Use the system language, if available.</source> + <translation>Использовать системный язык, если доступно.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <source>Set the interface language to %s</source> + <translation>Изменить язык интерфеса на %s</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <source>Add &Tool...</source> + <translation>Добавить &Инструмент...</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <source>Add an application to the list of tools.</source> + <translation>Добавить приложение к списку инструментов</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <source>&Default</source> + <translation>&По умолчанию</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <source>Set the view mode back to the default.</source> + <translation>Установить вид в режим по умолчанию.</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <source>&Setup</source> + <translation>&Настройка</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> + <source>Set the view mode to Setup.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <source>&Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> + <source>Set the view mode to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> + <source>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/.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> + <source>OpenLP Version Updated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>OpenLP Main Display Blanked</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> + <source>The Main Display has been blanked out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Close OpenLP</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> + <source>Are you sure you want to close OpenLP?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> + <source>Default Theme: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/utils/languagemanager.py" line="84"/> + <source>English</source> + <comment>Please add the name of your language here</comment> + <translation>Английский</translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.MediaManagerItem</name> + <message> + <location filename="openlp/core/lib/__init__.py" line="287"/> + <source>No Items Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> + <source>&Add to selected Service Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> + <source>You must select one or more items to preview.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> + <source>You must select one or more items to send live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> + <source>You must select one or more items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> + <source>You must select an existing service item to add to.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>Invalid Service Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> + <source>You must select a %s service item.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PluginForm</name> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <source>Plugin List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> + <source>Plugin Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="83"/> + <source>Status:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="85"/> + <source>Active</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/plugindialog.py" line="87"/> + <source>Inactive</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="146"/> + <source>%s (Disabled)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="140"/> + <source>%s (Active)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/pluginform.py" line="143"/> + <source>%s (Inactive)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceItemEditForm</name> + <message> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> + <source>Reorder Service Item</source> + <translation>Изменить порядок служения</translation> + </message> +</context> +<context> + <name>OpenLP.ServiceManager</name> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> + <source>Load an existing service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> + <source>Save this service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> + <source>Select a theme for the service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move to &top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> + <source>Move item to the top of the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move &up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> + <source>Move item up one position in the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Move &down</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> + <source>Move item down one position in the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move to &bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> + <source>Move item to the end of the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> + <source>&Delete From Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> + <source>Delete the selected item from the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>&Expand all</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> + <source>Expand all the service items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>&Collapse all</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> + <source>Collapse all the service items.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> + <source>&Add New Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> + <source>&Add to Selected Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> + <source>&Edit Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> + <source>&Reorder Item</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> + <source>&Notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> + <source>&Change Item Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> + <source>OpenLP Service Files (*.osz)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> + <source>File is not a valid service. +The content encoding is not UTF-8.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> + <source>File is not a valid service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Missing Display Handler</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> + <source>Your item cannot be displayed as there is no handler to display it</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> + <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ServiceNoteForm</name> + <message> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> + <source>Service Item Notes</source> + <translation>Заметки к элементам служения</translation> + </message> +</context> +<context> + <name>OpenLP.SettingsForm</name> + <message> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> + <source>Configure OpenLP</source> + <translation>Настроить OpenLP</translation> + </message> +</context> +<context> + <name>OpenLP.ShortcutListDialog</name> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="77"/> + <source>Customize Shortcuts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Action</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> + <source>Default: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> + <source>Custom:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> + <source>None</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>Duplicate Shortcut</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistform.py" line="73"/> + <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SlideController</name> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Move to previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Move to next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> + <source>Hide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> + <source>Blank Screen</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> + <source>Blank to Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> + <source>Show Desktop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> + <source>Start continuous loop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> + <source>Stop continuous loop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <source>Delay between slides in seconds</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> + <source>Move to live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> + <source>Edit and reload song preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <source>Start playing media</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> + <source>Go To</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.SpellTextEdit</name> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> + <source>Spelling Suggestions</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> + <source>Formatting Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeForm</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="213"/> + <source>(%d lines per slide)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="488"/> + <source>Select Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>Theme Name Missing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="570"/> + <source>There is no name for this theme. Please enter one.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Theme Name Invalid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themeform.py" line="576"/> + <source>Invalid theme name. Please enter one.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeManager</name> + <message> + <location filename="openlp/core/ui/thememanager.py" line="66"/> + <source>Create a new theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="70"/> + <source>Edit a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="75"/> + <source>Delete a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="81"/> + <source>Import a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="86"/> + <source>Export a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="107"/> + <source>&Edit Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="110"/> + <source>&Copy Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="113"/> + <source>&Rename Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="116"/> + <source>&Delete Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="120"/> + <source>Set As &Global Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="123"/> + <source>&Export Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="436"/> + <source>%s (default)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>You must select a theme to rename.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename Confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="260"/> + <source>Rename %s theme?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="313"/> + <source>You must select a theme to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>You must select a theme to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete Confirmation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="328"/> + <source>Delete %s theme?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="364"/> + <source>You have not selected a theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="368"/> + <source>Save Theme - (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Theme Exported</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="385"/> + <source>Your theme has been successfully exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Theme Export Failed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="391"/> + <source>Your theme could not be exported due to an error.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>Select Theme Import File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="501"/> + <source>File is not a valid theme. +The content encoding is not UTF-8.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Validation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="548"/> + <source>File is not a valid theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="564"/> + <source>A theme with this name already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="700"/> + <source>You are unable to delete the default theme.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="708"/> + <source>Theme %s is used in the %s plugin.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemeWizard</name> + <message> + <location filename="openlp/core/ui/themeform.py" line="300"/> + <source>Edit Theme - %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="406"/> + <source>Theme Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="408"/> + <source>Welcome to the Theme Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="411"/> + <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="415"/> + <source>Set Up Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="417"/> + <source>Set up your theme's background according to the parameters below.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="420"/> + <source>Background type:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="422"/> + <source>Solid Color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="424"/> + <source>Gradient</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="474"/> + <source>Color:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="433"/> + <source>Gradient:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="435"/> + <source>Horizontal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="437"/> + <source>Vertical</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="439"/> + <source>Circular</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="441"/> + <source>Top Left - Bottom Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="443"/> + <source>Bottom Left - Top Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="446"/> + <source>Main Area Font Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="448"/> + <source>Define the font and display characteristics for the Display text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="473"/> + <source>Font:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="475"/> + <source>Size:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="455"/> + <source>Line Spacing:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="458"/> + <source>&Outline:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="462"/> + <source>&Shadow:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="465"/> + <source>Bold</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="466"/> + <source>Italic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="468"/> + <source>Footer Area Font Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="470"/> + <source>Define the font and display characteristics for the Footer text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="477"/> + <source>Text Formatting Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="479"/> + <source>Allows additional display formatting information to be defined</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="482"/> + <source>Horizontal Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="484"/> + <source>Left</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="486"/> + <source>Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="488"/> + <source>Center</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="490"/> + <source>Transitions:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="492"/> + <source>Output Area Locations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="494"/> + <source>Allows you to change and move the main and footer areas.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="497"/> + <source>&Main Area</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="499"/> + <source>&Use default location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="512"/> + <source>X position:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="524"/> + <source>px</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="515"/> + <source>Y position:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="518"/> + <source>Width:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="522"/> + <source>Height:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="510"/> + <source>&Footer Area</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="526"/> + <source>Use default location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="528"/> + <source>Save and Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="530"/> + <source>View the theme and save it replacing the current one or change the name to create a new theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themewizard.py" line="534"/> + <source>Theme name:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.ThemesTab</name> + <message> + <location filename="openlp/core/ui/themestab.py" line="104"/> + <source>Global Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="106"/> + <source>Theme Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="108"/> + <source>S&ong Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="110"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="115"/> + <source>&Service Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="117"/> + <source>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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="121"/> + <source>&Global Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/themestab.py" line="123"/> + <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.Ui</name> + <message> + <location filename="openlp/core/lib/ui.py" line="55"/> + <source>Error</source> + <translation>Ошибка</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation>У&далить</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation>Удалить выбранный элемент.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation>Переместить выше.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation>Переместить ниже.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished">Обзор...</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished">Номер CCLI:</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Создать новый порядок служения.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished">Ошибка Фона Проектора</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished">Распечатать порядок Служения</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Заменить Фон</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished">Сбросить Фон</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished">Сбросить Фон на проекторе</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Сохранить и просмотреть</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Тема</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished">Формат:</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Выберите формат для импорта</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished">Импорт из openlp.org 1.x был запрещен из-за отсутствующего модуля Питона. Если вы хотите испольовать этот модуль, вы должны установить модуль "python-sqlite".</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished">Добро пожаловать в Мастер Импорта Песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Сборник песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Тема</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin</name> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> + <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> + <source>Presentation</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> + <source>Presentations</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> + <source>Presentations</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> + <source>Load a new Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> + <source>Delete the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> + <source>Preview the selected Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> + <source>Send the selected Presentation live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <source>Add the selected Presentation to the service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> + <source>Select Presentation(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> + <source>Automatic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> + <source>Present using:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> + <source>Presentations (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>File Exists</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> + <source>A presentation with that filename already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>Unsupported File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> + <source>This type of presentation is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>Missing Presentation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> + <source>The Presentation %s no longer exists.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>PresentationPlugin.PresentationTab</name> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> + <source>Available Controllers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> + <source>Allow presentation application to be overriden</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin</name> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> + <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> + <source>Remote</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> + <source>Remotes</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> + <source>Remote</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RemotePlugin.RemoteTab</name> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="66"/> + <source>Server Settings</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="68"/> + <source>Serve on IP address:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/remotes/lib/remotetab.py" line="70"/> + <source>Port number:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin</name> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="64"/> + <source>&Song Usage Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/> + <source>&Delete Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="70"/> + <source>Delete song usage data up to a specified date.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/> + <source>&Extract Tracking Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="77"/> + <source>Generate a report on song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/> + <source>Toggle Tracking</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/> + <source>Toggle the tracking of song usage.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="167"/> + <source><strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="178"/> + <source>SongUsage</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="180"/> + <source>SongUsage</source> + <comment>name plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/songusageplugin.py" line="185"/> + <source>SongUsage</source> + <comment>container title</comment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDeleteForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> + <source>Delete Song Usage Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Delete Selected Song Usage Events?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="46"/> + <source>Are you sure you want to delete selected Song Usage data?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongUsagePlugin.SongUsageDetailForm</name> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> + <source>Song Usage Extraction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> + <source>Select Date Range</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> + <source>to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> + <source>Report Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <source>Output File Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> + <source>usage_detail_%s_%s.txt</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin</name> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> + <source>Arabic (CP-1256)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> + <source>Baltic (CP-1257)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> + <source>Central European (CP-1250)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> + <source>Cyrillic (CP-1251)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> + <source>Greek (CP-1253)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> + <source>Hebrew (CP-1255)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> + <source>Japanese (CP-932)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> + <source>Korean (CP-949)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> + <source>Simplified Chinese (CP-936)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> + <source>Thai (CP-874)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> + <source>Traditional Chinese (CP-950)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> + <source>Turkish (CP-1254)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> + <source>Vietnam (CP-1258)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> + <source>Western European (CP-1252)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Character Encoding</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> + <source>The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> + <source>Please choose the character encoding. +The encoding is responsible for the correct character representation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> + <source>&Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> + <source>Import songs using the import wizard.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> + <source>&Re-index Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> + <source>Re-index the songs database to improve searching and ordering.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> + <source>Reindexing songs...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> + <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <source>Song</source> + <comment>name singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> + <source>Songs</source> + <comment>name plural</comment> + <translation type="unfinished">Псалмы</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> + <source>Songs</source> + <comment>container title</comment> + <translation>Псалмы</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> + <source>Add a new Song</source> + <translation>Добавить новый Псалом</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <source>Edit the selected Song</source> + <translation>Редактировать выбранный Псалом</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> + <source>Delete the selected Song</source> + <translation>Удалить выбранный Псалом</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> + <source>Preview the selected Song</source> + <translation>Прсомотреть выбранный Псалом</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> + <source>Send the selected Song live</source> + <translation>Вывести выбранный псалом на Проектор</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> + <source>Add the selected Song to the service</source> + <translation>Добавить выбранный Псалом к служению</translation> + </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.AuthorsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> + <source>Author Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> + <source>Display name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> + <source>First name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <source>Last name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="83"/> + <source>You need to type in the first name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> + <source>You need to type in the last name of the author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> + <source>You have not set a display name for the author, combine the first and last names?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.CCLIFileImport</name> + <message> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> + <source>Importing song %d of %d</source> + <translation>Импортирую песни %d из %d</translation> + </message> +</context> +<context> + <name>SongsPlugin.EditSongForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> + <source>Song Editor</source> + <translation>Редактор Песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> + <source>&Title:</source> + <translation>&Название:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> + <source>Alt&ernate title:</source> + <translation>До&полнительное название:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> + <source>&Lyrics:</source> + <translation>&Слова:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> + <source>&Verse order:</source> + <translation>П&орядок куплтов:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> + <source>Ed&it All</source> + <translation>Редактировать &все</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> + <source>Title && Lyrics</source> + <translation>Название и слова</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> + <source>&Add to Song</source> + <translation>Д&обавить к песне</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> + <source>&Remove</source> + <translation>Уда&лить</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> + <source>&Manage Authors, Topics, Song Books</source> + <translation>&Управление Авторами, Темами и Сборниками песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> + <source>A&dd to Song</source> + <translation>Д&обавить к песне</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> + <source>R&emove</source> + <translation>Уда&лить</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <source>Book:</source> + <translation>Сборник:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <source>Number:</source> + <translation>Номер:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <source>Authors, Topics && Song Book</source> + <translation>Авторы, Темы и Сборники песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> + <source>New &Theme</source> + <translation>Новая &Тема</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> + <source>Copyright Information</source> + <translation>Информация об авторских правах</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> + <source>Comments</source> + <translation>Комментарии</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> + <source>Theme, Copyright Info && Comments</source> + <translation>Тема, информация об авторских правах и комментарии</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>Add Author</source> + <translation>Добавить Автора</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> + <source>This author does not exist, do you want to add them?</source> + <translation>Этот автор не существует. Хотите добавить его?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> + <source>This author is already in the list.</source> + <translation>Такой автор уже присутсвует в списке.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> + <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> + <translation>Вы не выбрали подходящего автора. Выберите автора из списка, или введите нового автора и выберите "Добавить Автора к Песне", чтобы добавить нового автора.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>Add Topic</source> + <translation>Добавить Тему</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> + <source>This topic does not exist, do you want to add it?</source> + <translation>Эта тема не существует. Хотите добавить её?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> + <source>This topic is already in the list.</source> + <translation>Такая тема уже присутсвует в списке.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> + <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> + <translation>Вы не выбрали подходящую тему. Выберите тему из списка, или введите новую тему и выберите "Добавить Тему к Песне", чтобы добавить новую тему.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> + <source>You need to type in a song title.</source> + <translation>Вы должны указать название песни.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> + <source>You need to type in at least one verse.</source> + <translation>Вы должны ввести по крайней мере один куплет.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> + <source>You need to have an author for this song.</source> + <translation>Вы должны добавить автора к этой песне.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> + <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> + <translation>Порядок куплетов указан неверно. Нет куплета, который бы соответсвовал %s. Правильными записями являютеся %s.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>Warning</source> + <translation>Предупреждение</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> + <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> + <translation>Вы не используете %s нигде в порядке куплетов. Вы уверены, что хотите сохранить песню в таком виде?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>Add Book</source> + <translation>Добавить Книгу</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> + <source>This song book does not exist, do you want to add it?</source> + <translation>Этот сборник песен не существует. Хотите добавить его?</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> + <source>You need to type some text in to the verse.</source> + <translation>Вы должны указать какой-то текст в этом куплете.</translation> + </message> +</context> +<context> + <name>SongsPlugin.EditVerseForm</name> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> + <source>Edit Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> + <source>&Verse type:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> + <source>&Insert</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.ImportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> + <source>Song Import Wizard</source> + <translation>Мастер Импорта Песен</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> + <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> + <translation>Этот Мастер поможет Вам импортировать песни из различных форматов. Выберите кнопку Далее чтобы начать процесс выбора формата для импорта.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> + <source>Generic Document/Presentation</source> + <translation>Общий формат или презентация</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <source>Filename:</source> + <translation>Имя файла:</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> + <source>Add Files...</source> + <translation>Добавить файлы...</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> + <source>Remove File(s)</source> + <translation>Удалить Файл(ы)</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> + <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> + <translation>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> + <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> + <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> + <source>Please wait while your songs are imported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> + <source>OpenLP 2.0 Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> + <source>openlp.org v1.x Databases</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> + <source>Words Of Worship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> + <source>Select Document/Presentation Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ewimport.py" line="250"/> + <source>Administered by %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.MediaItem</name> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> + <source>Maintain the lists of authors, topics and books</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Entire Song</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Titles</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> + <source>Lyrics</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Delete Song(s)?</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> + <source>Are you sure you want to delete the %n selected song(s)?</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> + <source>CCLI License: </source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLPSongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> + <source>Importing song %d of %d.</source> + <translation>Импортирую песни %d из %d.</translation> + </message> +</context> +<context> + <name>SongsPlugin.OpenLyricsExport</name> + <message> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongBookForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> + <source>Song Book Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> + <source>&Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> + <source>&Publisher:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songbookform.py" line="53"/> + <source>You need to type in a name for the book.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImport</name> + <message> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> + <source>copyright</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongImportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> + <source>Your song import failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongMaintenanceForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> + <source>Could not add your author.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> + <source>This author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> + <source>Could not add your topic.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> + <source>This topic already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> + <source>Could not add your book.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> + <source>This book already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> + <source>Could not save your changes.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> + <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> + <source>Could not save your modified author, because the author already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> + <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> + <source>Could not save your modified topic, because it already exists.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> + <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Delete Author</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>Are you sure you want to delete the selected author?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> + <source>This author cannot be deleted, they are currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Delete Topic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>Are you sure you want to delete the selected topic?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> + <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Delete Book</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>Are you sure you want to delete the selected book?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> + <source>This book cannot be deleted, it is currently assigned to at least one song.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.SongsTab</name> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="76"/> + <source>Songs Mode</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="78"/> + <source>Enable search as you type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="80"/> + <source>Display verses on live tool bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="82"/> + <source>Update service from song edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/songstab.py" line="84"/> + <source>Add missing songs when opening service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.TopicsForm</name> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> + <source>Topic Maintenance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> + <source>Topic name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/topicsform.py" line="52"/> + <source>You need to type in a topic name.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SongsPlugin.VerseType</name> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> + <source>Verse</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="58"/> + <source>Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> + <source>Bridge</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> + <source>Pre-Chorus</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <source>Intro</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> + <source>Ending</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> + <source>Other</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/resources/i18n/sv.ts b/resources/i18n/sv.ts index f2aea7466..95863d335 100644 --- a/resources/i18n/sv.ts +++ b/resources/i18n/sv.ts @@ -3,24 +3,24 @@ <context> <name>AlertPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>No Parameter found</source> <translation>Hittade ingen parameter</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="174"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>Du har inte angivit någon parameter som kan ersättas. Vill du fortsätta ändå?</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>No Placeholder found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="185"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. Do want to continue anyway?</source> <translation>Larmtexten innehåller inget '<>'. @@ -30,34 +30,34 @@ Vill du fortsätta ändå?</translation> <context> <name>AlertsPlugin</name> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="72"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="64"/> <source>&Alert</source> <translation>&Larm</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="73"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="65"/> <source>Show an alert message.</source> <translation>Visa ett larmmeddelande.</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="106"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="98"/> <source><strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen</source> <translation><strong>Larmplugin</strong><br />Larmpluginen kontrollerar visningen av larmmeddelande på visningsskärmen</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="117"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="109"/> <source>Alert</source> <comment>name singular</comment> <translation>Larm</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="118"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="110"/> <source>Alerts</source> <comment>name plural</comment> <translation type="unfinished">Alarm</translation> </message> <message> - <location filename="openlp/plugins/alerts/alertsplugin.py" line="122"/> + <location filename="openlp/plugins/alerts/alertsplugin.py" line="114"/> <source>Alerts</source> <comment>container title</comment> <translation>Larm</translation> @@ -66,30 +66,25 @@ Vill du fortsätta ändå?</translation> <context> <name>AlertsPlugin.AlertForm</name> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="94"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> <source>Alert Message</source> <translation type="unfinished">Larmmeddelande</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="96"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> <source>Alert &text:</source> <translation>Larm&text:</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> <source>&New</source> <translation type="unfinished">&Ny</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="102"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> <source>&Save</source> <translation type="unfinished">&Spara</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="104"/> - <source>&Delete</source> - <translation>&Ta bort</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="106"/> <source>Displ&ay</source> @@ -101,17 +96,17 @@ Vill du fortsätta ändå?</translation> <translation>Visa && stän&g</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>New Alert</source> <translation>Nytt larm</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="103"/> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="98"/> <source>You haven't specified any text for your alert. Please type in some text before clicking New.</source> - <translation>Du har inte angivit någon text för ditt larm. Vänligen ange en text innan du klickar på Nytt.</translation> + <translation>Du har inte angivit någon text för ditt larm. Ange en text innan du klickar på Nytt.</translation> </message> <message> - <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="98"/> + <location filename="openlp/plugins/alerts/forms/alertdialog.py" line="100"/> <source>&Parameter:</source> <translation>&Parameter:</translation> </message> @@ -127,95 +122,84 @@ Vill du fortsätta ändå?</translation> <context> <name>AlertsPlugin.AlertsTab</name> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="102"/> <source>Font</source> <translation>Teckensnitt</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="112"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="104"/> <source>Font name:</source> <translation>Teckensnittsnamn:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="114"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="106"/> <source>Font color:</source> - <translation>Teckensnittsfärg:</translation> + <translation>Teckenfärg:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="116"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="108"/> <source>Background color:</source> <translation>Bakgrundsfärg:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="118"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="110"/> <source>Font size:</source> - <translation>Teckensnittstorlek:</translation> + <translation>Teckenstorlek:</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="120"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="122"/> + <location filename="openlp/plugins/alerts/lib/alertstab.py" line="113"/> <source>Alert timeout:</source> - <translation>Larm timeout:</translation> + <translation>Visningstid:</translation> + </message> +</context> +<context> + <name>BibleDB.Wizard</name> + <message> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="115"/> + <source>Importing testaments... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="124"/> - <source>s</source> - <translation type="unfinished">s</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="127"/> + <source>Importing testaments... done.</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="126"/> - <source>Location:</source> - <translation type="unfinished">Placering:</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="150"/> + <source>Importing books... %s</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="128"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="183"/> + <source>Importing verses from %s...</source> + <comment>Importing verses from <book name>...</comment> + <translation>Importerar verser från %s...</translation> </message> <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="130"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="132"/> - <source>Top</source> - <translation>Toppen</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="134"/> - <source>Middle</source> - <translation type="unfinished">Mitten</translation> - </message> - <message> - <location filename="openlp/plugins/alerts/lib/alertstab.py" line="136"/> - <source>Bottom</source> - <translation>Botten</translation> + <location filename="openlp/plugins/bibles/lib/csvbible.py" line="192"/> + <source>Importing verses... done.</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblePlugin.HTTPBible</name> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>Download Error</source> <translation>Fel vid nerladdning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>Parse Error</source> <translation>Fel vid analys</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="543"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="572"/> <source>There was a problem downloading your verse selection. Please check your Internet connection, and if this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="550"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="579"/> <source>There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug.</source> <translation type="unfinished"></translation> </message> @@ -223,12 +207,12 @@ Vill du fortsätta ändå?</translation> <context> <name>BiblePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="583"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="540"/> <source>You cannot combine single and second bible verses. Do you want to delete your search results and start a new search?</source> <translation>Du kan inte kombinera sökningar av verser med en och två biblar. Vill du ta bort ditt sökresultat och starta en ny sökning?</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="393"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="347"/> <source>Bible not fully loaded</source> <translation type="unfinished"></translation> </message> @@ -236,110 +220,75 @@ Vill du fortsätta ändå?</translation> <context> <name>BiblesPlugin</name> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="87"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="80"/> <source>&Bible</source> <translation type="unfinished">&Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="95"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="88"/> <source><strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.</source> <translation><strong>Bibelplugin</strong><br />Bibelpluginen tillhandahåller möjligheten att visa bibelverser från olika källor under gudstjänsten.</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="140"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="133"/> <source>Import a Bible</source> <translation>Importera en bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="145"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> <source>Add a new Bible</source> <translation>Lägg till en bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="150"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="135"/> <source>Edit the selected Bible</source> <translation>Redigera vald bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="155"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="136"/> <source>Delete the selected Bible</source> <translation>Ta bort vald bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="159"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="160"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="137"/> <source>Preview the selected Bible</source> <translation>Förhandsgranska vald bibeln</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="164"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="165"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="138"/> <source>Send the selected Bible live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="170"/> - <source>Service</source> - <translation>Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="171"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> <source>Add the selected Bible to the service</source> <translation>Lägg till vald bibel till gudstjänstordningen</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="129"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="123"/> <source>Bible</source> <comment>name singular</comment> <translation>Bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="130"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="124"/> <source>Bibles</source> <comment>name plural</comment> <translation type="unfinished">Biblar</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="134"/> + <location filename="openlp/plugins/bibles/bibleplugin.py" line="128"/> <source>Bibles</source> <comment>container title</comment> <translation type="unfinished">Biblar</translation> </message> <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="139"/> - <source>&Import</source> - <translation>&Importera</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="144"/> - <source>&Add</source> - <translation type="unfinished">&Lägg till</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="149"/> - <source>&Edit</source> - <translation>&Ändra</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/bibleplugin.py" line="154"/> - <source>&Delete</source> - <translation type="unfinished">&Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No Book Found</source> <translation type="unfinished">Ingen bok hittades</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/http.py" line="433"/> + <location filename="openlp/plugins/bibles/lib/http.py" line="452"/> <source>No matching book could be found in this Bible. Check that you have spelled the name of the book correctly.</source> <translation>Ingen bok hittades i vald bibel. Kontrollera stavningen på bokens namn.</translation> </message> @@ -347,39 +296,40 @@ Vill du fortsätta ändå?</translation> <context> <name>BiblesPlugin.BibleManager</name> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> <source>Scripture Reference Error</source> - <translation type="unfinished"></translation> + <translation>Felaktigt bibelställe</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> <source>Web Bible cannot be used</source> - <translation type="unfinished"></translation> + <translation>Bibel på webben kan inte användas</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/lib/manager.py" line="301"/> + <source>Text Search is not available with Web Bibles.</source> + <translation>Textsökning är inte tillgänglig för bibel på webben.</translation> </message> <message> <location filename="openlp/plugins/bibles/lib/manager.py" line="311"/> - <source>Text Search is not available with Web Bibles.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="321"/> <source>You did not enter a search keyword. You can separate different keywords by a space to search for all of your keywords and you can separate them by a comma to search for one of them.</source> - <translation type="unfinished"></translation> + <translation>Du angav inget sökord. +Du kan ange flera sökord avskilda med mellanslag för att söka på alla sökord och du kan avskilja sökorden med kommatecken för att söka efter ett av sökorden.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>No Bibles available</source> - <translation type="unfinished"></translation> + <translation>Ingen bibel tillgänglig</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="261"/> + <location filename="openlp/plugins/bibles/lib/manager.py" line="251"/> <source>There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles.</source> - <translation type="unfinished"></translation> + <translation>Det finns ingen bibel installerad. Använd guiden för bibelimport och installera en eller flera biblar.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/manager.py" line="273"/> - <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + <location filename="openlp/plugins/bibles/lib/manager.py" line="263"/> + <source>Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: Book Chapter Book Chapter-Chapter @@ -393,519 +343,352 @@ Book Chapter:Verse-Chapter:Verse</source> <context> <name>BiblesPlugin.BiblesTab</name> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="114"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="115"/> <source>Verse Display</source> - <translation type="unfinished">Versvisning</translation> + <translation>Visning av verser</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="116"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="117"/> <source>Only show new chapter numbers</source> <translation type="unfinished">Visa bara nya kapitelnummer</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="119"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="120"/> <source>Layout style:</source> - <translation type="unfinished"></translation> + <translation>Layout:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="121"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="122"/> <source>Display style:</source> - <translation type="unfinished"></translation> + <translation>Display stil:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="123"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="124"/> <source>Bible theme:</source> - <translation type="unfinished"></translation> + <translation>Bibeltema:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="125"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="126"/> <source>Verse Per Slide</source> <translation>Verser per sida</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="127"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="128"/> <source>Verse Per Line</source> <translation>Verser per rad</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="129"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="130"/> <source>Continuous</source> <translation>Kontinuerlig</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="131"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="132"/> <source>No Brackets</source> <translation>Inga parenteser</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="133"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="134"/> <source>( And )</source> <translation>( och )</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="135"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="136"/> <source>{ And }</source> <translation>{ och }</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="137"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="138"/> <source>[ And ]</source> <translation>[ och ]</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="139"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="140"/> <source>Note: Changes do not affect verses already in the service.</source> <translation>Notera: Ändringar kommer inte påverka verser som finns i planeringen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/biblestab.py" line="141"/> + <location filename="openlp/plugins/bibles/lib/biblestab.py" line="142"/> <source>Display second Bible verses</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BiblesPlugin.CSVImport</name> - <message> - <location filename="openlp/plugins/bibles/lib/csvbible.py" line="96"/> - <source>Importing %s %s...</source> - <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Visa andra bibelns verser</translation> </message> </context> <context> <name>BiblesPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="360"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="353"/> <source>Bible Import Wizard</source> - <translation>Bibelimportguide</translation> + <translation>Guiden för bibelimport</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="362"/> - <source>Welcome to the Bible Import Wizard</source> - <translation>Välkommen till guiden för bibelimport</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="366"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="357"/> <source>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.</source> - <translation type="unfinished">Den här guiden hjälper dig importera biblar från en mängd olika format. Klicka på Nästa för att börja proceduren genom att välja ett format att importera från.</translation> + <translation>Den här guiden hjälper dig importera biblar från en mängd olika format. Klicka på Nästa för att fortsätta med importen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="371"/> - <source>Select Import Source</source> - <translation type="unfinished">Välj importkälla</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="373"/> - <source>Select the import format, and where to import from.</source> - <translation>Välj format för importen och plats att importera från.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="376"/> - <source>Format:</source> - <translation type="unfinished">Format:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="378"/> - <source>OSIS</source> - <translation type="unfinished">OSIS</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="380"/> - <source>CSV</source> - <translation type="unfinished">CSV</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="382"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="384"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="368"/> <source>Web Download</source> - <translation type="unfinished">Webbnedladdning</translation> + <translation>Nedladdning från internet</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="390"/> - <source>File location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="392"/> - <source>Books location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="394"/> - <source>Verse location:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> - <source>Bible filename:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="383"/> <source>Location:</source> <translation>Placering:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="385"/> <source>Crosswalk</source> <translation type="unfinished">Crosswalk</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="387"/> <source>BibleGateway</source> <translation type="unfinished">BibleGateway</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="391"/> <source>Bible:</source> <translation type="unfinished">Bibel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="393"/> <source>Download Options</source> <translation type="unfinished">Alternativ för nedladdning</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="396"/> <source>Server:</source> <translation type="unfinished">Server:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="398"/> <source>Username:</source> <translation type="unfinished">Användarnamn:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="400"/> <source>Password:</source> <translation type="unfinished">Lösenord:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="417"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="402"/> <source>Proxy Server (Optional)</source> <translation type="unfinished">Proxyserver (Frivilligt)</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="421"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="406"/> <source>License Details</source> - <translation type="unfinished">Licensdetaljer</translation> + <translation>Licensuppgifter</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="423"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="408"/> <source>Set up the Bible's license details.</source> - <translation>Skriv in bibelns licensdetaljer.</translation> + <translation>Skriv in bibelns licensuppgifter.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="426"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="411"/> <source>Version name:</source> - <translation type="unfinished"></translation> + <translation>Versionsnamn:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="428"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="413"/> <source>Copyright:</source> <translation type="unfinished">Copyright:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="432"/> - <source>Importing</source> - <translation type="unfinished">Importerar</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="434"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="418"/> <source>Please wait while your Bible is imported.</source> - <translation>Vänligen vänta medan din bibel importeras.</translation> + <translation>Vänta medan din bibel importeras.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="437"/> - <source>Ready.</source> - <translation>Klar.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>Invalid Bible Location</source> - <translation type="unfinished">Felaktig bibelplacering</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="512"/> - <source>You need to specify a file to import your Bible from.</source> - <translation>Du måste ange en fil att importera din bibel från.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> - <source>Invalid Books File</source> - <translation type="unfinished">Ogiltig bokfil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="482"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="458"/> <source>You need to specify a file with books of the Bible to use in the import.</source> <translation type="unfinished">Du måste välja en fil med Bibelböcker att använda i importen.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> - <source>Invalid Verse File</source> - <translation type="unfinished">Ogiltid versfil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="491"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="465"/> <source>You need to specify a file of Bible verses to import.</source> <translation type="unfinished">Du måste specificera en fil med Bibelverser att importera.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>Invalid OpenSong Bible</source> - <translation type="unfinished">Ogiltig OpenSong-bibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="502"/> - <source>You need to specify an OpenSong Bible file to import.</source> - <translation type="unfinished">Du måste ange en OpenSong Bibel-fil att importera.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> - <source>Empty Version Name</source> - <translation type="unfinished">Tomt versionsnamn</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="526"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="490"/> <source>You need to specify a version name for your Bible.</source> <translation type="unfinished">Du måste ange ett versionsnamn för din Bibel.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> - <source>Empty Copyright</source> - <translation>Tom copyrightinformation</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>Bible Exists</source> - <translation>Bibeln finns</translation> + <translation>Bibeln finns redan</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="571"/> - <source>Open OSIS File</source> - <translation>Öppna OSIS-fil</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="579"/> - <source>Open Books CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> - <source>Open Verses CSV File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="596"/> - <source>Open OpenSong Bible</source> - <translation>Öppna OpenSong-bibel</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="750"/> - <source>Starting import...</source> - <translation type="unfinished">Påbörjar import...</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="823"/> - <source>Finished import.</source> - <translation type="unfinished">Importen är färdig.</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="826"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="754"/> <source>Your Bible import failed.</source> <translation>Din bibelimport misslyckades.</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="534"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="496"/> <source>You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="543"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="503"/> <source>This Bible already exists. Please import a different Bible or first delete the existing one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> - <source>Open openlp.org 1.x Bible</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="746"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="684"/> <source>Starting Registering bible...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="818"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="747"/> <source>Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="386"/> - <source>openlp.org 1.x</source> - <translation type="unfinished">openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="430"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="415"/> <source>Permissions:</source> - <translation type="unfinished"></translation> + <translation>Tillstånd:</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="588"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="554"/> <source>CSV File</source> - <translation type="unfinished"></translation> + <translation>CSV-fil</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="604"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="569"/> <source>openlp.org 1.x bible</source> - <translation type="unfinished"></translation> + <translation>openlp.org 1.x bibel</translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="729"/> - <source>All Files</source> - <translation type="unfinished">Alla filer</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="404"/> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="389"/> <source>Bibleserver</source> + <translation>Bibelserver</translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="381"/> + <source>Bible file:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="440"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="375"/> + <source>Testaments file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="377"/> + <source>Books file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="379"/> + <source>Verses file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="450"/> + <source>You have not specified a testaments file. Do you want to proceed with the import?</source> <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="136"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="121"/> <source>Quick</source> <translation type="unfinished">Snabb</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="227"/> - <source>Advanced</source> - <translation type="unfinished">Avancerat</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="288"/> - <source>Version:</source> - <translation type="unfinished">Version:</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="280"/> - <source>Search type:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="282"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="243"/> <source>Find:</source> <translation type="unfinished">Hitta:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="304"/> - <source>Search</source> - <translation type="unfinished">Sök</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="302"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="261"/> <source>Results:</source> <translation type="unfinished">Resultat:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="292"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="251"/> <source>Book:</source> <translation type="unfinished">Bok:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="294"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="253"/> <source>Chapter:</source> <translation type="unfinished">Kapitel:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="296"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="255"/> <source>Verse:</source> <translation type="unfinished">Vers:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="298"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="257"/> <source>From:</source> <translation type="unfinished">Från:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="300"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="259"/> <source>To:</source> <translation type="unfinished">Till:</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="306"/> - <source>Verse Search</source> - <translation type="unfinished">Sök vers</translation> - </message> - <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="308"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> <source>Text Search</source> <translation type="unfinished">Textsökning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="314"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="268"/> <source>Clear</source> - <translation>Rensa</translation> + <translation>Rensa vid ny sökning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="316"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="270"/> <source>Keep</source> - <translation type="unfinished">Behåll</translation> + <translation>Behåll vid ny sökning</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="290"/> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="249"/> <source>Second:</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>BiblesPlugin.OpenLP1Import</name> <message> - <location filename="openlp/plugins/bibles/lib/openlp1.py" line="76"/> - <source>Importing %s...</source> - <translation type="unfinished">Importerar %s...</translation> + <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="102"/> + <source>Scripture Reference</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>BiblesPlugin.Opensong</name> <message> - <location filename="openlp/plugins/bibles/lib/opensong.py" line="87"/> + <location filename="openlp/plugins/bibles/lib/opensong.py" line="82"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Importerar %s %s...</translation> </message> </context> <context> <name>BiblesPlugin.OsisImport</name> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="104"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="98"/> <source>Detecting encoding (this may take a few minutes)...</source> - <translation type="unfinished"></translation> + <translation>Analyserar kodning (detta kan ta några minuter)...</translation> </message> <message> - <location filename="openlp/plugins/bibles/lib/osis.py" line="143"/> + <location filename="openlp/plugins/bibles/lib/osis.py" line="137"/> <source>Importing %s %s...</source> <comment>Importing <book name> <chapter>...</comment> - <translation type="unfinished"></translation> + <translation>Importerar %s %s...</translation> </message> </context> <context> <name>CustomPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="66"/> + <location filename="openlp/plugins/custom/customplugin.py" line="59"/> <source><strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.</source> <translation type="unfinished"></translation> </message> @@ -926,210 +709,122 @@ demand and thus an internet connection is required.</source> <context> <name>CustomPlugin.EditCustomForm</name> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="109"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="106"/> <source>Edit Custom Slides</source> <translation>Redigera anpassade diabilder</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> - <source>Move slide up one position.</source> - <translation>Flytta upp diabilden en position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="114"/> - <source>Move slide down one position.</source> - <translation>Flytta ner diabilden en position.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="117"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="108"/> <source>&Title:</source> <translation>&Titel:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="121"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="111"/> <source>Add a new slide at bottom.</source> <translation>Lägg till en ny diabild sist.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="126"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="115"/> <source>Edit the selected slide.</source> <translation>Redigera vald diabild.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="131"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="120"/> <source>Edit all the slides at once.</source> <translation>Redigera alla diabilder på en gång.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="136"/> - <source>Delete the selected slide.</source> - <translation>Ta bort vald diabild.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="56"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="50"/> <source>Split Slide</source> <translation>Dela diabilden</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="58"/> + <location filename="openlp/plugins/custom/forms/editcustomslidedialog.py" line="52"/> <source>Split a slide into two by inserting a slide splitter.</source> <translation>Dela diabilden i två genom att lägga till en diabild delare.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="139"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="123"/> <source>The&me:</source> <translation>Te&ma:</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="141"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="125"/> <source>&Credits:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="83"/> - <source>Save && Preview</source> - <translation type="unfinished">Spara && förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="262"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="261"/> <source>You need to type in a title.</source> <translation>Du måste ange en titel.</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomform.py" line="266"/> + <location filename="openlp/plugins/custom/forms/editcustomform.py" line="267"/> <source>You need to add at least one slide</source> <translation>Du måste lägga till minst en diabild</translation> </message> <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="119"/> - <source>&Add</source> - <translation type="unfinished">&Lägg till</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="124"/> - <source>&Edit</source> - <translation type="unfinished">&Ändra</translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="129"/> + <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="118"/> <source>Ed&it All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/forms/editcustomdialog.py" line="134"/> - <source>&Delete</source> - <translation type="unfinished">&Ta bort</translation> - </message> -</context> -<context> - <name>CustomPlugin.MediaItem</name> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="122"/> - <source>You haven't selected an item to edit.</source> - <translation>Du har inte valt något objekt för redigering.</translation> - </message> - <message> - <location filename="openlp/plugins/custom/lib/mediaitem.py" line="135"/> - <source>You haven't selected an item to delete.</source> - <translation>Du har inte valt något objekt att ta bort.</translation> + <translation>Red&igera alla</translation> </message> </context> <context> <name>CustomsPlugin</name> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="117"/> - <source>Import</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="118"/> + <location filename="openlp/plugins/custom/customplugin.py" line="110"/> <source>Import a Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="123"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="124"/> + <location filename="openlp/plugins/custom/customplugin.py" line="109"/> <source>Load a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="129"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="130"/> + <location filename="openlp/plugins/custom/customplugin.py" line="111"/> <source>Add a new Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="135"/> - <source>Edit</source> - <translation type="unfinished">Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="136"/> + <location filename="openlp/plugins/custom/customplugin.py" line="112"/> <source>Edit the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="141"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="142"/> + <location filename="openlp/plugins/custom/customplugin.py" line="113"/> <source>Delete the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="147"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="148"/> + <location filename="openlp/plugins/custom/customplugin.py" line="114"/> <source>Preview the selected Custom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="153"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="154"/> + <location filename="openlp/plugins/custom/customplugin.py" line="116"/> <source>Send the selected Custom live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="159"/> - <source>Service</source> - <translation type="unfinished">Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/custom/customplugin.py" line="160"/> + <location filename="openlp/plugins/custom/customplugin.py" line="118"/> <source>Add the selected Custom to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="107"/> + <location filename="openlp/plugins/custom/customplugin.py" line="100"/> <source>Custom</source> <comment>name singular</comment> <translation type="unfinished">Anpassad</translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="108"/> + <location filename="openlp/plugins/custom/customplugin.py" line="101"/> <source>Customs</source> <comment>name plural</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/custom/customplugin.py" line="112"/> + <location filename="openlp/plugins/custom/customplugin.py" line="105"/> <source>Custom</source> <comment>container title</comment> <translation type="unfinished">Anpassad</translation> @@ -1138,169 +833,108 @@ demand and thus an internet connection is required.</source> <context> <name>ImagePlugin</name> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="48"/> + <location filename="openlp/plugins/images/imageplugin.py" line="45"/> <source><strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="73"/> + <source>Load a new Image</source> + <translation>Ladda en ny bild</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="75"/> + <source>Add a new Image</source> + <translation>Lägg till en ny bild</translation> + </message> + <message> + <location filename="openlp/plugins/images/imageplugin.py" line="76"/> + <source>Edit the selected Image</source> + <translation>Redigera vald bild</translation> + </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="77"/> - <source>Load</source> - <translation type="unfinished"></translation> + <source>Delete the selected Image</source> + <translation>Ta bort vald bild</translation> </message> <message> <location filename="openlp/plugins/images/imageplugin.py" line="78"/> - <source>Load a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="83"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="84"/> - <source>Add a new Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="89"/> - <source>Edit</source> - <translation type="unfinished">Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="90"/> - <source>Edit the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="95"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="96"/> - <source>Delete the selected Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="101"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="102"/> <source>Preview the selected Image</source> - <translation type="unfinished"></translation> + <translation>Förhandsgranska vald bild</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="107"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="108"/> + <location filename="openlp/plugins/images/imageplugin.py" line="79"/> <source>Send the selected Image live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="113"/> - <source>Service</source> - <translation type="unfinished">Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/images/imageplugin.py" line="114"/> + <location filename="openlp/plugins/images/imageplugin.py" line="80"/> <source>Add the selected Image to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="67"/> + <location filename="openlp/plugins/images/imageplugin.py" line="64"/> <source>Image</source> <comment>name singular</comment> <translation type="unfinished">Bild</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="68"/> + <location filename="openlp/plugins/images/imageplugin.py" line="65"/> <source>Images</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Bilder</translation> </message> <message> - <location filename="openlp/plugins/images/imageplugin.py" line="72"/> + <location filename="openlp/plugins/images/imageplugin.py" line="69"/> <source>Images</source> <comment>container title</comment> + <translation>Bilder</translation> + </message> +</context> +<context> + <name>ImagePlugin.ExceptionDialog</name> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="176"/> + <source>Select Attachment</source> <translation type="unfinished"></translation> </message> </context> <context> <name>ImagePlugin.MediaItem</name> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="62"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="53"/> <source>Select Image(s)</source> <translation type="unfinished">Välj bild(er)</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="65"/> - <source>All Files</source> - <translation>Alla filer</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation type="unfinished">Ersätt bakgrund</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="73"/> - <source>Reset Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="112"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="96"/> <source>You must select an image to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="144"/> - <source>Image(s)</source> - <translation>Bild(er)</translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="189"/> <source>You must select an image to replace the background with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>Missing Image(s)</source> - <translation type="unfinished"></translation> + <translation>Bild(er) saknas</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="164"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="147"/> <source>The following image(s) no longer exist: %s</source> - <translation type="unfinished"></translation> + <translation>Följande bild(er) finns inte längre: %s</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="171"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="154"/> <source>The following image(s) no longer exist: %s Do you want to add the other images anyway?</source> - <translation type="unfinished"></translation> + <translation>Följande bild(er) finns inte längre: %s +Vill du lägga till dom andra bilderna ändå?</translation> </message> <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> - <source>Live Background Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/images/lib/mediaitem.py" line="211"/> + <location filename="openlp/plugins/images/lib/mediaitem.py" line="200"/> <source>There was a problem replacing your background, the image file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> @@ -1308,146 +942,86 @@ Do you want to add the other images anyway?</source> <context> <name>MediaPlugin</name> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="86"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="70"/> <source><strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="106"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="107"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> <source>Load a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="112"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="113"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="91"/> <source>Add a new Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="118"/> - <source>Edit</source> - <translation type="unfinished">Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="119"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="92"/> <source>Edit the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="124"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="125"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="93"/> <source>Delete the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="130"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="131"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="94"/> <source>Preview the selected Media</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="136"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="137"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="95"/> <source>Send the selected Media live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="142"/> - <source>Service</source> - <translation type="unfinished">Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="143"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> <source>Add the selected Media to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="96"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="80"/> <source>Media</source> <comment>name singular</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="97"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Media</translation> </message> <message> - <location filename="openlp/plugins/media/mediaplugin.py" line="101"/> + <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Media</translation> </message> </context> <context> <name>MediaPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="129"/> - <source>Media</source> - <translation type="unfinished">Media</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="63"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="61"/> <source>Select Media</source> <translation type="unfinished">Välj media</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="69"/> - <source>Replace Live Background</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="67"/> - <source>Replace Background</source> - <translation>Ersätt bakgrund</translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="157"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="163"/> <source>You must select a media file to delete.</source> <translation>Du måste välja en mediafil för borttagning.</translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="64"/> - <source>Videos (%s);;Audio (%s);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>Missing Media File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="140"/> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="147"/> <source>The file %s no longer exists.</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="71"/> - <source>Reset Background</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="106"/> <source>You must select a media file to replace the background with.</source> @@ -1455,12 +1029,12 @@ Do you want to add the other images anyway?</source> </message> <message> <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>Live Background Error</source> + <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediaitem.py" line="116"/> - <source>There was a problem replacing your background, the media file "%s" no longer exists.</source> + <location filename="openlp/plugins/media/lib/mediaitem.py" line="62"/> + <source>Videos (%s);;Audio (%s);;%s (*)</source> <translation type="unfinished"></translation> </message> </context> @@ -1468,16 +1042,11 @@ Do you want to add the other images anyway?</source> <name>MediaPlugin.MediaTab</name> <message> <location filename="openlp/plugins/media/lib/mediatab.py" line="56"/> - <source>Media</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="57"/> <source>Media Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/media/lib/mediatab.py" line="59"/> + <location filename="openlp/plugins/media/lib/mediatab.py" line="58"/> <source>Use Phonon for video playback</source> <translation type="unfinished"></translation> </message> @@ -1485,18 +1054,13 @@ Do you want to add the other images anyway?</source> <context> <name>OpenLP</name> <message> - <location filename="openlp/core/utils/__init__.py" line="273"/> + <location filename="openlp/core/utils/__init__.py" line="276"/> <source>Image Files</source> <translation>Bildfiler</translation> </message> </context> <context> <name>OpenLP.AboutForm</name> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="89"/> - <source>About OpenLP</source> - <translation type="unfinished">Om OpenLP</translation> - </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="91"/> <source>OpenLP <version><revision> - Open Source Lyrics Projection @@ -1509,14 +1073,9 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="107"/> - <source>About</source> - <translation type="unfinished">Om</translation> - </message> - <message> - <location filename="openlp/core/ui/aboutdialog.py" line="161"/> + <location filename="openlp/core/ui/aboutdialog.py" line="160"/> <source>Credits</source> - <translation type="unfinished">Credits</translation> + <translation>Lista över medverkande</translation> </message> <message> <location filename="openlp/core/ui/aboutdialog.py" line="553"/> @@ -1534,7 +1093,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="110"/> + <location filename="openlp/core/ui/aboutdialog.py" line="109"/> <source>Project Lead Raoul "superfly" Snyman @@ -1587,9 +1146,11 @@ Final Credit <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/aboutdialog.py" line="164"/> + <location filename="openlp/core/ui/aboutdialog.py" line="163"/> <source>Copyright © 2004-2011 Raoul Snyman -Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard +Portions copyright © 2004-2011 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, +Meinert Jordan, Andreas Preikschat, Christian Richter, Philip +Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, CarstennTinggaard, Frode Woldsund 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. @@ -1725,125 +1286,133 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.AdvancedTab</name> <message> - <location filename="openlp/core/ui/advancedtab.py" line="115"/> - <source>Advanced</source> - <translation type="unfinished">Avancerat</translation> - </message> - <message> - <location filename="openlp/core/ui/advancedtab.py" line="116"/> + <location filename="openlp/core/ui/advancedtab.py" line="125"/> <source>UI Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="117"/> + <location filename="openlp/core/ui/advancedtab.py" line="126"/> <source>Number of recent files to display:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="120"/> + <location filename="openlp/core/ui/advancedtab.py" line="129"/> <source>Remember active media manager tab on startup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="122"/> + <location filename="openlp/core/ui/advancedtab.py" line="131"/> <source>Double-click to send items straight to live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="124"/> + <location filename="openlp/core/ui/advancedtab.py" line="133"/> <source>Expand new service items on creation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="126"/> + <location filename="openlp/core/ui/advancedtab.py" line="135"/> <source>Enable application exit confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="128"/> + <location filename="openlp/core/ui/advancedtab.py" line="137"/> <source>Mouse Cursor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/advancedtab.py" line="130"/> - <source>Hide the mouse cursor when moved over the display window</source> + <location filename="openlp/core/ui/advancedtab.py" line="139"/> + <source>Hide mouse cursor when over display window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="141"/> + <source>Default Image</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="143"/> + <source>Background color:</source> + <translation type="unfinished">Bakgrundsfärg:</translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="145"/> + <source>Image file:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/advancedtab.py" line="217"/> + <source>Open File</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.DisplayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="128"/> + <source>Edit Selection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="130"/> + <source>Update</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="143"/> + <source>Description</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="134"/> + <source>Tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="135"/> + <source>Start tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="137"/> + <source>End tag</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="140"/> + <source>Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="145"/> + <source>Tag id</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="147"/> + <source>Start Html</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="149"/> + <source>End Html</source> <translation type="unfinished"></translation> </message> </context> <context> <name>OpenLP.DisplayTagTab</name> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="157"/> - <source>Edit Selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="159"/> - <source>Update</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="173"/> - <source>Description</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="163"/> - <source>Tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="164"/> - <source>Start tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="166"/> - <source>End tag</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="167"/> - <source>Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="169"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="171"/> - <source>New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="175"/> - <source>Tag id</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="177"/> - <source>Start Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="179"/> - <source>End Html</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Update Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="279"/> + <location filename="openlp/core/ui/displaytagform.py" line="146"/> <source>Tag "n" already defined.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/displaytagtab.py" line="320"/> + <location filename="openlp/core/ui/displaytagform.py" line="188"/> <source>Tag %s already defined.</source> <translation type="unfinished"></translation> </message> @@ -1851,40 +1420,70 @@ This General Public License does not permit incorporating your program into prop <context> <name>OpenLP.ExceptionDialog</name> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="81"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="102"/> <source>Oops! OpenLP hit a problem, and couldn't recover. The text in the box below contains information that might be helpful to the OpenLP developers, so please e-mail it to bugs@openlp.org, along with a detailed description of what you were doing when the problem occurred.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="79"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="97"/> <source>Error Occurred</source> <translation>Fel uppstod</translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="87"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="108"/> <source>Send E-Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptiondialog.py" line="89"/> + <location filename="openlp/core/ui/exceptiondialog.py" line="110"/> <source>Save to File</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="99"/> + <source>Please enter a description of what you were doing to cause this error +(Minimum 20 characters)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptiondialog.py" line="112"/> + <source>Attach File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="171"/> + <source>Description characters to enter : %s</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ExceptionForm</name> <message> - <location filename="openlp/core/ui/exceptionform.py" line="76"/> + <location filename="openlp/core/ui/exceptionform.py" line="84"/> <source>Platform: %s </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="99"/> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Save Crash Report</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="114"/> + <source>Text files (*.txt *.log *.text)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/exceptionform.py" line="107"/> <source>**OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1894,24 +1493,15 @@ Version: %s <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Save Crash Report</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="105"/> - <source>Text files (*.txt *.log *.text)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/exceptionform.py" line="132"/> + <location filename="openlp/core/ui/exceptionform.py" line="141"/> <source>*OpenLP Bug Report* Version: %s ---- Please enter the report below this line. --- +--- Details of the Exception. --- +%s ---- Exception Traceback --- + --- Exception Traceback --- %s --- System information --- %s @@ -1925,17 +1515,17 @@ Version: %s <context> <name>OpenLP.FileRenameForm</name> <message> - <location filename="openlp/core/ui/filerenameform.py" line="53"/> + <location filename="openlp/core/ui/filerenameform.py" line="49"/> <source>File Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenamedialog.py" line="55"/> + <location filename="openlp/core/ui/filerenamedialog.py" line="53"/> <source>New File Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/filerenameform.py" line="50"/> + <location filename="openlp/core/ui/filerenameform.py" line="46"/> <source>File Copy</source> <translation type="unfinished"></translation> </message> @@ -1943,130 +1533,130 @@ Version: %s <context> <name>OpenLP.GeneralTab</name> <message> - <location filename="openlp/core/ui/generaltab.py" line="237"/> + <location filename="openlp/core/ui/generaltab.py" line="242"/> <source>General</source> <translation type="unfinished">Allmänt</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="238"/> + <location filename="openlp/core/ui/generaltab.py" line="243"/> <source>Monitors</source> <translation type="unfinished">Skärmar</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="240"/> + <location filename="openlp/core/ui/generaltab.py" line="245"/> <source>Select monitor for output display:</source> <translation type="unfinished">Välj skärm för utsignal:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="242"/> + <location filename="openlp/core/ui/generaltab.py" line="247"/> <source>Display if a single screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="244"/> + <location filename="openlp/core/ui/generaltab.py" line="249"/> <source>Application Startup</source> <translation type="unfinished">Programstart</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="246"/> + <location filename="openlp/core/ui/generaltab.py" line="251"/> <source>Show blank screen warning</source> <translation type="unfinished">Visa varning vid tom skärm</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="248"/> + <location filename="openlp/core/ui/generaltab.py" line="253"/> <source>Automatically open the last service</source> <translation type="unfinished">Öppna automatiskt den senaste planeringen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="250"/> + <location filename="openlp/core/ui/generaltab.py" line="255"/> <source>Show the splash screen</source> <translation type="unfinished">Visa startbilden</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="252"/> + <location filename="openlp/core/ui/generaltab.py" line="259"/> <source>Application Settings</source> <translation type="unfinished">Programinställningar</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="254"/> + <location filename="openlp/core/ui/generaltab.py" line="261"/> <source>Prompt to save before starting a new service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="256"/> + <location filename="openlp/core/ui/generaltab.py" line="263"/> <source>Automatically preview next item in service</source> <translation>Automatiskt förhandsgranska nästa post i planeringen</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="258"/> + <location filename="openlp/core/ui/generaltab.py" line="265"/> <source>Slide loop delay:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="260"/> + <location filename="openlp/core/ui/generaltab.py" line="267"/> <source> sec</source> <translation> sekunder</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="262"/> + <location filename="openlp/core/ui/generaltab.py" line="269"/> <source>CCLI Details</source> <translation type="unfinished">CCLI-detaljer</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="264"/> - <source>CCLI number:</source> - <translation>CCLI-nummer</translation> - </message> - <message> - <location filename="openlp/core/ui/generaltab.py" line="266"/> + <location filename="openlp/core/ui/generaltab.py" line="272"/> <source>SongSelect username:</source> <translation>SongSelect användarnamn:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="268"/> + <location filename="openlp/core/ui/generaltab.py" line="274"/> <source>SongSelect password:</source> <translation>SongSelect lösenord:</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="271"/> + <location filename="openlp/core/ui/generaltab.py" line="277"/> <source>Display Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="285"/> + <location filename="openlp/core/ui/generaltab.py" line="291"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="286"/> + <location filename="openlp/core/ui/generaltab.py" line="292"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="287"/> + <location filename="openlp/core/ui/generaltab.py" line="293"/> <source>Height</source> <translation>Höjd</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="289"/> + <location filename="openlp/core/ui/generaltab.py" line="295"/> <source>Width</source> <translation>Bredd</translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="283"/> + <location filename="openlp/core/ui/generaltab.py" line="289"/> <source>Override display position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="298"/> + <location filename="openlp/core/ui/generaltab.py" line="304"/> <source>Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/generaltab.py" line="301"/> + <location filename="openlp/core/ui/generaltab.py" line="307"/> <source>primary</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/generaltab.py" line="257"/> + <source>Check for updates to OpenLP</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.LanguageManager</name> @@ -2084,7 +1674,7 @@ Version: %s <context> <name>OpenLP.MainDisplay</name> <message> - <location filename="openlp/core/ui/maindisplay.py" line="125"/> + <location filename="openlp/core/ui/maindisplay.py" line="87"/> <source>OpenLP Display</source> <translation type="unfinished"></translation> </message> @@ -2092,409 +1682,374 @@ Version: %s <context> <name>OpenLP.MainWindow</name> <message> - <location filename="openlp/core/ui/mainwindow.py" line="340"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="342"/> + <location filename="openlp/core/ui/mainwindow.py" line="308"/> <source>&File</source> <translation type="unfinished">&Fil</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="343"/> + <location filename="openlp/core/ui/mainwindow.py" line="309"/> <source>&Import</source> <translation type="unfinished">&Importera</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="344"/> + <location filename="openlp/core/ui/mainwindow.py" line="310"/> <source>&Export</source> <translation type="unfinished">&Exportera</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="345"/> + <location filename="openlp/core/ui/mainwindow.py" line="311"/> <source>&View</source> <translation type="unfinished">&Visa</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="346"/> + <location filename="openlp/core/ui/mainwindow.py" line="312"/> <source>M&ode</source> <translation type="unfinished">&Läge</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <location filename="openlp/core/ui/mainwindow.py" line="313"/> <source>&Tools</source> <translation type="unfinished">&Verktyg</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="348"/> + <location filename="openlp/core/ui/mainwindow.py" line="314"/> <source>&Settings</source> <translation type="unfinished">&Inställningar</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="396"/> + <location filename="openlp/core/ui/mainwindow.py" line="363"/> <source>&Language</source> <translation type="unfinished">&Språk</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="351"/> + <location filename="openlp/core/ui/mainwindow.py" line="317"/> <source>&Help</source> <translation type="unfinished">&Hjälp</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="352"/> + <location filename="openlp/core/ui/mainwindow.py" line="318"/> <source>Media Manager</source> <translation type="unfinished">Mediahanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="354"/> + <location filename="openlp/core/ui/mainwindow.py" line="320"/> <source>Service Manager</source> <translation>Planeringshanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="356"/> + <location filename="openlp/core/ui/mainwindow.py" line="322"/> <source>Theme Manager</source> <translation type="unfinished">Temahanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="358"/> + <location filename="openlp/core/ui/mainwindow.py" line="324"/> <source>&New</source> <translation type="unfinished">&Ny</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="359"/> - <source>New Service</source> - <translation>Ny planering</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="361"/> - <source>Create a new service.</source> - <translation>Skapa en ny planering.</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="363"/> + <location filename="openlp/core/ui/mainwindow.py" line="327"/> <source>Ctrl+N</source> <translation type="unfinished">Ctrl+N</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="364"/> + <location filename="openlp/core/ui/mainwindow.py" line="328"/> <source>&Open</source> <translation type="unfinished">&Öppna</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="365"/> - <source>Open Service</source> - <translation>Öppna planering</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <location filename="openlp/core/ui/mainwindow.py" line="330"/> <source>Open an existing service.</source> <translation>Öppna en befintlig planering.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="369"/> + <location filename="openlp/core/ui/mainwindow.py" line="332"/> <source>Ctrl+O</source> <translation type="unfinished">Ctrl+O</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="370"/> + <location filename="openlp/core/ui/mainwindow.py" line="333"/> <source>&Save</source> <translation type="unfinished">&Spara</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="371"/> - <source>Save Service</source> - <translation>Spara planering</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="373"/> + <location filename="openlp/core/ui/mainwindow.py" line="335"/> <source>Save the current service to disk.</source> <translation>Spara den aktuella planeringen till disk.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="375"/> + <location filename="openlp/core/ui/mainwindow.py" line="337"/> <source>Ctrl+S</source> <translation type="unfinished">Ctrl+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="376"/> + <location filename="openlp/core/ui/mainwindow.py" line="338"/> <source>Save &As...</source> <translation type="unfinished">S&para som...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="378"/> + <location filename="openlp/core/ui/mainwindow.py" line="340"/> <source>Save Service As</source> <translation>Spara planering som</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="380"/> + <location filename="openlp/core/ui/mainwindow.py" line="342"/> <source>Save the current service under a new name.</source> <translation>Spara den aktuella planeringen under ett nytt namn.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="382"/> + <location filename="openlp/core/ui/mainwindow.py" line="344"/> <source>Ctrl+Shift+S</source> <translation>Ctrl+Shift+S</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="384"/> + <location filename="openlp/core/ui/mainwindow.py" line="351"/> <source>E&xit</source> <translation type="unfinished">&Avsluta</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="386"/> + <location filename="openlp/core/ui/mainwindow.py" line="353"/> <source>Quit OpenLP</source> <translation>Avsluta OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="388"/> + <location filename="openlp/core/ui/mainwindow.py" line="355"/> <source>Alt+F4</source> <translation type="unfinished">Alt+F4</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="394"/> + <location filename="openlp/core/ui/mainwindow.py" line="361"/> <source>&Theme</source> <translation type="unfinished">&Tema</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="400"/> + <location filename="openlp/core/ui/mainwindow.py" line="369"/> <source>&Configure OpenLP...</source> <translation>&Konfigurera OpenLP...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="402"/> + <location filename="openlp/core/ui/mainwindow.py" line="371"/> <source>&Media Manager</source> <translation type="unfinished">&Mediahanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="404"/> + <location filename="openlp/core/ui/mainwindow.py" line="373"/> <source>Toggle Media Manager</source> <translation type="unfinished">Växla mediahanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="406"/> + <location filename="openlp/core/ui/mainwindow.py" line="375"/> <source>Toggle the visibility of the media manager.</source> <translation>Växla synligheten för mediahanteraren.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="408"/> + <location filename="openlp/core/ui/mainwindow.py" line="377"/> <source>F8</source> <translation type="unfinished">F8</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="410"/> + <location filename="openlp/core/ui/mainwindow.py" line="379"/> <source>&Theme Manager</source> <translation type="unfinished">&Temahanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="412"/> + <location filename="openlp/core/ui/mainwindow.py" line="381"/> <source>Toggle Theme Manager</source> <translation type="unfinished">Växla temahanteraren</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="414"/> + <location filename="openlp/core/ui/mainwindow.py" line="383"/> <source>Toggle the visibility of the theme manager.</source> <translation>Växla synligheten för temahanteraren.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="416"/> + <location filename="openlp/core/ui/mainwindow.py" line="385"/> <source>F10</source> <translation type="unfinished">F10</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="418"/> + <location filename="openlp/core/ui/mainwindow.py" line="387"/> <source>&Service Manager</source> <translation>&Planeringshanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="420"/> + <location filename="openlp/core/ui/mainwindow.py" line="389"/> <source>Toggle Service Manager</source> <translation>Växla planeringshanterare</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="422"/> + <location filename="openlp/core/ui/mainwindow.py" line="391"/> <source>Toggle the visibility of the service manager.</source> <translation>Växla synligheten för planeringshanteraren.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="424"/> + <location filename="openlp/core/ui/mainwindow.py" line="393"/> <source>F9</source> <translation type="unfinished">F9</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="426"/> + <location filename="openlp/core/ui/mainwindow.py" line="395"/> <source>&Preview Panel</source> <translation type="unfinished">&Förhandsgranskning</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="428"/> + <location filename="openlp/core/ui/mainwindow.py" line="397"/> <source>Toggle Preview Panel</source> <translation type="unfinished">Växla förhandsgranskningspanel</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="430"/> + <location filename="openlp/core/ui/mainwindow.py" line="399"/> <source>Toggle the visibility of the preview panel.</source> <translation>Växla synligheten för förhandsgranskningspanelen.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="432"/> + <location filename="openlp/core/ui/mainwindow.py" line="401"/> <source>F11</source> <translation type="unfinished">F11</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="434"/> + <location filename="openlp/core/ui/mainwindow.py" line="403"/> <source>&Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="436"/> + <location filename="openlp/core/ui/mainwindow.py" line="405"/> <source>Toggle Live Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="438"/> + <location filename="openlp/core/ui/mainwindow.py" line="407"/> <source>Toggle the visibility of the live panel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <location filename="openlp/core/ui/mainwindow.py" line="409"/> <source>F12</source> <translation type="unfinished">F12</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <location filename="openlp/core/ui/mainwindow.py" line="411"/> <source>&Plugin List</source> <translation type="unfinished">&Pluginlista</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="444"/> + <location filename="openlp/core/ui/mainwindow.py" line="413"/> <source>List the Plugins</source> <translation>Lista pluginen</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="446"/> + <location filename="openlp/core/ui/mainwindow.py" line="415"/> <source>Alt+F7</source> <translation type="unfinished">Alt+F7</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="448"/> + <location filename="openlp/core/ui/mainwindow.py" line="417"/> <source>&User Guide</source> <translation type="unfinished">&Användarguide</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="450"/> + <location filename="openlp/core/ui/mainwindow.py" line="419"/> <source>&About</source> <translation type="unfinished">&Om</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="451"/> + <location filename="openlp/core/ui/mainwindow.py" line="420"/> <source>More information about OpenLP</source> <translation type="unfinished">Mer information om OpenLP</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="453"/> + <location filename="openlp/core/ui/mainwindow.py" line="422"/> <source>Ctrl+F1</source> <translation type="unfinished">Ctrl+F1</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="455"/> + <location filename="openlp/core/ui/mainwindow.py" line="424"/> <source>&Online Help</source> <translation>&Hjälp online</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="457"/> + <location filename="openlp/core/ui/mainwindow.py" line="426"/> <source>&Web Site</source> <translation type="unfinished">&Webbsida</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="459"/> + <location filename="openlp/core/ui/mainwindow.py" line="428"/> <source>&Auto Detect</source> <translation>Välj &automatiskt</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="461"/> + <location filename="openlp/core/ui/mainwindow.py" line="430"/> <source>Use the system language, if available.</source> - <translation>Använd systemspråket om möjligt</translation> + <translation>Använd systemspråket om möjligt.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="466"/> + <location filename="openlp/core/ui/mainwindow.py" line="434"/> <source>Set the interface language to %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="468"/> + <location filename="openlp/core/ui/mainwindow.py" line="436"/> <source>Add &Tool...</source> - <translation>Lägg till verktyg...</translation> + <translation>Lägg till &verktyg...</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="470"/> + <location filename="openlp/core/ui/mainwindow.py" line="438"/> <source>Add an application to the list of tools.</source> <translation>Lägg till en applikation i verktygslistan.</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="473"/> + <location filename="openlp/core/ui/mainwindow.py" line="444"/> <source>&Default</source> <translation>&Standard</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="475"/> + <location filename="openlp/core/ui/mainwindow.py" line="446"/> <source>Set the view mode back to the default.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="478"/> + <location filename="openlp/core/ui/mainwindow.py" line="448"/> <source>&Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="479"/> + <location filename="openlp/core/ui/mainwindow.py" line="449"/> <source>Set the view mode to Setup.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="482"/> + <location filename="openlp/core/ui/mainwindow.py" line="451"/> <source>&Live</source> <translation type="unfinished">&Live</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="483"/> + <location filename="openlp/core/ui/mainwindow.py" line="452"/> <source>Set the view mode to Live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="663"/> + <location filename="openlp/core/ui/mainwindow.py" line="640"/> <source>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/.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="667"/> + <location filename="openlp/core/ui/mainwindow.py" line="644"/> <source>OpenLP Version Updated</source> <translation>OpenLP-versionen uppdaterad</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>OpenLP Main Display Blanked</source> <translation>OpenLPs huvuddisplay rensad</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="707"/> + <location filename="openlp/core/ui/mainwindow.py" line="684"/> <source>The Main Display has been blanked out</source> <translation type="unfinished">Huvuddisplayen har rensats</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Save Changes to Service?</source> - <translation>Spara ändringarna till planeringen?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="815"/> - <source>Your service has changed. Do you want to save those changes?</source> - <translation>Din planering har ändrats. Vill du spara dessa ändringar?</translation> - </message> - <message> - <location filename="openlp/core/ui/mainwindow.py" line="917"/> + <location filename="openlp/core/ui/mainwindow.py" line="893"/> <source>Default Theme: %s</source> <translation>Standardtema: %s</translation> </message> @@ -2505,75 +2060,85 @@ You can download the latest version from http://openlp.org/.</source> <translation>Svenska</translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="398"/> + <location filename="openlp/core/ui/mainwindow.py" line="365"/> <source>Configure &Shortcuts...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Close OpenLP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/mainwindow.py" line="838"/> + <location filename="openlp/core/ui/mainwindow.py" line="815"/> <source>Are you sure you want to close OpenLP?</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="347"/> + <source>Print the current Service Order.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="349"/> + <source>Ctrl+P</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="440"/> + <source>Open &Data Folder...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="442"/> + <source>Open the folder where songs, bibles and other data resides.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/mainwindow.py" line="367"/> + <source>&Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.MediaManagerItem</name> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/__init__.py" line="287"/> <source>No Items Selected</source> <translation>Inget objekt valt</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="314"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="287"/> <source>&Add to selected Service Item</source> - <translation>&Lägg till till vald planeringsobjekt</translation> + <translation>&Lägg till vald planeringsobjekt</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="442"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="420"/> <source>You must select one or more items to preview.</source> <translation>Du måste välja ett eller flera objekt att förhandsgranska.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="459"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="436"/> <source>You must select one or more items to send live.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="475"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="477"/> <source>You must select one or more items.</source> <translation>Du måste välja ett eller flera objekt.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>No items selected</source> - <translation>Inget objekt valt</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="502"/> - <source>You must select one or more items</source> - <translation type="unfinished">Du måste välja ett eller flera objekt</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> - <source>No Service Item Selected</source> - <translation>Ingen planering är vald</translation> - </message> - <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="510"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="484"/> <source>You must select an existing service item to add to.</source> <translation>Du måste välja en befintligt planeringsobjekt att lägga till till.</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>Invalid Service Item</source> <translation>Felaktigt planeringsobjekt</translation> </message> <message> - <location filename="openlp/core/lib/mediamanageritem.py" line="521"/> + <location filename="openlp/core/lib/mediamanageritem.py" line="493"/> <source>You must select a %s service item.</source> <translation>Du måste välja ett %s planeringsobjekt.</translation> </message> @@ -2581,25 +2146,15 @@ You can download the latest version from http://openlp.org/.</source> <context> <name>OpenLP.PluginForm</name> <message> - <location filename="openlp/core/ui/plugindialog.py" line="75"/> + <location filename="openlp/core/ui/plugindialog.py" line="77"/> <source>Plugin List</source> <translation type="unfinished">Pluginlista</translation> </message> <message> - <location filename="openlp/core/ui/plugindialog.py" line="77"/> + <location filename="openlp/core/ui/plugindialog.py" line="79"/> <source>Plugin Details</source> <translation type="unfinished">Plugindetaljer</translation> </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="79"/> - <source>Version:</source> - <translation type="unfinished">Version:</translation> - </message> - <message> - <location filename="openlp/core/ui/plugindialog.py" line="81"/> - <source>About:</source> - <translation type="unfinished">Om:</translation> - </message> <message> <location filename="openlp/core/ui/plugindialog.py" line="83"/> <source>Status:</source> @@ -2616,237 +2171,318 @@ You can download the latest version from http://openlp.org/.</source> <translation type="unfinished">Inaktiv</translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="141"/> + <location filename="openlp/core/ui/pluginform.py" line="143"/> <source>%s (Inactive)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="138"/> + <location filename="openlp/core/ui/pluginform.py" line="140"/> <source>%s (Active)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/pluginform.py" line="144"/> + <location filename="openlp/core/ui/pluginform.py" line="146"/> <source>%s (Disabled)</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.PrintServiceDialog</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="44"/> + <source>Fit Page</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="45"/> + <source>Fit Width</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>OpenLP.PrintServiceForm</name> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="63"/> + <source>Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="71"/> + <source>Close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="75"/> + <source>Copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="78"/> + <source>Copy as HTML</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="85"/> + <source>Zoom In</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="93"/> + <source>Zoom Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="101"/> + <source>Zoom Original</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="132"/> + <source>Other Options</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="152"/> + <source>Include slide text if available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="154"/> + <source>Include service item notes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="156"/> + <source>Include play length of media items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printservicedialog.py" line="158"/> + <source>Service Order Sheet</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ServiceItemEditForm</name> <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="65"/> + <location filename="openlp/core/ui/serviceitemeditdialog.py" line="58"/> <source>Reorder Service Item</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/core/ui/serviceitemeditdialog.py" line="67"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> </context> <context> <name>OpenLP.ServiceManager</name> <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>New Service</source> - <translation type="unfinished">Ny planering</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="125"/> - <source>Create a new service</source> - <translation type="unfinished">Skapa en ny mötesplanering</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> - <source>Open Service</source> - <translation type="unfinished">Öppna planering</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="130"/> + <location filename="openlp/core/ui/servicemanager.py" line="101"/> <source>Load an existing service</source> <translation type="unfinished">Ladda en planering</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> - <source>Save Service</source> - <translation type="unfinished">Spara planering</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="135"/> + <location filename="openlp/core/ui/servicemanager.py" line="105"/> <source>Save this service</source> <translation type="unfinished">Spara denna mötesplanering</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="141"/> - <source>Theme:</source> - <translation type="unfinished">Tema:</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="147"/> + <location filename="openlp/core/ui/servicemanager.py" line="115"/> <source>Select a theme for the service</source> <translation type="unfinished">Välj ett tema för planeringen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move to &top</source> <translation type="unfinished">Flytta till &toppen</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="181"/> + <location filename="openlp/core/ui/servicemanager.py" line="149"/> <source>Move item to the top of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move &up</source> <translation type="unfinished">Flytta &upp</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="187"/> + <location filename="openlp/core/ui/servicemanager.py" line="155"/> <source>Move item up one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> <source>Move &down</source> <translation type="unfinished">Flytta &ner</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="193"/> + <location filename="openlp/core/ui/servicemanager.py" line="161"/> <source>Move item down one position in the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move to &bottom</source> <translation type="unfinished">Flytta längst &ner</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="199"/> + <location filename="openlp/core/ui/servicemanager.py" line="167"/> <source>Move item to the end of the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="276"/> + <location filename="openlp/core/ui/servicemanager.py" line="272"/> <source>&Delete From Service</source> <translation type="unfinished">&Ta bort från mötesplanering</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="206"/> + <location filename="openlp/core/ui/servicemanager.py" line="188"/> <source>Delete the selected item from the service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="259"/> + <location filename="openlp/core/ui/servicemanager.py" line="252"/> <source>&Add New Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="262"/> + <location filename="openlp/core/ui/servicemanager.py" line="255"/> <source>&Add to Selected Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="267"/> + <location filename="openlp/core/ui/servicemanager.py" line="260"/> <source>&Edit Item</source> <translation type="unfinished">&Redigera objekt</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="270"/> + <location filename="openlp/core/ui/servicemanager.py" line="263"/> <source>&Reorder Item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="273"/> + <location filename="openlp/core/ui/servicemanager.py" line="266"/> <source>&Notes</source> <translation type="unfinished">&Anteckningar</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="281"/> - <source>&Preview Verse</source> - <translation type="unfinished">&Förhandsgranska Vers</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="284"/> - <source>&Live Verse</source> - <translation type="unfinished">&Live-vers</translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="289"/> + <location filename="openlp/core/ui/servicemanager.py" line="285"/> <source>&Change Item Theme</source> <translation type="unfinished">&Byt objektets tema</translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="487"/> + <location filename="openlp/core/ui/servicemanager.py" line="493"/> <source>File is not a valid service. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="517"/> + <location filename="openlp/core/ui/servicemanager.py" line="525"/> <source>File is not a valid service.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Missing Display Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="995"/> + <location filename="openlp/core/ui/servicemanager.py" line="1016"/> <source>Your item cannot be displayed as there is no handler to display it</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="1029"/> + <location filename="openlp/core/ui/servicemanager.py" line="1050"/> <source>Your item cannot be displayed as the plugin required to display it is missing or inactive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>&Expand all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="213"/> + <location filename="openlp/core/ui/servicemanager.py" line="195"/> <source>Expand all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>&Collapse all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="219"/> + <location filename="openlp/core/ui/servicemanager.py" line="201"/> <source>Collapse all the service items.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="364"/> - <source>The current service has been modified, would you like to save it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/servicemanager.py" line="374"/> + <location filename="openlp/core/ui/servicemanager.py" line="378"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/servicemanager.py" line="460"/> + <location filename="openlp/core/ui/servicemanager.py" line="466"/> <source>OpenLP Service Files (*.osz)</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="173"/> + <source>Moves the selection down the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Move up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="180"/> + <source>Moves the selection up the window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Go Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="208"/> + <source>Send the selected item to Live.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>Modified Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/printserviceform.py" line="132"/> + <source>Notes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="269"/> + <source>&Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="277"/> + <source>Show &Preview</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="280"/> + <source>Show &Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/servicemanager.py" line="390"/> + <source>The current service has been modified. Would you like to save this service?</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ServiceNoteForm</name> <message> - <location filename="openlp/core/ui/servicenotedialog.py" line="47"/> + <location filename="openlp/core/ui/servicenoteform.py" line="55"/> <source>Service Item Notes</source> <translation type="unfinished">Mötesanteckningar</translation> </message> @@ -2854,7 +2490,7 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.SettingsForm</name> <message> - <location filename="openlp/core/ui/settingsdialog.py" line="56"/> + <location filename="openlp/core/ui/settingsdialog.py" line="49"/> <source>Configure OpenLP</source> <translation type="unfinished"></translation> </message> @@ -2877,17 +2513,17 @@ The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="82"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="83"/> <source>Default: %s</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="84"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="85"/> <source>Custom:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/shortcutlistdialog.py" line="86"/> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="87"/> <source>None</source> <translation type="unfinished"></translation> </message> @@ -2901,137 +2537,180 @@ The content encoding is not UTF-8.</source> <source>The shortcut "%s" is already assigned to another action, please use a different shortcut.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/shortcutlistdialog.py" line="79"/> + <source>Alternate</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SlideController</name> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="117"/> - <source>Live</source> - <translation type="unfinished">Live</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="121"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="165"/> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> <source>Move to previous</source> <translation type="unfinished">Flytta till föregående</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="169"/> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> <source>Move to next</source> <translation type="unfinished">Flytta till nästa</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="179"/> + <location filename="openlp/core/ui/slidecontroller.py" line="155"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="222"/> + <location filename="openlp/core/ui/slidecontroller.py" line="199"/> <source>Move to live</source> <translation type="unfinished">Flytta till live</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="204"/> + <location filename="openlp/core/ui/slidecontroller.py" line="180"/> <source>Start continuous loop</source> <translation type="unfinished">Börja oändlig loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="208"/> + <location filename="openlp/core/ui/slidecontroller.py" line="185"/> <source>Stop continuous loop</source> <translation type="unfinished">Stoppa upprepad loop</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="216"/> - <source>s</source> - <translation type="unfinished">s</translation> - </message> - <message> - <location filename="openlp/core/ui/slidecontroller.py" line="218"/> + <location filename="openlp/core/ui/slidecontroller.py" line="195"/> <source>Delay between slides in seconds</source> <translation type="unfinished">Fördröjning mellan bilder, i sekunder</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="243"/> + <location filename="openlp/core/ui/slidecontroller.py" line="222"/> <source>Start playing media</source> <translation type="unfinished">Börja spela media</translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="254"/> + <location filename="openlp/core/ui/slidecontroller.py" line="233"/> <source>Go To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="227"/> + <location filename="openlp/core/ui/slidecontroller.py" line="205"/> <source>Edit and reload song preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="181"/> + <location filename="openlp/core/ui/slidecontroller.py" line="157"/> <source>Blank Screen</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="186"/> + <location filename="openlp/core/ui/slidecontroller.py" line="162"/> <source>Blank to Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/slidecontroller.py" line="195"/> + <location filename="openlp/core/ui/slidecontroller.py" line="171"/> <source>Show Desktop</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="139"/> + <source>Previous Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="144"/> + <source>Next Slide</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="386"/> + <source>Previous Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="390"/> + <source>Next Service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/slidecontroller.py" line="394"/> + <source>Escape Item</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.SpellTextEdit</name> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="78"/> + <location filename="openlp/core/lib/spelltextedit.py" line="84"/> <source>Spelling Suggestions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/lib/spelltextedit.py" line="89"/> + <location filename="openlp/core/lib/spelltextedit.py" line="95"/> <source>Formatting Tags</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>OpenLP.StartTimeForm</name> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="63"/> + <source>Item Start Time</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="65"/> + <source>Hours:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="66"/> + <source>h</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="67"/> + <source>m</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="69"/> + <source>Minutes:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/starttimedialog.py" line="70"/> + <source>Seconds:</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>OpenLP.ThemeForm</name> <message> - <location filename="openlp/core/ui/themeform.py" line="482"/> - <source>All Files</source> - <translation type="unfinished">Alla filer</translation> - </message> - <message> - <location filename="openlp/core/ui/themeform.py" line="484"/> + <location filename="openlp/core/ui/themeform.py" line="488"/> <source>Select Image</source> <translation type="unfinished">Välj bild</translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>Theme Name Missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="571"/> + <location filename="openlp/core/ui/themeform.py" line="570"/> <source>There is no name for this theme. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Theme Name Invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="577"/> + <location filename="openlp/core/ui/themeform.py" line="576"/> <source>Invalid theme name. Please enter one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="216"/> + <location filename="openlp/core/ui/themeform.py" line="213"/> <source>(%d lines per slide)</source> <translation type="unfinished"></translation> </message> @@ -3039,476 +2718,431 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemeManager</name> <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> - <source>New Theme</source> - <translation type="unfinished">Nytt Tema</translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="63"/> + <location filename="openlp/core/ui/thememanager.py" line="66"/> <source>Create a new theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit Theme</source> <translation type="unfinished">Redigera tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="68"/> + <location filename="openlp/core/ui/thememanager.py" line="70"/> <source>Edit a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete Theme</source> <translation type="unfinished">Ta bort tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="73"/> + <location filename="openlp/core/ui/thememanager.py" line="75"/> <source>Delete a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import Theme</source> <translation type="unfinished">Importera tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="79"/> + <location filename="openlp/core/ui/thememanager.py" line="81"/> <source>Import a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export Theme</source> <translation type="unfinished">Exportera tema</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="84"/> + <location filename="openlp/core/ui/thememanager.py" line="86"/> <source>Export a theme.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="105"/> + <location filename="openlp/core/ui/thememanager.py" line="107"/> <source>&Edit Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="114"/> + <location filename="openlp/core/ui/thememanager.py" line="116"/> <source>&Delete Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="118"/> + <location filename="openlp/core/ui/thememanager.py" line="120"/> <source>Set As &Global Default</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="434"/> + <location filename="openlp/core/ui/thememanager.py" line="436"/> <source>%s (default)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="309"/> + <location filename="openlp/core/ui/thememanager.py" line="313"/> <source>You must select a theme to edit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="691"/> + <location filename="openlp/core/ui/thememanager.py" line="700"/> <source>You are unable to delete the default theme.</source> <translation type="unfinished">Du kan inte ta bort standardtemat.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="362"/> + <location filename="openlp/core/ui/thememanager.py" line="364"/> <source>You have not selected a theme.</source> <translation type="unfinished">Du har inte valt ett tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="366"/> + <location filename="openlp/core/ui/thememanager.py" line="368"/> <source>Save Theme - (%s)</source> <translation type="unfinished">Spara tema - (%s)</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Theme Exported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="383"/> + <location filename="openlp/core/ui/thememanager.py" line="385"/> <source>Your theme has been successfully exported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Theme Export Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="389"/> + <location filename="openlp/core/ui/thememanager.py" line="391"/> <source>Your theme could not be exported due to an error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> + <location filename="openlp/core/ui/thememanager.py" line="405"/> <source>Select Theme Import File</source> <translation type="unfinished">Välj tema importfil</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="499"/> + <location filename="openlp/core/ui/thememanager.py" line="501"/> <source>File is not a valid theme. The content encoding is not UTF-8.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="541"/> + <location filename="openlp/core/ui/thememanager.py" line="548"/> <source>File is not a valid theme.</source> <translation type="unfinished">Filen är inte ett giltigt tema.</translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Theme %s is used in the %s plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="108"/> + <location filename="openlp/core/ui/thememanager.py" line="110"/> <source>&Copy Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="111"/> + <location filename="openlp/core/ui/thememanager.py" line="113"/> <source>&Rename Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="121"/> + <location filename="openlp/core/ui/thememanager.py" line="123"/> <source>&Export Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>You must select a theme to rename.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="258"/> + <location filename="openlp/core/ui/thememanager.py" line="260"/> <source>Rename %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>You must select a theme to delete.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete Confirmation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="325"/> + <location filename="openlp/core/ui/thememanager.py" line="328"/> <source>Delete %s theme?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="403"/> - <source>Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/thememanager.py" line="699"/> + <location filename="openlp/core/ui/thememanager.py" line="708"/> <source>Validation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/thememanager.py" line="561"/> + <location filename="openlp/core/ui/thememanager.py" line="564"/> <source>A theme with this name already exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/core/ui/thememanager.py" line="405"/> + <source>OpenLP Themes (*.theme *.otz)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>OpenLP.ThemeWizard</name> <message> - <location filename="openlp/core/ui/themewizard.py" line="429"/> + <location filename="openlp/core/ui/themewizard.py" line="406"/> <source>Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="431"/> + <location filename="openlp/core/ui/themewizard.py" line="408"/> <source>Welcome to the Theme Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="438"/> + <location filename="openlp/core/ui/themewizard.py" line="415"/> <source>Set Up Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="440"/> + <location filename="openlp/core/ui/themewizard.py" line="417"/> <source>Set up your theme's background according to the parameters below.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="443"/> + <location filename="openlp/core/ui/themewizard.py" line="420"/> <source>Background type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="445"/> + <location filename="openlp/core/ui/themewizard.py" line="422"/> <source>Solid Color</source> <translation type="unfinished">Solid färg</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="447"/> + <location filename="openlp/core/ui/themewizard.py" line="424"/> <source>Gradient</source> <translation type="unfinished">Stegvis</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="449"/> - <source>Image</source> - <translation type="unfinished">Bild</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="499"/> + <location filename="openlp/core/ui/themewizard.py" line="474"/> <source>Color:</source> <translation type="unfinished">Färg:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="456"/> + <location filename="openlp/core/ui/themewizard.py" line="433"/> <source>Gradient:</source> <translation type="unfinished">Stegvis:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="458"/> + <location filename="openlp/core/ui/themewizard.py" line="435"/> <source>Horizontal</source> <translation type="unfinished">Horisontal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="460"/> + <location filename="openlp/core/ui/themewizard.py" line="437"/> <source>Vertical</source> <translation type="unfinished">Vertikal</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="462"/> + <location filename="openlp/core/ui/themewizard.py" line="439"/> <source>Circular</source> <translation type="unfinished">Cirkulär</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="464"/> + <location filename="openlp/core/ui/themewizard.py" line="441"/> <source>Top Left - Bottom Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="466"/> + <location filename="openlp/core/ui/themewizard.py" line="443"/> <source>Bottom Left - Top Right</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="468"/> - <source>Image:</source> - <translation type="unfinished">Bild:</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="469"/> + <location filename="openlp/core/ui/themewizard.py" line="446"/> <source>Main Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="471"/> + <location filename="openlp/core/ui/themewizard.py" line="448"/> <source>Define the font and display characteristics for the Display text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="498"/> + <location filename="openlp/core/ui/themewizard.py" line="473"/> <source>Font:</source> <translation type="unfinished">Typsnitt:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="500"/> + <location filename="openlp/core/ui/themewizard.py" line="475"/> <source>Size:</source> <translation type="unfinished">Storlek:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="501"/> - <source>pt</source> - <translation type="unfinished">pt</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="479"/> + <location filename="openlp/core/ui/themewizard.py" line="455"/> <source>Line Spacing:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="482"/> + <location filename="openlp/core/ui/themewizard.py" line="458"/> <source>&Outline:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="486"/> + <location filename="openlp/core/ui/themewizard.py" line="462"/> <source>&Shadow:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="489"/> + <location filename="openlp/core/ui/themewizard.py" line="465"/> <source>Bold</source> <translation type="unfinished">Fetstil</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="491"/> + <location filename="openlp/core/ui/themewizard.py" line="466"/> <source>Italic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="493"/> + <location filename="openlp/core/ui/themewizard.py" line="468"/> <source>Footer Area Font Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="495"/> + <location filename="openlp/core/ui/themewizard.py" line="470"/> <source>Define the font and display characteristics for the Footer text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="502"/> + <location filename="openlp/core/ui/themewizard.py" line="477"/> <source>Text Formatting Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="504"/> + <location filename="openlp/core/ui/themewizard.py" line="479"/> <source>Allows additional display formatting information to be defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="507"/> + <location filename="openlp/core/ui/themewizard.py" line="482"/> <source>Horizontal Align:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="509"/> + <location filename="openlp/core/ui/themewizard.py" line="484"/> <source>Left</source> <translation type="unfinished">Vänster</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="511"/> + <location filename="openlp/core/ui/themewizard.py" line="486"/> <source>Right</source> <translation type="unfinished">Höger</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="513"/> + <location filename="openlp/core/ui/themewizard.py" line="488"/> <source>Center</source> <translation type="unfinished">Centrera</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="515"/> - <source>Vertical Align:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="517"/> - <source>Top</source> - <translation type="unfinished">Toppen</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="519"/> - <source>Middle</source> - <translation type="unfinished">Mitten</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="521"/> - <source>Bottom</source> - <translation type="unfinished">Botten</translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="525"/> + <location filename="openlp/core/ui/themewizard.py" line="492"/> <source>Output Area Locations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="527"/> + <location filename="openlp/core/ui/themewizard.py" line="494"/> <source>Allows you to change and move the main and footer areas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="530"/> + <location filename="openlp/core/ui/themewizard.py" line="497"/> <source>&Main Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="532"/> + <location filename="openlp/core/ui/themewizard.py" line="499"/> <source>&Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="545"/> + <location filename="openlp/core/ui/themewizard.py" line="512"/> <source>X position:</source> <translation type="unfinished">X-position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="557"/> + <location filename="openlp/core/ui/themewizard.py" line="524"/> <source>px</source> <translation type="unfinished">px</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="548"/> + <location filename="openlp/core/ui/themewizard.py" line="515"/> <source>Y position:</source> <translation type="unfinished">Y-position:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="551"/> + <location filename="openlp/core/ui/themewizard.py" line="518"/> <source>Width:</source> <translation type="unfinished">Bredd:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="555"/> + <location filename="openlp/core/ui/themewizard.py" line="522"/> <source>Height:</source> <translation type="unfinished">Höjd:</translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="559"/> + <location filename="openlp/core/ui/themewizard.py" line="526"/> <source>Use default location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="561"/> + <location filename="openlp/core/ui/themewizard.py" line="528"/> <source>Save and Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="563"/> + <location filename="openlp/core/ui/themewizard.py" line="530"/> <source>View the theme and save it replacing the current one or change the name to create a new theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="567"/> + <location filename="openlp/core/ui/themewizard.py" line="534"/> <source>Theme name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="301"/> - <source>New Theme</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/core/ui/themewizard.py" line="434"/> + <location filename="openlp/core/ui/themewizard.py" line="411"/> <source>This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="523"/> + <location filename="openlp/core/ui/themewizard.py" line="490"/> <source>Transitions:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themewizard.py" line="543"/> + <location filename="openlp/core/ui/themewizard.py" line="510"/> <source>&Footer Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themeform.py" line="297"/> + <location filename="openlp/core/ui/themeform.py" line="300"/> <source>Edit Theme - %s</source> <translation type="unfinished"></translation> </message> @@ -3516,47 +3150,42 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.ThemesTab</name> <message> - <location filename="openlp/core/ui/themestab.py" line="101"/> - <source>Themes</source> - <translation type="unfinished">Teman</translation> - </message> - <message> - <location filename="openlp/core/ui/themestab.py" line="102"/> + <location filename="openlp/core/ui/themestab.py" line="104"/> <source>Global Theme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="104"/> + <location filename="openlp/core/ui/themestab.py" line="106"/> <source>Theme Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="106"/> + <location filename="openlp/core/ui/themestab.py" line="108"/> <source>S&ong Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="108"/> + <location filename="openlp/core/ui/themestab.py" line="110"/> <source>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.</source> <translation type="unfinished">Använd temat för varje sång i databasen indviduellt. Om en sång inte har ett associerat tema, använd planeringens schema. Om planeringen inte har ett tema, använd globala temat.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="113"/> + <location filename="openlp/core/ui/themestab.py" line="115"/> <source>&Service Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="115"/> + <location filename="openlp/core/ui/themestab.py" line="117"/> <source>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.</source> - <translation type="unfinished">Använd temat för mötesplaneringen, och ignorera sångernas indviduella teman. Om mötesplaneringen inte har ett tema använd då det globala temat.</translation> + <translation>Använd temat för mötesplaneringen, och ignorera sångernas individuella teman. Om mötesplaneringen inte har ett tema använd då det globala temat.</translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="119"/> + <location filename="openlp/core/ui/themestab.py" line="121"/> <source>&Global Level</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/core/ui/themestab.py" line="121"/> + <location filename="openlp/core/ui/themestab.py" line="123"/> <source>Use the global theme, overriding any themes associated with either the service or the songs.</source> <translation type="unfinished">Använd det globala temat, ignorerar teman associerade med mötesplaneringen eller sångerna.</translation> </message> @@ -3564,82 +3193,471 @@ The content encoding is not UTF-8.</source> <context> <name>OpenLP.Ui</name> <message> - <location filename="openlp/core/ui/__init__.py" line="73"/> + <location filename="openlp/core/lib/ui.py" line="55"/> <source>Error</source> <translation type="unfinished">Fel</translation> </message> + <message> + <location filename="openlp/core/lib/ui.py" line="52"/> + <source>&Delete</source> + <translation type="unfinished">&Ta bort</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="204"/> + <source>Delete the selected item.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="223"/> + <source>Move selection up one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="228"/> + <source>Move selection down one position.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="44"/> + <source>&Add</source> + <translation type="unfinished">&Lägg till</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="45"/> + <source>Advanced</source> + <translation type="unfinished">Avancerat</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="46"/> + <source>All Files</source> + <translation type="unfinished">Alla filer</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="51"/> + <source>Create a new service.</source> + <translation type="unfinished">Skapa en ny planering.</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="53"/> + <source>&Edit</source> + <translation type="unfinished">&Redigera</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="60"/> + <source>Import</source> + <translation type="unfinished">Importera</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="61"/> + <source>Length %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="62"/> + <source>Live</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="65"/> + <source>Load</source> + <translation type="unfinished">Ladda</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="67"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="68"/> + <source>New Service</source> + <translation type="unfinished">Ny planering</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="75"/> + <source>OpenLP 2.0</source> + <translation type="unfinished">OpenLP 2.0</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="76"/> + <source>Open Service</source> + <translation type="unfinished">Öppna planering</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="77"/> + <source>Preview</source> + <translation type="unfinished">Förhandsgranska</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="80"/> + <source>Replace Background</source> + <translation type="unfinished">Ersätt bakgrund</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="81"/> + <source>Replace Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="82"/> + <source>Reset Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="83"/> + <source>Reset Live Background</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="89"/> + <source>Save Service</source> + <translation type="unfinished">Spara planering</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="90"/> + <source>Service</source> + <translation type="unfinished">Gudstjänst</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="91"/> + <source>Start %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="305"/> + <source>&Vertical Align:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="94"/> + <source>Top</source> + <translation type="unfinished">Toppen</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="66"/> + <source>Middle</source> + <translation type="unfinished">Mitten</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="47"/> + <source>Bottom</source> + <translation type="unfinished">Botten</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="43"/> + <source>About</source> + <translation type="unfinished">Om</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="48"/> + <source>Browse...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="49"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="50"/> + <source>CCLI number:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="54"/> + <source>Empty Field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="56"/> + <source>Export</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="57"/> + <source>pt</source> + <comment>Abbreviated font pointsize unit</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="59"/> + <source>Image</source> + <translation type="unfinished">Bild</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="63"/> + <source>Live Background Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="64"/> + <source>Live Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="69"/> + <source>New Theme</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="70"/> + <source>No File Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="71"/> + <source>No Files Selected</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="72"/> + <source>No Item Selected</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="73"/> + <source>No Items Selected</source> + <comment>Plural</comment> + <translation type="unfinished">Inget objekt valt</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="74"/> + <source>openlp.org 1.x</source> + <translation type="unfinished">openlp.org 1.x</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="78"/> + <source>Preview Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="79"/> + <source>Print Service Order</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="84"/> + <source>s</source> + <comment>The abbreviated unit for seconds</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="85"/> + <source>Save && Preview</source> + <translation type="unfinished">Spara && förhandsgranska</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="86"/> + <source>Search</source> + <translation type="unfinished">Sök</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="87"/> + <source>You must select an item to delete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="88"/> + <source>You must select an item to edit.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="92"/> + <source>Theme</source> + <comment>Singular</comment> + <translation type="unfinished">Tema</translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="93"/> + <source>Themes</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/lib/ui.py" line="95"/> + <source>Version</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="59"/> + <source>Finished import.</source> + <translation type="unfinished">Importen är färdig.</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="60"/> + <source>Format:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="62"/> + <source>Importing</source> + <translation type="unfinished">Importerar</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="63"/> + <source>Importing "%s"...</source> + <translation type="unfinished">Importerar "%s"...</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="64"/> + <source>Select Import Source</source> + <translation type="unfinished">Välj importkälla</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="65"/> + <source>Select the import format and the location to import from.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="67"/> + <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="71"/> + <source>Open %s File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="72"/> + <source>%p%</source> + <translation type="unfinished">%p%</translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="73"/> + <source>Ready.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="74"/> + <source>Starting import...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/core/ui/wizard.py" line="75"/> + <source>You need to specify at least one %s file to import from.</source> + <comment>A file type e.g. OpenSong</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/bibles/forms/bibleimportform.py" line="355"/> + <source>Welcome to the Bible Import Wizard</source> + <translation type="unfinished">Välkommen till guiden för bibelimport</translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="167"/> + <source>Welcome to the Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> + <source>Welcome to the Song Import Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="37"/> + <source>Author</source> + <comment>Singular</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="38"/> + <source>Authors</source> + <comment>Plural</comment> + <translation type="unfinished">Författare</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="40"/> + <source>©</source> + <comment>Copyright symbol.</comment> + <translation type="unfinished">©</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="41"/> + <source>Song Book</source> + <comment>Singular</comment> + <translation type="unfinished">Sångbok</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="42"/> + <source>Song Books</source> + <comment>Plural</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="43"/> + <source>Song Maintenance</source> + <translation type="unfinished">Sångunderhåll</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="44"/> + <source>Topic</source> + <comment>Singular</comment> + <translation type="unfinished">Ämne</translation> + </message> + <message> + <location filename="openlp/plugins/songs/lib/ui.py" line="45"/> + <source>Topics</source> + <comment>Plural</comment> + <translation type="unfinished">Ämnen</translation> + </message> +</context> +<context> + <name>OpenLP.displayTagDialog</name> + <message> + <location filename="openlp/core/ui/displaytagdialog.py" line="126"/> + <source>Configure Display Tags</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin</name> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="142"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="146"/> <source><strong>Presentation Plugin</strong><br />The presentation plugin provides 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.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="168"/> - <source>Load</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="169"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="171"/> <source>Load a new Presentation</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="174"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> <message> <location filename="openlp/plugins/presentations/presentationplugin.py" line="175"/> <source>Delete the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="180"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="177"/> <source>Preview the selected Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="186"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="187"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="179"/> <source>Send the selected Presentation live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="192"/> - <source>Service</source> - <translation type="unfinished">Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="193"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="181"/> <source>Add the selected Presentation to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="155"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="159"/> <source>Presentation</source> <comment>name singular</comment> <translation type="unfinished">Presentation</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="157"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="161"/> <source>Presentations</source> <comment>name plural</comment> <translation type="unfinished">Presentationer</translation> </message> <message> - <location filename="openlp/plugins/presentations/presentationplugin.py" line="162"/> + <location filename="openlp/plugins/presentations/presentationplugin.py" line="166"/> <source>Presentations</source> <comment>container title</comment> <translation type="unfinished">Presentationer</translation> @@ -3648,105 +3666,100 @@ The content encoding is not UTF-8.</source> <context> <name>PresentationPlugin.MediaItem</name> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="63"/> <source>Select Presentation(s)</source> <translation type="unfinished">Välj presentation(er)</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="78"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="65"/> <source>Automatic</source> <translation type="unfinished">Automatisk</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="80"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="67"/> <source>Present using:</source> <translation type="unfinished">Presentera genom:</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>File Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="184"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="167"/> <source>A presentation with that filename already exists.</source> <translation type="unfinished">En presentation med det namnet finns redan.</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>Unsupported File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="208"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="191"/> <source>This type of presentation is not supported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="223"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="96"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="83"/> <source>Presentations (%s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>Missing Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="279"/> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="271"/> <source>The Presentation %s no longer exists.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="262"/> + <source>The Presentation %s is incomplete, please reload.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PresentationPlugin.PresentationTab</name> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="76"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="77"/> <source>Available Controllers</source> <translation type="unfinished">Tillgängliga Presentationsprogram</translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="88"/> - <source>Advanced</source> - <translation type="unfinished">Avancerat</translation> - </message> - <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="91"/> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="90"/> <source>Allow presentation application to be overriden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="85"/> - <source>%s (unvailable)</source> + <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="86"/> + <source>%s (unavailable)</source> <translation type="unfinished"></translation> </message> </context> <context> <name>RemotePlugin</name> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="75"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="69"/> <source><strong>Remote Plugin</strong><br />The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="87"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="81"/> <source>Remote</source> <comment>name singular</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="88"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="82"/> <source>Remotes</source> <comment>name plural</comment> <translation type="unfinished">Fjärrstyrningar</translation> </message> <message> - <location filename="openlp/plugins/remotes/remoteplugin.py" line="92"/> + <location filename="openlp/plugins/remotes/remoteplugin.py" line="86"/> <source>Remote</source> <comment>container title</comment> <translation type="unfinished"></translation> @@ -3834,7 +3847,7 @@ The content encoding is not UTF-8.</source> <context> <name>SongUsagePlugin.SongUsageDeleteForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="62"/> + <location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="56"/> <source>Delete Song Usage Data</source> <translation type="unfinished"></translation> </message> @@ -3848,263 +3861,255 @@ The content encoding is not UTF-8.</source> <source>Are you sure you want to delete selected Song Usage data?</source> <translation type="unfinished">Vill du verkligen ta bort vald sånganvändningsdata?</translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>Deletion Successful</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="58"/> + <source>All requested data has been deleted successfully. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongUsagePlugin.SongUsageDetailForm</name> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="85"/> <source>Song Usage Extraction</source> <translation type="unfinished">Sånganvändningsutdrag</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="88"/> <source>Select Date Range</source> <translation type="unfinished">Välj datumspann</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="95"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="91"/> <source>to</source> <translation type="unfinished">till</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="97"/> + <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="93"/> <source>Report Location</source> <translation type="unfinished">Rapportera placering</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="65"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> <source>Output File Location</source> <translation type="unfinished">Utfil sökväg</translation> </message> <message> - <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="76"/> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="92"/> <source>usage_detail_%s_%s.txt</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report Creation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="114"/> + <source>Report +%s +has been successfully created. </source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin</name> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="91"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="104"/> <source>&Song</source> <translation>&Sång</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="93"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="85"/> <source>Import songs using the import wizard.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="172"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="183"/> <source><strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="125"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="126"/> <source>&Re-index Songs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="127"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="128"/> <source>Re-index the songs database to improve searching and ordering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="141"/> <source>Reindexing songs...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="140"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="226"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> <source>Add a new Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> - <source>Edit</source> - <translation type="unfinished">Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="233"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> <source>Edit the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="238"/> - <source>Delete</source> - <translation type="unfinished">Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="239"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="240"/> <source>Delete the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="244"/> - <source>Preview</source> - <translation type="unfinished">Förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="245"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="241"/> <source>Preview the selected Song</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="250"/> - <source>Live</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="251"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="242"/> <source>Send the selected Song live</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="256"/> - <source>Service</source> - <translation type="unfinished">Gudstjänst</translation> - </message> - <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="257"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="243"/> <source>Add the selected Song to the service</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="216"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="227"/> <source>Song</source> <comment>name singular</comment> <translation type="unfinished">Sång</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="217"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="228"/> <source>Songs</source> <comment>name plural</comment> <translation type="unfinished">Sånger</translation> </message> <message> - <location filename="openlp/plugins/songs/songsplugin.py" line="221"/> + <location filename="openlp/plugins/songs/songsplugin.py" line="232"/> <source>Songs</source> <comment>container title</comment> <translation type="unfinished">Sånger</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="119"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="210"/> <source>Arabic (CP-1256)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="120"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="211"/> <source>Baltic (CP-1257)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="121"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="212"/> <source>Central European (CP-1250)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="122"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="213"/> <source>Cyrillic (CP-1251)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="123"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="214"/> <source>Greek (CP-1253)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="124"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="215"/> <source>Hebrew (CP-1255)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="125"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="216"/> <source>Japanese (CP-932)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="126"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="217"/> <source>Korean (CP-949)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="127"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="218"/> <source>Simplified Chinese (CP-936)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="128"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="219"/> <source>Thai (CP-874)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="129"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="220"/> <source>Traditional Chinese (CP-950)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="130"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="221"/> <source>Turkish (CP-1254)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="131"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="222"/> <source>Vietnam (CP-1258)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="132"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="223"/> <source>Western European (CP-1252)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Character Encoding</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="140"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="231"/> <source>The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="147"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="238"/> <source>Please choose the character encoding. The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="openlp/plugins/songs/songsplugin.py" line="106"/> + <source>Exports songs using the export wizard.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>SongsPlugin.AuthorsForm</name> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="66"/> <source>Author Maintenance</source> <translation type="unfinished">Författare underhåll</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="74"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="68"/> <source>Display name:</source> <translation type="unfinished">Visningsnamn:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="70"/> <source>First name:</source> <translation type="unfinished">Förnamn:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/authorsdialog.py" line="72"/> <source>Last name:</source> <translation type="unfinished">Efternamn:</translation> </message> @@ -4114,12 +4119,12 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished">Du måste ange låtskrivarens förnamn.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="88"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="89"/> <source>You need to type in the last name of the author.</source> <translation type="unfinished">Du måste ange författarens efternamn.</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/authorsform.py" line="93"/> + <location filename="openlp/plugins/songs/forms/authorsform.py" line="95"/> <source>You have not set a display name for the author, combine the first and last names?</source> <translation type="unfinished"></translation> </message> @@ -4127,7 +4132,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.CCLIFileImport</name> <message> - <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="70"/> + <location filename="openlp/plugins/songs/lib/cclifileimport.py" line="65"/> <source>Importing song %d of %d</source> <translation type="unfinished"></translation> </message> @@ -4135,242 +4140,182 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditSongForm</name> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="280"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="251"/> <source>Song Editor</source> <translation type="unfinished">Sångredigerare</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="253"/> <source>&Title:</source> <translation type="unfinished">&Titel:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="255"/> <source>Alt&ernate title:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="257"/> <source>&Lyrics:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="288"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="259"/> <source>&Verse order:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="290"/> - <source>&Add</source> - <translation type="unfinished">&Lägg till</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="292"/> - <source>&Edit</source> - <translation type="unfinished">&Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="294"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="263"/> <source>Ed&it All</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Red&igera alla</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="296"/> - <source>&Delete</source> - <translation type="unfinished">&Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="298"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="266"/> <source>Title && Lyrics</source> <translation type="unfinished">Titel && Sångtexter</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="301"/> - <source>Authors</source> - <translation type="unfinished">Författare</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="303"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="270"/> <source>&Add to Song</source> <translation type="unfinished">&Lägg till i sång</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="305"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="272"/> <source>&Remove</source> <translation type="unfinished">&Ta bort</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="307"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="274"/> <source>&Manage Authors, Topics, Song Books</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="309"/> - <source>Topic</source> - <translation type="unfinished">Ämne</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="311"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="277"/> <source>A&dd to Song</source> <translation>Lä&gg till i sång</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="313"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="279"/> <source>R&emove</source> <translation type="unfinished">Ta &bort</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="315"/> - <source>Song Book</source> - <translation type="unfinished">Sångbok</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="317"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="282"/> <source>Book:</source> <translation type="unfinished">Bok:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="319"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="284"/> <source>Number:</source> <translation>Nummer:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="321"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="286"/> <source>Authors, Topics && Song Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="325"/> - <source>Theme</source> - <translation type="unfinished">Tema</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="327"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="291"/> <source>New &Theme</source> <translation>Nytt &tema</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="329"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="293"/> <source>Copyright Information</source> <translation>Copyrightinformation</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="333"/> - <source>CCLI number:</source> - <translation>CCLI nummer:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="335"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="297"/> <source>Comments</source> <translation type="unfinished">Kommentarer</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="337"/> + <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="299"/> <source>Theme, Copyright Info && Comments</source> <translation>Tema, copyrightinfo && kommentarer</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="97"/> - <source>Save && Preview</source> - <translation type="unfinished">Spara && förhandsgranska</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>Add Author</source> <translation>Lägg till föfattare</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="323"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/> <source>This author does not exist, do you want to add them?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="350"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="360"/> <source>This author is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> - <source>No Author Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="361"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="367"/> <source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>Add Topic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="382"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="395"/> <source>This topic does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="403"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="416"/> <source>This topic is already in the list.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> - <source>No Topic Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="413"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="426"/> <source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="536"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="567"/> <source>You need to type in a song title.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="543"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="574"/> <source>You need to type in at least one verse.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="578"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="615"/> <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="588"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="625"/> <source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>Add Book</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="600"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="637"/> <source>This song book does not exist, do you want to add it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editsongform.py" line="550"/> + <location filename="openlp/plugins/songs/forms/editsongform.py" line="581"/> <source>You need to have an author for this song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editverseform.py" line="171"/> + <location filename="openlp/plugins/songs/forms/editverseform.py" line="174"/> <source>You need to type some text in to the verse.</source> <translation type="unfinished"></translation> </message> @@ -4378,290 +4323,158 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.EditVerseForm</name> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="76"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="69"/> <source>Edit Verse</source> <translation type="unfinished">Redigera vers</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="78"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="71"/> <source>&Verse type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/> + <location filename="openlp/plugins/songs/forms/editversedialog.py" line="87"/> <source>&Insert</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.ExportWizardForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="165"/> + <source>Song Export Wizard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="169"/> + <source>This wizard will help to export your songs to the open and free OpenLyrics worship song format.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="173"/> + <source>Select Songs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="179"/> + <source>Uncheck All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="181"/> + <source>Check All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="183"/> + <source>Select Directory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="185"/> + <source>Select the directory you want the songs to be saved.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="188"/> + <source>Directory:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="190"/> + <source>Exporting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="192"/> + <source>Please wait while your songs are exported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="210"/> + <source>You need to add at least one Song to export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>No Save Location specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="225"/> + <source>You need to specified a directory to save the songs in.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="268"/> + <source>Starting export...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="357"/> + <source>Selecte to Folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="175"/> + <source>Check the songs you want to export.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.ImportWizardForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>No OpenLP 2.0 Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="342"/> - <source>You need to select an OpenLP 2.0 song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>No openlp.org 1.x Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="352"/> - <source>You need to select an openlp.org 1.x song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>No OpenSong Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="372"/> - <source>You need to add at least one OpenSong song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>No Words of Worship Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="382"/> - <source>You need to add at least one Words of Worship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>No CCLI Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="392"/> - <source>You need to add at least one CCLI file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>No Songs of Fellowship File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="402"/> - <source>You need to add at least one Songs of Fellowship file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>No Document/Presentation Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="412"/> - <source>You need to add at least one document or presentation file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> - <source>Select OpenLP 2.0 Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> - <source>Select openlp.org 1.x Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="572"/> - <source>Select Open Song Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> - <source>Select Words of Worship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="605"/> - <source>Select CCLI Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Select Songs of Fellowship Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="639"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="560"/> <source>Select Document/Presentation Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="717"/> - <source>Starting import...</source> - <translation type="unfinished">Påbörjar import...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="198"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> <source>Song Import Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="200"/> - <source>Welcome to the Song Import Wizard</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="204"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> <source>This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="209"/> - <source>Select Import Source</source> - <translation type="unfinished">Välj importkälla</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="211"/> - <source>Select the import format, and where to import from.</source> - <translation type="unfinished">Välj format för import, och plats att importera från.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="214"/> - <source>Format:</source> - <translation type="unfinished">Format:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="216"/> - <source>OpenLP 2.0</source> - <translation type="unfinished">OpenLP 2.0</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="218"/> - <source>openlp.org 1.x</source> - <translation>openlp.org 1.x</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="220"/> - <source>OpenLyrics</source> - <translation>OpenLyrics</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="222"/> - <source>OpenSong</source> - <translation type="unfinished">OpenSong</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="224"/> - <source>Words of Worship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="226"/> - <source>CCLI/SongSelect</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="228"/> - <source>Songs of Fellowship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="230"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="238"/> <source>Generic Document/Presentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="295"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> <source>Filename:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="297"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="249"/> - <source>The openlp.org 1.x importer has been disabled due to a missing Python module. If you want to use this importer, you will need to install the "python-sqlite" module.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="299"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="310"/> <source>Add Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> <source>Remove File(s)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="279"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="284"/> <source>The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="287"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="292"/> <source>The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="307"/> - <source>Importing</source> - <translation type="unfinished">Importerar</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="309"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="318"/> <source>Please wait while your songs are imported.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="312"/> - <source>Ready.</source> - <translation type="unfinished">Redo.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="314"/> - <source>%p%</source> - <translation>%p%</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/olp1import.py" line="105"/> - <source>Importing "%s"...</source> - <translation>Importerar "%s"...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/opensongimport.py" line="163"/> - <source>Importing %s...</source> - <translation>Importerar %s...</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>No EasyWorship Song Database Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="432"/> - <source>You need to select an EasyWorship song database file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="662"/> - <source>Select EasyWorship Database File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="235"/> - <source>EasyWorship</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="258"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="263"/> <source>The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release.</source> <translation type="unfinished"></translation> </message> @@ -4671,88 +4484,43 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>No SongBeamer File Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="442"/> - <source>You need to add at least one SongBeamer file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="500"/> - <source>All Files</source> - <translation type="unfinished">Alla filer</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="532"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="469"/> <source>OpenLP 2.0 Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="479"/> <source>openlp.org v1.x Databases</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="515"/> <source>Words Of Worship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="621"/> - <source>Songs Of Felloship Song Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="544"/> + <source>Songs Of Fellowship Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>Select SongBeamer Files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="587"/> + <source>SongBeamer Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="237"/> - <source>SongBeamer</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="602"/> + <source>SongShow Plus Song Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="672"/> - <source>SongBeamer files</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="381"/> + <source>You need to specify at least one document or presentation file to import from.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="233"/> - <source>EasiSlides</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>No OpenLyrics Files Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="362"/> - <source>You need to add at least one OpenLyrics song file to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>No Easislides Songs file selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="422"/> - <source>You need to select an xml song file exported from EasiSlides, to import from.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="556"/> - <source>Select OpenLyrics Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="652"/> - <source>Select EasiSlides songfile</source> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="618"/> + <source>Foilpresenter Song Files</source> <translation type="unfinished"></translation> </message> </context> @@ -4760,116 +4528,73 @@ The encoding is responsible for the correct character representation.</source> <name>SongsPlugin.MediaItem</name> <message> <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/> - <source>Song Maintenance</source> - <translation type="unfinished">Sångunderhåll</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/> <source>Maintain the lists of authors, topics and books</source> <translation type="unfinished">Hantera listorna över författare, ämnen och böcker</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="138"/> - <source>Search:</source> - <translation type="unfinished">Sök:</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/> - <source>Search</source> - <translation type="unfinished">Sök</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Titles</source> <translation type="unfinished">Titlar</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Lyrics</source> <translation type="unfinished">Sångtexter</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Authors</source> - <translation>Författare</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="308"/> - <source>You must select an item to edit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="320"/> - <source>You must select an item to delete.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Delete Song(s)?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="396"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="400"/> <source>CCLI License: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/> <source>Entire Song</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="324"/> + <location filename="openlp/plugins/songs/lib/mediaitem.py" line="317"/> <source>Are you sure you want to delete the %n selected song(s)?</source> <translation type="unfinished"> <numerusform></numerusform> <numerusform></numerusform> </translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/> - <source>Themes</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.OpenLPSongImport</name> <message> - <location filename="openlp/plugins/songs/lib/olpimport.py" line="152"/> + <location filename="openlp/plugins/songs/lib/olpimport.py" line="157"/> <source>Importing song %d of %d.</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>SongsPlugin.OpenLyricsImport</name> + <name>SongsPlugin.OpenLyricsExport</name> <message> - <location filename="openlp/plugins/songs/lib/openlyricsimport.py" line="67"/> - <source>Importing %s...</source> - <translation type="unfinished">Importerar %s...</translation> - </message> -</context> -<context> - <name>SongsPlugin.SongBeamerImport</name> - <message> - <location filename="openlp/plugins/songs/lib/songbeamerimport.py" line="137"/> - <source>Importing %s...</source> - <translation type="unfinished">Importerar %s...</translation> + <location filename="openlp/plugins/songs/lib/openlyricsexport.py" line="67"/> + <source>Exporting "%s"...</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>SongsPlugin.SongBookForm</name> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="66"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="60"/> <source>Song Book Maintenance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="68"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="62"/> <source>&Name:</source> <translation>&Namn:</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/> + <location filename="openlp/plugins/songs/forms/songbookdialog.py" line="63"/> <source>&Publisher:</source> <translation type="unfinished"></translation> </message> @@ -4879,33 +4604,31 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished"></translation> </message> </context> +<context> + <name>SongsPlugin.SongExportForm</name> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="284"/> + <source>Finished export.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/songs/forms/songexportform.py" line="287"/> + <source>Your song export failed.</source> + <translation type="unfinished"></translation> + </message> +</context> <context> <name>SongsPlugin.SongImport</name> <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="80"/> + <location filename="openlp/plugins/songs/lib/songimport.py" line="93"/> <source>copyright</source> <translation>copyright</translation> </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="82"/> - <source>©</source> - <translation>©</translation> - </message> - <message> - <location filename="openlp/plugins/songs/lib/songimport.py" line="256"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>SongsPlugin.SongImportForm</name> <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="788"/> - <source>Finished import.</source> - <translation type="unfinished">Importen är färdig.</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songimportform.py" line="791"/> + <location filename="openlp/plugins/songs/forms/songimportform.py" line="739"/> <source>Your song import failed.</source> <translation type="unfinished"></translation> </message> @@ -4913,157 +4636,107 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.SongMaintenanceForm</name> <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="146"/> - <source>Song Maintenance</source> - <translation type="unfinished">Sångunderhåll</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="148"/> - <source>Authors</source> - <translation>Författare</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="149"/> - <source>Topics</source> - <translation type="unfinished">Ämnen</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="150"/> - <source>Song Books</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="166"/> - <source>&Add</source> - <translation>&Lägg till</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="168"/> - <source>&Edit</source> - <translation type="unfinished">&Redigera</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="170"/> - <source>&Delete</source> - <translation>&Ta bort</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="235"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="217"/> <source>Could not add your author.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="221"/> <source>This author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="250"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="232"/> <source>Could not add your topic.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="254"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="236"/> <source>This topic already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="266"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="248"/> <source>Could not add your book.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="270"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="252"/> <source>This book already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="372"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="353"/> <source>Could not save your changes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="348"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="328"/> <source>Could not save your modified topic, because it already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Delete Author</source> <translation>Ta bort författare</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>Are you sure you want to delete the selected author?</source> <translation>Är du säker på att du vill ta bort den valda författare?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="447"/> <source>This author cannot be deleted, they are currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="451"/> - <source>No author selected!</source> - <translation type="unfinished">Ingen författare vald!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Delete Topic</source> <translation type="unfinished">Ta bort ämne</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>Are you sure you want to delete the selected topic?</source> <translation type="unfinished">Är du säker på att du vill ta bort valt ämne?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="458"/> <source>This topic cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="464"/> - <source>No topic selected!</source> - <translation type="unfinished">Inget ämne valt!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Delete Book</source> <translation type="unfinished">Ta bort bok</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>Are you sure you want to delete the selected book?</source> <translation type="unfinished">Är du säker på att du vill ta bort vald bok?</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="469"/> <source>This book cannot be deleted, it is currently assigned to at least one song.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="477"/> - <source>No book selected!</source> - <translation type="unfinished">Ingen bok vald!</translation> - </message> - <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="316"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="296"/> <source>Could not save your modified author, because the author already exists.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="301"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="282"/> <source>The author %s already exists. Would you like to make songs with author %s use the existing author %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="337"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="318"/> <source>The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="375"/> + <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="356"/> <source>The book %s already exists. Would you like to make songs with book %s use the existing book %s?</source> <translation type="unfinished"></translation> </message> @@ -5099,12 +4772,12 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.TopicsForm</name> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="60"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="54"/> <source>Topic Maintenance</source> <translation type="unfinished">Ämnesunderhåll</translation> </message> <message> - <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="62"/> + <location filename="openlp/plugins/songs/forms/topicsdialog.py" line="56"/> <source>Topic name:</source> <translation type="unfinished">Ämnesnamn:</translation> </message> @@ -5117,7 +4790,7 @@ The encoding is responsible for the correct character representation.</source> <context> <name>SongsPlugin.VerseType</name> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="55"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="57"/> <source>Verse</source> <translation type="unfinished">Vers</translation> </message> @@ -5127,37 +4800,29 @@ The encoding is responsible for the correct character representation.</source> <translation type="unfinished">Refräng</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="59"/> <source>Bridge</source> <translation type="unfinished">Brygga</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="64"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="60"/> <source>Pre-Chorus</source> <translation type="unfinished">Brygga</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="67"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="61"/> <source>Intro</source> <translation type="unfinished">Intro</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="70"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="62"/> <source>Ending</source> <translation type="unfinished">Ending</translation> </message> <message> - <location filename="openlp/plugins/songs/lib/__init__.py" line="73"/> + <location filename="openlp/plugins/songs/lib/__init__.py" line="63"/> <source>Other</source> <translation type="unfinished">Övrigt</translation> </message> </context> -<context> - <name>SongsPlugin.XML</name> - <message> - <location filename="openlp/plugins/songs/lib/xml.py" line="352"/> - <source>Author unknown</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> From 4e60a598869c2c94f962354cc559c81b095b0f96 Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Tue, 1 Mar 2011 20:26:54 +0200 Subject: [PATCH 78/90] Fixed up some translations. --- openlp/plugins/alerts/forms/alertform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 75475d524..41bca2b54 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -163,7 +163,7 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): # We found '<>' in the alert text, but the ParameterEdit field is empty. if text.find(u'<>') != -1 and not self.parameterEdit.text() and \ QtGui.QMessageBox.question(self, - translate('AlertPlugin.AlertForm', 'No Parameter found'), + translate('AlertPlugin.AlertForm', 'No Parameter Found'), translate('AlertPlugin.AlertForm', 'You have not entered a ' 'parameter to be replaced.\nDo you want to continue anyway?'), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | @@ -174,7 +174,7 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): # in the alert text. elif text.find(u'<>') == -1 and self.parameterEdit.text() and \ QtGui.QMessageBox.question(self, - translate('AlertPlugin.AlertForm', 'No Placeholder found'), + translate('AlertPlugin.AlertForm', 'No Placeholder Found'), translate('AlertPlugin.AlertForm', 'The alert text does not' ' contain \'<>\'.\nDo want to continue anyway?'), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | From a50181c5b4d4a47d45fdcb915d6a4f5c9bfdef35 Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Tue, 1 Mar 2011 20:39:12 +0200 Subject: [PATCH 79/90] Updated translations. --- resources/i18n/af.ts | 20 ++++++++++---------- resources/i18n/de.ts | 20 ++++++++++---------- resources/i18n/en.ts | 16 ++++++++-------- resources/i18n/en_GB.ts | 16 ++++++++-------- resources/i18n/en_ZA.ts | 16 ++++++++-------- resources/i18n/es.ts | 20 ++++++++++---------- resources/i18n/et.ts | 20 ++++++++++---------- resources/i18n/fr.ts | 20 ++++++++++---------- resources/i18n/hu.ts | 20 ++++++++++---------- resources/i18n/id.ts | 20 ++++++++++---------- resources/i18n/ja.ts | 20 ++++++++++---------- resources/i18n/ko.ts | 16 ++++++++-------- resources/i18n/nb.ts | 16 ++++++++-------- resources/i18n/nl.ts | 20 ++++++++++---------- resources/i18n/pt_BR.ts | 20 ++++++++++---------- resources/i18n/ru.ts | 22 +++++++++++----------- resources/i18n/sv.ts | 20 ++++++++++---------- 17 files changed, 161 insertions(+), 161 deletions(-) diff --git a/resources/i18n/af.ts b/resources/i18n/af.ts index 73d77fbd5..1e72b6c1f 100644 --- a/resources/i18n/af.ts +++ b/resources/i18n/af.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="af"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Geen Parameter gevind nie</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Daar is nie 'n parameter gegee om te vervang nie. Gaan steeds voort?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Geen Plekhouer gevind nie</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Die attent teks bevat nie '<>' nie. Gaan steeds voort?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/de.ts b/resources/i18n/de.ts index 727cc13e2..ff91b3c5b 100644 --- a/resources/i18n/de.ts +++ b/resources/i18n/de.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="de"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Kein Parameter gefunden</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Sie haben keinen Parameter angegeben, der ersetzt werden könnte. Möchten Sie trotzdem fortfahren?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Kein Platzhalter gefunden</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Der Hinweistext enthält kein '<>'. Möchten Sie trotzdem fortfahren?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/en.ts b/resources/i18n/en.ts index 0f6bd17eb..22420089a 100644 --- a/resources/i18n/en.ts +++ b/resources/i18n/en.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> diff --git a/resources/i18n/en_GB.ts b/resources/i18n/en_GB.ts index 167e03f96..23c05c546 100644 --- a/resources/i18n/en_GB.ts +++ b/resources/i18n/en_GB.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="en_GB"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> diff --git a/resources/i18n/en_ZA.ts b/resources/i18n/en_ZA.ts index b1b61fb76..686c15aa5 100644 --- a/resources/i18n/en_ZA.ts +++ b/resources/i18n/en_ZA.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="en_ZA"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>No Parameter found</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> diff --git a/resources/i18n/es.ts b/resources/i18n/es.ts index e20667815..309caee7d 100644 --- a/resources/i18n/es.ts +++ b/resources/i18n/es.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="es"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Parámetro no hallado</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>No ha ingresado un parámetro para reemplazarlo. ¿Desea continuar de todas maneras?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>El texto de alerta no contiene '<>'. ¿Desea continuar de todas maneras?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/et.ts b/resources/i18n/et.ts index a048ae372..2e28963da 100644 --- a/resources/i18n/et.ts +++ b/resources/i18n/et.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Ühtegi parameetrit ei leitud</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Sa ei ole sisestanud parameetrit, mida asendada. Kas tahad sellegipoolest jätkata?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Ühtegi kohahoidjat ei leitud</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Teate tekst ei sisalda '<>' märke. Kas tahad sellegipoolest jätkata?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/fr.ts b/resources/i18n/fr.ts index ebf6d63ce..dc809b571 100644 --- a/resources/i18n/fr.ts +++ b/resources/i18n/fr.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="fr"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Pas de paramètre trouvé</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> @@ -955,13 +955,13 @@ Voulez-vous ajouter de toute façon d'autres images ?</translation> <location filename="openlp/plugins/media/mediaplugin.py" line="81"/> <source>Media</source> <comment>name plural</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Médias</translation> </message> <message> <location filename="openlp/plugins/media/mediaplugin.py" line="85"/> <source>Media</source> <comment>container title</comment> - <translation type="unfinished"></translation> + <translation type="unfinished">Médias</translation> </message> <message> <location filename="openlp/plugins/media/mediaplugin.py" line="89"/> diff --git a/resources/i18n/hu.ts b/resources/i18n/hu.ts index ef22eb1c7..42cf9638e 100644 --- a/resources/i18n/hu.ts +++ b/resources/i18n/hu.ts @@ -2,22 +2,12 @@ <!DOCTYPE TS><TS version="1.1" language="hu"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Nem található a paraméter</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. Do you want to continue anyway?</source> <translation>Nincs megadva a cserélendő paraméter. Folytatható?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Nem található a helyjelölő</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -25,6 +15,16 @@ Do want to continue anyway?</source> <translation>A figyelmeztető szöveg nem tartalmaz „<>” karaktereket. Folytatható?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/id.ts b/resources/i18n/id.ts index 3d117135b..e4476bbff 100644 --- a/resources/i18n/id.ts +++ b/resources/i18n/id.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="id"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Parameter tidak ditemukan</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Anda belum memasukkan parameter baru. Tetap lanjutkan?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Placeholder tidak ditemukan</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Teks peringatan tidak mengandung '<>'. Tetap lanjutkan?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/ja.ts b/resources/i18n/ja.ts index ee18e9d4b..b175a2fef 100644 --- a/resources/i18n/ja.ts +++ b/resources/i18n/ja.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="ja"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>引数がみつかりません</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>引数が入力されていません。 続けますか?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>代入場所がみつかりません</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>警告文に「<>」が含まれていません。 続けますか?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/ko.ts b/resources/i18n/ko.ts index 1539258b1..df755520c 100644 --- a/resources/i18n/ko.ts +++ b/resources/i18n/ko.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="ko"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> diff --git a/resources/i18n/nb.ts b/resources/i18n/nb.ts index 3163e36eb..55d7913b2 100644 --- a/resources/i18n/nb.ts +++ b/resources/i18n/nb.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="nb"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway?</source> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> + <source>The alert text does not contain '<>'. +Do want to continue anyway?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> <translation type="unfinished"></translation> </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>The alert text does not contain '<>'. -Do want to continue anyway?</source> + <source>No Placeholder Found</source> <translation type="unfinished"></translation> </message> </context> diff --git a/resources/i18n/nl.ts b/resources/i18n/nl.ts index 90edb0e7a..602705b8a 100644 --- a/resources/i18n/nl.ts +++ b/resources/i18n/nl.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="nl"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Geen parameter gevonden</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>U heeft geen parameter opgegeven die vervangen moeten worden Toch doorgaan?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Geen plaatsmarkering gevonden</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>De waarschuwingstekst bevat geen '<>'. Toch doorgaan?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/pt_BR.ts b/resources/i18n/pt_BR.ts index 84f162366..7e3fabb0c 100644 --- a/resources/i18n/pt_BR.ts +++ b/resources/i18n/pt_BR.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="pt_BR"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Nenhum Parâmetro encontrado</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Você não entrou com um parâmetro para ser substituído. Ainda deseja continuar?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Nenhum lugar marcado foi encontrado</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>O texto de alerta não contém '<>'. Ainda deseja continuar?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> diff --git a/resources/i18n/ru.ts b/resources/i18n/ru.ts index 5928ca518..8166067e5 100644 --- a/resources/i18n/ru.ts +++ b/resources/i18n/ru.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="ru"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Параметр не найден</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Вы не указали параметры для замены. Все равно продолжить?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation>Заполнитель не найден</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Текст оповещения не содержит '<>'. Все равно продолжить?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> @@ -3285,7 +3285,7 @@ The content encoding is not UTF-8.</source> <message> <location filename="openlp/core/lib/ui.py" line="59"/> <source>Image</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Изображение</translation> </message> <message> <location filename="openlp/core/lib/ui.py" line="60"/> diff --git a/resources/i18n/sv.ts b/resources/i18n/sv.ts index 95863d335..9b5f196f5 100644 --- a/resources/i18n/sv.ts +++ b/resources/i18n/sv.ts @@ -2,11 +2,6 @@ <!DOCTYPE TS><TS version="1.1" language="sv"> <context> <name>AlertPlugin.AlertForm</name> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> - <source>No Parameter found</source> - <translation>Hittade ingen parameter</translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> <source>You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway?</source> <translation>Du har inte angivit någon parameter som kan ersättas. Vill du fortsätta ändå?</translation> </message> - <message> - <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> - <source>No Placeholder found</source> - <translation type="unfinished"></translation> - </message> <message> <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> <source>The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway?</source> <translation>Larmtexten innehåller inget '<>'. Vill du fortsätta ändå?</translation> </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="165"/> + <source>No Parameter Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="openlp/plugins/alerts/forms/alertform.py" line="176"/> + <source>No Placeholder Found</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>AlertsPlugin</name> From 2c4a0a20d13c8804903b6f0faf7c95f047862f5a Mon Sep 17 00:00:00 2001 From: Raoul Snyman <raoul.snyman@saturnlaboratories.co.za> Date: Wed, 2 Mar 2011 08:03:33 +0200 Subject: [PATCH 80/90] Fixed another faulty string. --- openlp/plugins/alerts/forms/alertform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 41bca2b54..e29211e66 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -176,7 +176,7 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): QtGui.QMessageBox.question(self, translate('AlertPlugin.AlertForm', 'No Placeholder Found'), translate('AlertPlugin.AlertForm', 'The alert text does not' - ' contain \'<>\'.\nDo want to continue anyway?'), + ' contain \'<>\'.\nDo you want to continue anyway?'), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No: self.parameterEdit.setFocus() From 1ec23f00ff5572cb9b4a74a7d050ff0d88ab719e Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Wed, 2 Mar 2011 18:44:01 +0100 Subject: [PATCH 81/90] added method to get list of screens, clean ups --- openlp/core/ui/generaltab.py | 12 +++++------ openlp/core/ui/screen.py | 39 ++++++++++++++++++++++++---------- openlp/core/ui/settingsform.py | 8 ------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 777302a41..d1c54d97d 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -234,6 +234,9 @@ class GeneralTab(SettingsTab): QtCore.QObject.connect(self.customXValueEdit, QtCore.SIGNAL(u'textEdited(const QString&)'), self.onDisplayPositionChanged) + # Reload the tab, as the screen resolution/count may has changed. + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'config_screen_changed'), self.load) def retranslateUi(self): """ @@ -301,13 +304,8 @@ class GeneralTab(SettingsTab): settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) self.monitorComboBox.clear() - for screen in self.screens.screen_list: - screen_name = u'%s %d' % (translate('OpenLP.GeneralTab', 'Screen'), - screen[u'number'] + 1) - if screen[u'primary']: - screen_name = u'%s (%s)' % (screen_name, - translate('OpenLP.GeneralTab', 'primary')) - self.monitorComboBox.addItem(screen_name) + for screen in self.screens.get_screen_list(): + self.monitorComboBox.addItem(screen) self.numberEdit.setText(unicode(settings.value( u'ccli number', QtCore.QVariant(u'')).toString())) self.usernameEdit.setText(unicode(settings.value( diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 1007ecc56..09bb1d8f2 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -32,7 +32,7 @@ import copy from PyQt4 import QtCore -from openlp.core.lib import Receiver +from openlp.core.lib import Receiver, translate log = logging.getLogger(__name__) @@ -58,13 +58,14 @@ class ScreenList(object): self.current_display = 0 # save config display number self.monitor_number = 0 - self.screenCountChanged() + self.screen_count_changed() QtCore.QObject.connect(desktop, - QtCore.SIGNAL(u'resized(int)'), self.screenResolutionChanged) + QtCore.SIGNAL(u'resized(int)'), self.screen_resolution_changed) QtCore.QObject.connect(desktop, - QtCore.SIGNAL(u'screenCountChanged(int)'), self.screenCountChanged) + QtCore.SIGNAL(u'screenCountChanged(int)'), + self.screen_count_changed) - def screenResolutionChanged(self, number): + def screen_resolution_changed(self, number): """ Called when the resolution of a screen has changed. @@ -86,15 +87,14 @@ class ScreenList(object): if screen == self.override: self.override = copy.deepcopy(newScreen) self.set_override_display() - self.parent.mainWindow.settingsForm.reload() Receiver.send_message(u'config_screen_changed') break - def screenCountChanged(self, count=-1): + def screen_count_changed(self, changed_screen=-1): """ Called when a screen has been added or removed. - ``count`` + ``changed_screen`` The screen's number which has been (un)plugged. """ # Remove unplugged screens. @@ -109,11 +109,28 @@ class ScreenList(object): u'size': self.desktop.screenGeometry(number), u'primary': (self.desktop.primaryScreen() == number) }) - if count != -1: + # We do not want to send this message, when the method is called the + # first time. + if changed_screen != -1: # Reload setting tabs to apply possible changes. - self.parent.mainWindow.settingsForm.reload() Receiver.send_message(u'config_screen_changed') - # TODO: Make the new (second) monitor the live display. + + def get_screen_list(self): + """ + Returns a list with the screens. This should only be used to display + available screens to the user:: + + [u'Screen 1 (primary)', Screen 2'] + """ + screen_list= [] + for screen in self.screen_list: + screen_name = u'%s %d' % (translate('OpenLP.ScreenList', 'Screen'), + screen[u'number'] + 1) + if screen[u'primary']: + screen_name = u'%s (%s)' % (screen_name, + translate('OpenLP.ScreenList', 'primary')) + screen_list.append(screen_name) + return screen_list def add_screen(self, screen): """ diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 0c058cfd0..872b37586 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -107,11 +107,3 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): """ for tabIndex in range(0, self.settingsTabWidget.count()): self.settingsTabWidget.widget(tabIndex).postSetUp() - - def reload(self): - """ - Reload all tabs to update settings which have been changed and are - outside of our scope. - """ - for tabIndex in range(0, self.settingsTabWidget.count()): - self.settingsTabWidget.widget(tabIndex).load() From 6da5cdfb2eb683cb856f115d778f24ac0ded6c72 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Wed, 2 Mar 2011 18:56:06 +0100 Subject: [PATCH 82/90] removed not needed parameter --- openlp.pyw | 2 +- openlp/core/ui/screen.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 02b1d9f73..7cc4d6d15 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -179,7 +179,7 @@ class OpenLP(QtGui.QApplication): # make sure Qt really display the splash screen self.processEvents() # Decide how many screens we have and their size - screens = ScreenList(self, self.desktop()) + screens = ScreenList(self.desktop()) # start the main app window self.appClipboard = self.clipboard() self.mainWindow = MainWindow(screens, app_version, self.appClipboard) diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 09bb1d8f2..74c94a4e4 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -42,13 +42,14 @@ class ScreenList(object): """ log.info(u'Screen loaded') - def __init__(self, parent, desktop): + def __init__(self, desktop): """ + Initialise the screen list. + + ``desktop`` + A ``QDesktopWidget`` object. """ - self.parent = parent self.desktop = desktop - # The screen used for the rendermanager. - # (Why does the rendermanager needs his own?) self.preview = None self.current = None self.override = None From 58e91aec7e106cb9a89cfced4e94cc46ee101aac Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Wed, 2 Mar 2011 18:58:17 +0100 Subject: [PATCH 83/90] removed white space --- openlp/core/ui/screen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 74c94a4e4..9efae427f 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -79,7 +79,7 @@ class ScreenList(object): newScreen = { u'number': number, u'size': self.desktop.screenGeometry(number), - u'primary': (self.desktop.primaryScreen() == number) + u'primary': self.desktop.primaryScreen() == number } self.remove_screen(number) self.add_screen(newScreen) From aba791e46aa5a2f3bceed0f4f78b2c74a989d85f Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Wed, 2 Mar 2011 19:07:07 +0100 Subject: [PATCH 84/90] fixed doc --- openlp/core/ui/screen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 9efae427f..9f8191961 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -121,7 +121,7 @@ class ScreenList(object): Returns a list with the screens. This should only be used to display available screens to the user:: - [u'Screen 1 (primary)', Screen 2'] + [u'Screen 1 (primary)', u'Screen 2'] """ screen_list= [] for screen in self.screen_list: From 1fda0e371a4be8b30c80dc97c821f495d802774c Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Wed, 2 Mar 2011 19:20:47 +0100 Subject: [PATCH 85/90] clean ups --- openlp/core/lib/serviceitem.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index de4f2fd81..9f2d0ff37 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -162,9 +162,7 @@ class ServiceItem(object): line_break = True if self.is_capable(ItemCapabilities.NoLineBreaks): line_break = False - theme = None - if self.theme: - theme = self.theme + theme = self.theme if self.theme else None self.main, self.footer = \ self.render_manager.set_override_theme(theme, useOverride) self.themedata = self.render_manager.renderer._theme @@ -187,11 +185,7 @@ class ServiceItem(object): self.title = clean_tags(self.title) self.foot_text = None if self.raw_footer: - for foot in self.raw_footer: - if not self.foot_text: - self.foot_text = foot - else: - self.foot_text = u'%s<br>%s' % (self.foot_text, foot) + self.foot_text = u'<br>'.join(self.raw_footer) def add_from_image(self, path, title): """ @@ -204,8 +198,7 @@ class ServiceItem(object): A title for the slide in the service item. """ self.service_item_type = ServiceItemType.Image - self._raw_frames.append( - {u'title': title, u'path': path}) + self._raw_frames.append({u'title': title, u'path': path}) self.render_manager.image_manager.add_image(title, path) self._new_item() From 886f20aafff4fcff54ea10387938a643ccd397d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= <mahfiaz@gmail.com> Date: Thu, 3 Mar 2011 03:40:18 +0200 Subject: [PATCH 86/90] text fix + making it easier to translate --- openlp/core/ui/aboutdialog.py | 68 ++++++++++---------- openlp/plugins/songs/forms/songexportform.py | 4 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 5ba5783ea..f898a6eaf 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -106,38 +106,36 @@ class Ui_AboutDialog(object): )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.aboutTab), UiStrings.About) - self.creditsTextEdit.setPlainText(translate('OpenLP.AboutForm', + lead = u'Raoul "superfly" Snyman' + developers = [u'Tim "TRB143" Bentley', u'Jonathan "gushie" Corwin', + u'Michael "cocooncrash" Gorven', u'Scott "sguerrieri" Guerrieri', + u'Raoul "superfly" Snyman', u'Martin "mijiti" Thompson', + u'Jon "Meths" Tibble<'] + contributors = [u'Meinert "m2j" Jordan', u'Andreas "googol" Preikschat', + u'Christian "crichter" Richter', u'Philip "Phill" Ridout', + u'Maikel Stuivenberg', u'Carsten "catini" Tingaard', + u'Frode "frodus" Woldsund'] + testers = [u'Philip "Phill" Ridout', u'Wesley "wrst" Stout (lead)'] + packagers = [u'Thomas "tabthorpe" Abthorpe (FreeBSD)', + u'Tim "TRB143" Bentley (Fedora)', + u'Michael "cocooncrash" Gorven (Ubuntu)', + u'Matthias "matthub" Hub (Mac OS X)', + u'Raoul "superfly" Snyman (Windows, Ubuntu)'] + self.creditsTextEdit.setPlainText(unicode(translate('OpenLP.AboutForm', 'Project Lead\n' - ' Raoul "superfly" Snyman\n' + ' %s\n' '\n' 'Developers\n' - ' Tim "TRB143" Bentley\n' - ' Jonathan "gushie" Corwin\n' - ' Michael "cocooncrash" Gorven\n' - ' Scott "sguerrieri" Guerrieri\n' - ' Raoul "superfly" Snyman\n' - ' Martin "mijiti" Thompson\n' - ' Jon "Meths" Tibble\n' + ' %s\n' '\n' 'Contributors\n' - ' Meinert "m2j" Jordan\n' - ' Andreas "googol" Preikschat\n' - ' Christian "crichter" Richter\n' - ' Philip "Phill" Ridout\n' - ' Maikel Stuivenberg\n' - ' Carsten "catini" Tingaard\n' - ' Frode "frodus" Woldsund\n' + ' %s\n' '\n' 'Testers\n' - ' Philip "Phill" Ridout\n' - ' Wesley "wrst" Stout (lead)\n' + ' %s\n' '\n' 'Packagers\n' - ' Thomas "tabthorpe" Abthorpe (FreeBSD)\n' - ' Tim "TRB143" Bentley (Fedora)\n' - ' Michael "cocooncrash" Gorven (Ubuntu)\n' - ' Matthias "matthub" Hub (Mac OS X)\n' - ' Raoul "superfly" Snyman (Windows, Ubuntu)\n' + ' %s\n' '\n' 'Built With\n' ' Python: http://www.python.org/\n' @@ -155,30 +153,30 @@ class Ui_AboutDialog(object): ' God our Father, for sending His Son to die\n' ' on the cross, setting us free from sin. We\n' ' bring this software to you for free because\n' - ' He has set us free.' - )) + ' He has set us free.')) % (lead, u'\n '.join(developers), + u'\n '.join(contributors), u'\n '.join(testers), + u'\n '.join(packagers))) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.creditsTab), translate('OpenLP.AboutForm', 'Credits')) - self.licenseTextEdit.setPlainText(translate('OpenLP.AboutForm', + copyright = translate('OpenLP.AboutForm', 'Copyright \xa9 2004-2011 Raoul Snyman\n' 'Portions copyright \xa9 2004-2011 ' 'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri,\n' 'Meinert Jordan, Andreas Preikschat, Christian Richter, Philip\n' 'Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carstenn' - 'Tinggaard, Frode Woldsund\n' - '\n' + 'Tinggaard, Frode Woldsund') + licence = translate('OpenLP.AboutForm', '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.\n' - '\n' + 'License.') + disclaimer = translate('OpenLP.AboutForm', '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 below ' - 'for more details.\n' - '\n' - '\n' + 'for more details.') + gpltext = translate('OpenLP.AboutForm', 'GNU GENERAL PUBLIC LICENSE\n' 'Version 2, June 1991\n' '\n' @@ -549,7 +547,9 @@ class Ui_AboutDialog(object): 'subroutine library, you may consider it more useful to permit ' 'linking proprietary applications with the library. If this is ' 'what you want to do, use the GNU Lesser General Public License ' - 'instead of this License.')) + 'instead of this License.') + self.licenseTextEdit.setPlainText(u'%s\n\n%s\n\n%s\n\n\n%s' % + (copyright, licence, disclaimer, gpltext)) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) diff --git a/openlp/plugins/songs/forms/songexportform.py b/openlp/plugins/songs/forms/songexportform.py index 231d8fd43..4a17981a3 100644 --- a/openlp/plugins/songs/forms/songexportform.py +++ b/openlp/plugins/songs/forms/songexportform.py @@ -226,7 +226,7 @@ class SongExportForm(OpenLPWizard): translate('SongsPlugin.ExportWizardForm', 'No Save Location specified'), translate('SongsPlugin.ExportWizardForm', - 'You need to specified a directory to save the songs in.')) + 'You need to specify a directory where to save the songs.')) return False return True elif self.currentPage() == self.progressPage: @@ -355,7 +355,7 @@ class SongExportForm(OpenLPWizard): the path to *directoryLineEdit*. """ path = unicode(QtGui.QFileDialog.getExistingDirectory(self, - translate('SongsPlugin.ExportWizardForm', 'Selecte to Folder'), + translate('SongsPlugin.ExportWizardForm', 'Select Destination Folder'), SettingsManager.get_last_dir(self.plugin.settingsSection, 1), options=QtGui.QFileDialog.ShowDirsOnly)) SettingsManager.set_last_dir(self.plugin.settingsSection, path, 1) From 87aa8b9b5e24b73a082d59258e4c9f355656a882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= <mahfiaz@gmail.com> Date: Thu, 3 Mar 2011 08:34:17 +0200 Subject: [PATCH 87/90] fix, don't translate GPL at all --- openlp/core/ui/aboutdialog.py | 3 +-- openlp/plugins/songs/forms/songexportform.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index f898a6eaf..c3ab5a00f 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -176,8 +176,7 @@ class Ui_AboutDialog(object): 'but WITHOUT ANY WARRANTY; without even the implied warranty of ' 'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See below ' 'for more details.') - gpltext = translate('OpenLP.AboutForm', - 'GNU GENERAL PUBLIC LICENSE\n' + gpltext = ('GNU GENERAL PUBLIC LICENSE\n' 'Version 2, June 1991\n' '\n' 'Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 ' diff --git a/openlp/plugins/songs/forms/songexportform.py b/openlp/plugins/songs/forms/songexportform.py index 4a17981a3..dbcff42f3 100644 --- a/openlp/plugins/songs/forms/songexportform.py +++ b/openlp/plugins/songs/forms/songexportform.py @@ -226,7 +226,7 @@ class SongExportForm(OpenLPWizard): translate('SongsPlugin.ExportWizardForm', 'No Save Location specified'), translate('SongsPlugin.ExportWizardForm', - 'You need to specify a directory where to save the songs.')) + 'You need to specify a directory.')) return False return True elif self.currentPage() == self.progressPage: From 9d875bf85ba75885763c8744765e8d52782f2c66 Mon Sep 17 00:00:00 2001 From: Tim Bentley <tim.bentley@gmail.com> Date: Thu, 3 Mar 2011 17:07:36 +0000 Subject: [PATCH 88/90] Fix hide cursor error Fixes: https://launchpad.net/bugs/728551 --- openlp/core/ui/maindisplay.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 06de73309..5fd361268 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -158,6 +158,7 @@ class MainDisplay(DisplayWidget): self.webView.setHtml(build_html(serviceItem, self.screen, self.alertTab, self.isLive, None)) self.initialFrame = True + self.__hideMouse() # To display or not to display? if not self.screen[u'primary']: self.show() @@ -434,15 +435,7 @@ class MainDisplay(DisplayWidget): # if was hidden keep it hidden if self.hideMode and self.isLive: self.hideDisplay(self.hideMode) - # Hide mouse cursor when moved over display if enabled in settings - settings = QtCore.QSettings() - if settings.value(u'advanced/hide mouse', - QtCore.QVariant(False)).toBool(): - self.setCursor(QtCore.Qt.BlankCursor) - self.frame.evaluateJavaScript('document.body.style.cursor = "none"') - else: - self.setCursor(QtCore.Qt.ArrowCursor) - self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') + self.__hideMouse() def footer(self, text): """ @@ -492,6 +485,16 @@ class MainDisplay(DisplayWidget): # Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') + def __hideMouse(self): + # Hide mouse cursor when moved over display if enabled in settings + if QtCore.QSettings().value(u'advanced/hide mouse', + QtCore.QVariant(False)).toBool(): + self.setCursor(QtCore.Qt.BlankCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "none"') + else: + self.setCursor(QtCore.Qt.ArrowCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') + class AudioPlayer(QtCore.QObject): """ From 0ea0c9bf601bb8819720eaed6a3ed71e91ee6f5f Mon Sep 17 00:00:00 2001 From: Andreas Preikschat <googol@lavabit.com> Date: Thu, 3 Mar 2011 19:28:41 +0100 Subject: [PATCH 89/90] fix for merge --- openlp/core/ui/generaltab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index d1c54d97d..e705d5ec3 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -234,7 +234,7 @@ class GeneralTab(SettingsTab): QtCore.QObject.connect(self.customXValueEdit, QtCore.SIGNAL(u'textEdited(const QString&)'), self.onDisplayPositionChanged) - # Reload the tab, as the screen resolution/count may has changed. + # Reload the tab, as the screen resolution/count may have changed. QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_screen_changed'), self.load) From 3e5da3be9e8fc342f2a05539d97655e0a3f9a386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= <mahfiaz@gmail.com> Date: Thu, 3 Mar 2011 22:18:17 +0200 Subject: [PATCH 90/90] address #728637 --- openlp/plugins/songs/forms/editverseform.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index 8a52c1859..645de8a60 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -98,7 +98,10 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): match = self.verse_regex.match(text) if match: verse_tag = match.group(1) - verse_num = int(match.group(2)) + try: + verse_num = int(match.group(2)) + except ValueError: + verse_num = 1 verse_type_index = VerseType.from_loose_input(verse_tag) if verse_type_index is not None: self.verseNumberBox.setValue(verse_num) @@ -127,7 +130,10 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): if match: verse_type = match.group(1) verse_type_index = VerseType.from_loose_input(verse_type) - verse_number = int(match.group(2)) + try: + verse_number = int(match.group(2)) + except ValueError: + verse_number = 1 if verse_type_index is not None: self.verseTypeComboBox.setCurrentIndex(verse_type_index) self.verseNumberBox.setValue(verse_number)