From 801a2b17c9a6385da24975f45d6c5624c3076758 Mon Sep 17 00:00:00 2001 From: Matthias Hub Date: Mon, 14 Feb 2011 19:18:51 +0100 Subject: [PATCH 01/31] 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 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

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 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�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 02/31] 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 03/31] 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 c12b84fa38417f4b2a3b11196a5beef118768da3 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 25 Feb 2011 18:05:02 +0000 Subject: [PATCH 04/31] 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 Date: Fri, 25 Feb 2011 20:52:13 +0100 Subject: [PATCH 05/31] 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 Date: Fri, 25 Feb 2011 21:29:45 +0100 Subject: [PATCH 06/31] 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 Date: Sat, 26 Feb 2011 00:34:46 +0000 Subject: [PATCH 07/31] 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?= Date: Sat, 26 Feb 2011 09:14:37 +0100 Subject: [PATCH 08/31] 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 Date: Sat, 26 Feb 2011 22:43:41 +0100 Subject: [PATCH 09/31] 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 Date: Sun, 27 Feb 2011 06:58:23 +0000 Subject: [PATCH 10/31] 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 Date: Sun, 27 Feb 2011 16:44:56 +0100 Subject: [PATCH 11/31] 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 Date: Sun, 27 Feb 2011 17:27:45 +0100 Subject: [PATCH 12/31] 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 Date: Sun, 27 Feb 2011 19:19:16 +0100 Subject: [PATCH 13/31] 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 Date: Mon, 28 Feb 2011 20:36:58 +0100 Subject: [PATCH 14/31] 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 Date: Tue, 1 Mar 2011 18:16:59 +0100 Subject: [PATCH 15/31] 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 Date: Tue, 1 Mar 2011 20:21:00 +0200 Subject: [PATCH 16/31] 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 @@ AlertPlugin.AlertForm - + No Parameter found - + Geen Parameter gevind nie - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + Daar is nie 'n parameter gegee om te vervang nie. +Gaan steeds voort? - + No Placeholder found - + Geen Plekhouer gevind nie - + The alert text does not contain '<>'. Do want to continue anyway? - + Die attent teks bevat nie '<>' nie. +Gaan steeds voort? AlertsPlugin - + &Alert W&aarskuwing - + Show an alert message. Vertoon 'n waarskuwing boodskap. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Waarskuwing Mini-program</strong><br/>Die waarskuwing mini-program beheer die vertoning van moederskamer inligting op die vertoon skerm - + Alert name singular - + Alerts name plural Waarskuwings - + Alerts container title Waarskuwings @@ -64,30 +66,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message Waarskuwing Boodskap - + Alert &text: Waarskuwing &teks: - + &New &Nuwe - + &Save &Stoor - - - &Delete - Wis ui&t - Displ&ay @@ -99,17 +96,17 @@ Do want to continue anyway? Vert&oon && Maak toe - + New Alert Nuwe Waarskuwing - + You haven't specified any text for your alert. Please type in some text before clicking New. Daar is geen teks vir die waarskuwing gespesifiseer nie. Tik asseblief teks in voordat 'n nuwe een bygevoeg word. - + &Parameter: @@ -125,95 +122,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Skrif - + Font name: Skrif naam: - + Font color: Skrif kleur: - + Background color: Agtergrond kleur: - + Font size: Skrif grootte: - - pt - pt - - - + Alert timeout: Waarskuwing verstreke-tyd: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + - - Location: - Ligging: + + Importing testaments... done. + - - Preview - Voorskou + + Importing books... %s + - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Bo - - - - Middle - Middel - - - - Bottom - Onder + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +207,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +220,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible &Bybel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Bybel Mini-program</strong><br/>Die Bybel mini-program verskaf die taak om Bybel verse vanaf verskillende bronne tydens die diens te vertoon. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - Voorskou - - - + Preview the selected Bible - - Live - Regstreeks - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular Bybel - + Bibles name plural Bybels - + Bibles container title Bybels - - &Import - &Invoer - - - - &Add - - - - - &Edit - R&edigeer - - - - &Delete - - - - + No Book Found Geen Boek Gevind nie - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +296,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error Skrif Verwysing Fout - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Vers Vertoning - + Only show new chapter numbers Vertoon net nuwe hoofstuk nommers - + Layout style: Uitleg styl: - + Display style: Vertoon styl: - + Bible theme: Bybel tema: - + Verse Per Slide Verse Per Skyfie - + Verse Per Line Verse Per Lyn - + Continuous Aaneen-lopend - + No Brackets Geen Hakkies - + ( And ) ( En ) - + { And } { En } - + [ And ] [ En ] - + Note: Changes do not affect verses already in the service. Nota: Veranderinge affekteer nie verse wat reeds in die diens is nie. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bybel Invoer Gids - - Welcome to the Bible Import Wizard - Welkom by die Bybel Invoer Gids - - - + 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. 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. - - Select Import Source - Selekteer Invoer Bron - - - - Select the import format, and where to import from. - Selekteer die invoer formaat en van waar af om in te voer. - - - - Format: - Formaat: - - - - OSIS - OSIS - - - - CSV - KGW (CSV) - - - - OpenSong - OpenSong - - - + Web Download Web Aflaai - - File location: - Lêer ligging: - - - - Books location: - Boeke ligging: - - - - Verse location: - Vers ligging: - - - - Bible filename: - Bybel lêernaam: - - - + Location: Ligging: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Bybel: - + Download Options Aflaai Opsies - + Server: Bediener: - + Username: Gebruikersnaam: - + Password: Wagwoord: - + Proxy Server (Optional) Tussenganger Bediener (Opsioneel) - + License Details Lisensie Besonderhede - + Set up the Bible's license details. Stel hierdie Bybel se lisensie besonderhede op. - + Version name: Weergawe naam: - + Copyright: Kopiereg: - - Importing - Invoer - - - + Please wait while your Bible is imported. Wag asseblief terwyl u Bybel ingevoer word. - - Ready. - Gereed. - - - - Invalid Bible Location - Ongeldige Bybel Ligging - - - - You need to specify a file to import your Bible from. - 'n Lêer van waar die Byber ingevoer word moet gespesifiseer word. - - - - Invalid Books File - Ongeldige Boeke Lêer - - - + You need to specify a file with books of the Bible to use in the import. 'n Lêer met boeke van die Bybel moet gespesifiseer word vir gebruik tydens die invoer. - - Invalid Verse File - Ongeldige Vers Lêer - - - + You need to specify a file of Bible verses to import. 'n Lêer met Bybel verse moet gespesifiseer word om in te voer. - - Invalid OpenSong Bible - Ongeldige OpenSong Bybel - - - - You need to specify an OpenSong Bible file to import. - 'n OpenSong Bybel moet gespesifiseer word om in te voer. - - - - Empty Version Name - Weergawe Naam is leeg - - - + You need to specify a version name for your Bible. 'n Weergawe naam moet vir die Bybel gespesifiseer word. - - Empty Copyright - Kopiereg Leeg - - - + Bible Exists Bybel Bestaan reeds - - Open OSIS File - Maak OSIS Lêer oop - - - - Open Books CSV File - Maak Boeke CSV (KGW) Lêer oop - - - - Open Verses CSV File - Maak Verse CSV Lêer oop - - - - Open OpenSong Bible - Maak OpenSong Bybel Oop - - - - Starting import... - Invoer begin... - - - - Finished import. - Invoer voltooi. - - - + Your Bible import failed. Die Bybel invoer het misluk. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Die Bybel benodig 'n kopiereg. Bybels in die Publieke Domein moet daarvolgens gemerk word. - + This Bible already exists. Please import a different Bible or first delete the existing one. Hierdie Bybel bestaan reeds. Voer asseblief 'n ander Bybel in of wis eers die bestaande een uit. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - openlp.org 1.x - - - + Permissions: - + CSV File - + openlp.org 1.x bible - - All Files - Alle Lêers - - - + Bibleserver - - 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. - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? + BiblesPlugin.MediaItem - + Quick Vinnig - - Advanced - Gevorderd - - - - Version: - Weergawe: - - - - Search type: - Tipe soek: - - - + Find: Vind: - - Search - Soek - - - + Results: Resultate: - + Book: Boek: - + Chapter: Hoofstuk: - + Verse: Vers: - + From: Vanaf: - + To: Tot: - - Verse Search - Soek Vers - - - + Text Search Teks Soektog - + Clear Maak Skoon - + Keep Behou - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - %s ingevoer... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -889,12 +673,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -903,7 +687,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. <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. @@ -924,210 +708,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Redigeer Aangepaste Skyfies - - Move slide up one position. - Skuif skyfie een posisie op. - - - - Move slide down one position. - Skuif skyfie een posisie af. - - - + &Title: &Titel: - + Add a new slide at bottom. Voeg nuwe skyfie by aan die onderkant. - + Edit the selected slide. Redigeer die geselekteerde skyfie. - + Edit all the slides at once. Redigeer al die skyfies tegelyk. - - Delete the selected slide. - Wis die geselekteerde skyfie uit. - - - + Split Slide Verdeel Skyfie - + Split a slide into two by inserting a slide splitter. Verdeel 'n skyfie deur 'n skyfie-verdeler te gebruik. - + The&me: Te&ma: - + &Credits: &Krediete: - - Save && Preview - Stoor && Voorskou - - - + You need to type in a title. 'n Titel word benodig. - + You need to add at least one slide Ten minste een skyfie moet bygevoeg word - - &Add - - - - - &Edit - R&edigeer - - - + Ed&it All Red&igeer Alles - - - &Delete - - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Daar is nie 'n item geselekteer om te redigeer nie. - - - - You haven't selected an item to delete. - Daar is nie 'n item geselekteer om uit te wis nie. - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - Redigeer - - - + Edit the selected Custom - - Delete - Wis uit - - - + Delete the selected Custom - - Preview - Voorskou - - - + Preview the selected Custom - - Live - Regstreeks - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular Aanpas - + Customs name plural - + Custom container title Aanpas @@ -1136,169 +832,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - Redigeer - - - + Edit the selected Image - - Delete - Wis uit - - - + Delete the selected Image - - Preview - Voorskou - - - + Preview the selected Image - - Live - Regstreeks - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular Beeld - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Selekteer beeld(e) - - All Files - Alle Lêers - - - - Replace Live Background - Vervang Regstreekse Agtergrond - - - - Replace Background - Vervang Agtergrond - - - - Reset Live Background - Herstel Regstreekse Agtergrond - - - + You must select an image to delete. 'n Beeld om uit te wis moet geselekteer word. - - Image(s) - Beeld(e) - - - + You must select an image to replace the background with. 'n Beeld wat die agtergrond vervang moet gekies word. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1306,94 +940,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Media Mini-program</strong><br/>Die media mini-program verskaf speel funksies van audio en video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - Redigeer - - - + Edit the selected Media - - Delete - Wis uit - - - + Delete the selected Media - - Preview - Voorskou - - - + Preview the selected Media - - Live - Regstreeks - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular Media - + Media name plural Media - + Media container title Media @@ -1402,50 +1001,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - Media - - - + Select Media Selekteer Media - - Replace Live Background - Vervang Regstreekse Agtergrond - - - - Replace Background - Vervang Agtergrond - - - + You must select a media file to delete. 'n Media lêer om uit te wis moet geselekteer word. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1453,12 +1027,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1466,16 +1040,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Media - - - Media Display - + Use Phonon for video playback @@ -1483,18 +1052,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files Beeld Lêers OpenLP.AboutForm - - - About OpenLP - Aangaande OpenLP - 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. - - About - Aangaande - - - + Credits Krediete @@ -1538,7 +1097,7 @@ OpenLP is geskryf en word onderhou deur vrywilligers. As u graag wil sien dat me bou %s - + Project Lead Raoul "superfly" Snyman @@ -1591,9 +1150,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Gevorderd - - - + UI Settings GK (UI) Verstellings - + Number of recent files to display: Hoeveelheid onlangse lêers om te vertoon: - + Remember active media manager tab on startup Onthou die laaste media bestuurder oortjie wanneer die program begin - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Agtergrond kleur: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Wis uit - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1855,40 +1424,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. 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. - + Error Occurred 'n Fout het opgeduik - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1898,24 +1497,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1947,130 +1537,130 @@ Version: %s OpenLP.GeneralTab - + General Algemeen - + Monitors Monitors - + Select monitor for output display: Selekteer monitor vir uitgaande vertoning: - + Display if a single screen Vertoon as dit 'n enkel skerm is - + Application Startup Applikasie Aanskakel - + Show blank screen warning Vertoon leë skerm waarskuwing - + Automatically open the last service Maak vanself die laaste diens oop - + Show the splash screen Wys die spatsel skerm - + Application Settings Program Verstellings - + Prompt to save before starting a new service Vra om te stoor voordat 'n nuwe diens begin word - + Automatically preview next item in service Wys voorskou van volgende item in diens automaties - + Slide loop delay: Skyfie herhaal vertraging: - + sec sek - + CCLI Details CCLI Inligting - - CCLI number: - CCLI nommer: - - - + SongSelect username: SongSelect gebruikersnaam: - + SongSelect password: SongSelect wagwoord: - + Display Position Vertoon Posisie - + X X - + Y Y - + Height Hoogte - + Width Wydte - + Override display position Oorskryf vertoon posisie - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2088,7 +1678,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2096,377 +1686,352 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Lêer - + &Import &Invoer - + &Export Uitvo&er - + &View &Bekyk - + M&ode M&odus - + &Tools &Gereedskap - + &Settings Ver&stellings - + &Language Taa&l - + &Help &Hulp - + Media Manager Media Bestuurder - + Service Manager Diens Bestuurder - + Theme Manager Tema Bestuurder - + &New &Nuwe - - New Service - Nuwe Diens - - - - Create a new service. - Skep 'n nuwe diens. - - - + Ctrl+N Ctrl+N - + &Open Maak &Oop - - Open Service - Maak Diens Oop - - - + Open an existing service. Maak 'n bestaande diens oop. - + Ctrl+O Ctrl+O - + &Save &Stoor - - Save Service - Stoor Diens - - - + Save the current service to disk. Stoor die huidige diens na skyf. - + Ctrl+S Ctrl+S - + Save &As... Stoor &As... - + Save Service As Stoor Diens As - + Save the current service under a new name. Stoor die huidige diens onder 'n nuwe naam. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit &Uitgang - + Quit OpenLP Sluit OpenLP Af - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... &Konfigureer OpenLP... - + &Media Manager &Media Bestuurder - + Toggle Media Manager Wissel Media Bestuurder - + Toggle the visibility of the media manager. Wissel sigbaarheid van die media bestuurder. - + F8 F8 - + &Theme Manager &Tema Bestuurder - + Toggle Theme Manager Wissel Tema Bestuurder - + Toggle the visibility of the theme manager. Wissel sigbaarheid van die tema bestuurder. - + F10 F10 - + &Service Manager &Diens Bestuurder - + Toggle Service Manager Wissel Diens Bestuurder - + Toggle the visibility of the service manager. Wissel sigbaarheid van die diens bestuurder. - + F9 F9 - + &Preview Panel Voorskou &Paneel - + Toggle Preview Panel Wissel Voorskou Paneel - + Toggle the visibility of the preview panel. Wissel sigbaarheid van die voorskou paneel. - + F11 F11 - + &Live Panel Regstreekse Panee&l - + Toggle Live Panel Wissel Regstreekse Paneel - + Toggle the visibility of the live panel. Wissel sigbaarheid van die regstreekse paneel. - + F12 F12 - + &Plugin List Mini-&program Lys - + List the Plugins Lys die Mini-programme - + Alt+F7 Alt+F7 - + &User Guide Gebr&uikers Gids - + &About &Aangaande - + More information about OpenLP Meer inligting aangaande OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Aanlyn Hulp - + &Web Site &Web Tuiste - + &Auto Detect Verklik Outom&aties - + Use the system language, if available. Gebruik die sisteem se taal as dit beskikbaar is. - + Set the interface language to %s Verstel die koppelvlak taal na %s - + Add &Tool... Voeg Gereedskaps&tuk by... - + Add an application to the list of tools. Voeg 'n applikasie by die lys van gereedskapstukke. - + &Default &Verstek - + Set the view mode back to the default. Verstel skou modus terug na verstek modus. - + &Setup Op&stel - + Set the view mode to Setup. Verstel die skou modus na Opstel modus. - + &Live &Regstreeks - + Set the view mode to Live. Verstel die skou modus na Regstreeks. - + 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/. @@ -2475,32 +2040,22 @@ You can download the latest version from http://openlp.org/. Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/. - + OpenLP Version Updated OpenLP Weergawe is Opdateer - + OpenLP Main Display Blanked OpenLP Hoof Vertoning Blanko - + The Main Display has been blanked out Die Hoof Skerm is afgeskakel - - Save Changes to Service? - Stoor Veranderinge aan Diens? - - - - Your service has changed. Do you want to save those changes? - Die diens het verander. Stoor veranderinge? - - - + Default Theme: %s Verstek Tema: %s @@ -2511,75 +2066,85 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/. Afrikaans - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected Geen item geselekteer nie - + &Add to selected Service Item &Voeg by die geselekteerde Diens item - + You must select one or more items to preview. Kies een of meer items vir die voorskou. - + You must select one or more items to send live. Kies een of meer items vir regstreekse uitsending. - + You must select one or more items. Kies een of meer items. - - No items selected - Geen items geselekteer nie - - - - You must select one or more items - Kies een of meer items - - - - No Service Item Selected - Geen Diens Item Geselekteer nie - - - + You must select an existing service item to add to. 'n Bestaande diens item moet geselekteer word om by by te voeg. - + Invalid Service Item Ongeldige Diens Item - + You must select a %s service item. Kies 'n %s diens item. @@ -2587,25 +2152,15 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/. OpenLP.PluginForm - + Plugin List Mini-program Lys - + Plugin Details Mini-program Besonderhede - - - Version: - Weergawe: - - - - About: - Aangaande: - Status: @@ -2622,238 +2177,319 @@ Die nuutste weergawe kan afgelaai word vanaf http://openlp.org/. Onaktief - + %s (Inactive) %s (Onaktief) - + %s (Active) %s (Aktief) - + %s (Disabled) %s (Onaktief) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Hergroepeer Diens Item + + Fit Page + - - Delete - Wis uit + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Hergroepeer Diens Item OpenLP.ServiceManager - - New Service - Nuwe Diens - - - - Create a new service - Skep 'n nuwe diens - - - - Open Service - Maak Diens Oop - - - + Load an existing service Laai 'n bestaande diens - - Save Service - Stoor Diens - - - + Save this service Stoor hierdie diens - - Theme: - Tema: - - - + Select a theme for the service Selekteer 'n tema vir die diens - + Move to &top Skuif boon&toe - + Move item to the top of the service. Skuif item tot heel bo in die diens. - + Move &up Sk&uif op - + Move item up one position in the service. Skuif item een posisie boontoe in die diens. - + Move &down Skuif &af - + Move item down one position in the service. Skuif item een posisie af in die diens. - + Move to &bottom Skuif &tot heel onder - + Move item to the end of the service. Skuif item tot aan die einde van die diens. - + &Delete From Service Wis uit vanaf die &Diens - + Delete the selected item from the service. Wis geselekteerde item van die diens af. - + &Add New Item &Voeg Nuwe Item By - + &Add to Selected Item &Voeg by Geselekteerde Item - + &Edit Item R&edigeer Item - + &Reorder Item Ve&rander Item orde - + &Notes &Notas - - &Preview Verse - Vers V&oorsig - - - - &Live Verse - &Regstreekse Vers - - - + &Change Item Theme &Verander Item Tema - + File is not a valid service. The content encoding is not UTF-8. Lêer is nie 'n geldige diens nie. Die inhoud enkodering is nie UTF-8 nie. - + File is not a valid service. Lêer is nie 'n geldige diens nie. - + Missing Display Handler Vermisde Vertoon Hanteerder - + Your item cannot be displayed as there is no handler to display it Die item kan nie vertoon word nie omdat daar nie 'n hanteerder is om dit te vertoon nie - + Your item cannot be displayed as the plugin required to display it is missing or inactive Die item kan nie vertoon word nie omdat die mini-program wat dit moet vertoon vermis of onaktief is - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Diens Item Notas @@ -2861,7 +2497,7 @@ Die inhoud enkodering is nie UTF-8 nie. OpenLP.SettingsForm - + Configure OpenLP Konfigureer OpenLP @@ -2884,17 +2520,17 @@ Die inhoud enkodering is nie UTF-8 nie. - + Default: %s - + Custom: - + None @@ -2908,137 +2544,180 @@ Die inhoud enkodering is nie UTF-8 nie. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - Regstreeks - - - - Preview - Voorskou - - - + Move to previous Beweeg na vorige - + Move to next Beweeg na volgende - + Hide Verskuil - + Move to live Verskuif na regstreekse skerm - + Start continuous loop Begin aaneenlopende lus - + Stop continuous loop Stop deurlopende lus - - s - s - - - + Delay between slides in seconds Vertraging tussen skyfies in sekondes - + Start playing media Begin media speel - + Go To Gaan Na - + Edit and reload song preview Redigeer en laai weer 'n lied voorskou - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions Spelling Voorstelle - + Formatting Tags Uitleg Hakkies - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - Alle Lêers + + Item Start Time + - + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + Select Image Selekteer beeld - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3046,477 +2725,432 @@ Die inhoud enkodering is nie UTF-8 nie. OpenLP.ThemeManager - - New Theme - Nuwe Tema - - - + Create a new theme. Skep 'n nuwe tema. - + Edit Theme Redigeer Tema - + Edit a theme. Redigeer 'n tema. - + Delete Theme Wis Tema Uit - + Delete a theme. Wis 'n tema uit. - + Import Theme Voer Tema In - + Import a theme. Voer 'n tema in. - + Export Theme Voer Tema Uit - + Export a theme. Voer 'n tema uit. - + &Edit Theme R&edigeer Tema - + &Delete Theme &Wis Tema uit - + Set As &Global Default Stel in As &Globale Standaard - + %s (default) %s (standaard) - + You must select a theme to edit. Kies 'n tema om te redigeer. - + You are unable to delete the default theme. Die standaard tema kan nie uitgewis word nie. - + You have not selected a theme. Geen tema is geselekteer nie. - + Save Theme - (%s) Stoor Tema - (%s) - + Theme Exported Tema Uitvoer - + Your theme has been successfully exported. Die tema was suksesvol uitgevoer. - + Theme Export Failed Tema Uitvoer het Misluk - + Your theme could not be exported due to an error. Die tema kon nie uitgevoer word nie weens 'n fout. - + Select Theme Import File Kies Tema Invoer Lêer - + File is not a valid theme. The content encoding is not UTF-8. Lêer is nie 'n geldige tema nie. Die inhoud enkodering is nie UTF-8 nie. - + File is not a valid theme. Lêer is nie 'n geldige tema nie. - + Theme %s is used in the %s plugin. Tema %s is in gebruik deur die %s mini-program. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Soliede Kleur - + Gradient Gradiënt - - Image - Beeld - - - + Color: Kleur: - + Gradient: Gradiënt: - + Horizontal Horisontaal - + Vertical Vertikaal - + Circular Sirkelvormig - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - Beeld: - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: Skrif: - + Size: Grootte: - - pt - pt - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Vetgedruk - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left Links - + Right Regs - + Center Middel - - Vertical Align: - - - - - Top - Bo - - - - Middle - Middel - - - - Bottom - Onder - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: X posisie: - + px px - + Y position: Y posisie: - + Width: Wydte: - + Height: Hoogte: - + Use default location Gebruik verstek ligging - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - Nuwe Tema - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3524,47 +3158,42 @@ Die inhoud enkodering is nie UTF-8 nie. OpenLP.ThemesTab - - Themes - Temas - - - + Global Theme Globale Tema - + Theme Level Tema Vlak - + S&ong Level Lied Vl&ak - + 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. 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. - + &Service Level Dien&s Vlak - + 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. 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. - + &Global Level &Globale Vlak - + Use the global theme, overriding any themes associated with either the service or the songs. Gebruik die globale tema om enige temas wat met die diens of liedere geassosieer is te vervang. @@ -3572,82 +3201,471 @@ Die inhoud enkodering is nie UTF-8 nie. OpenLP.Ui - + Error Fout + + + &Delete + &Wis Uit + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + + + + + Advanced + Gevorderd + + + + All Files + Alle Lêers + + + + Create a new service. + Skep 'n nuwe diens. + + + + &Edit + R&edigeer + + + + Import + + + + + Length %s + + + + + Live + Regstreeks + + + + Load + + + + + New + + + + + New Service + Nuwe Diens + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Maak Diens Oop + + + + Preview + Voorskou + + + + Replace Background + Vervang Agtergrond + + + + Replace Live Background + Vervang Regstreekse Agtergrond + + + + Reset Background + + + + + Reset Live Background + Herstel Regstreekse Agtergrond + + + + Save Service + Stoor Diens + + + + Service + + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Bo + + + + Middle + Middel + + + + Bottom + Onder + + + + About + Aangaande + + + + Browse... + Deursoek... + + + + Cancel + + + + + CCLI number: + CCLI nommer: + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Beeld + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + Nuwe Tema + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Geen item geselekteer nie + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Stoor && Voorskou + + + + Search + Soek + + + + You must select an item to delete. + + + + + You must select an item to edit. + Selekteer 'n item om te regideer. + + + + Theme + Singular + Tema + + + + Themes + Plural + Temas + + + + Version + + + + + Finished import. + Invoer voltooi. + + + + Format: + Formaat: + + + + Importing + Invoer + + + + Importing "%s"... + "%s" ingevoer... + + + + Select Import Source + Selekteer Invoer Bron + + + + Select the import format and the location to import from. + + + + + 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. + 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. + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Gereed. + + + + Starting import... + Invoer begin... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Welkom by die Bybel Invoer Gids + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Welkom by die Lied Invoer Gids + + + + Author + Singular + + + + + Authors + Plural + Skrywers + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Lied Boek + + + + Song Books + Plural + Lied Boeke + + + + Song Maintenance + Lied Onderhoud + + + + Topic + Singular + Onderwerp + + + + Topics + Plural + Onderwerpe + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. <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. - - Load - - - - + Load a new Presentation - - - Delete - Wis uit - Delete the selected Presentation - - Preview - Voorskou - - - + Preview the selected Presentation - - Live - Regstreeks - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular Aanbieding - + Presentations name plural Aanbiedinge - + Presentations container title Aanbiedinge @@ -3656,105 +3674,100 @@ Die inhoud enkodering is nie UTF-8 nie. PresentationPlugin.MediaItem - + Select Presentation(s) Selekteer Aanbieding(e) - + Automatic Outomaties - + Present using: Bied aan met: - + File Exists Lêer Bestaan Reeds - + A presentation with that filename already exists. 'n Aanbieding met daardie lêernaam bestaan reeds. - + Unsupported File Lêer nie Ondersteun nie - + This type of presentation is not supported. Hierdie tipe aanbieding word nie ondersteun nie. - - You must select an item to delete. - 'n Item om uit te wis moet geselekteer word. - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Beskikbare Beheerders - - Advanced - Gevorderd - - - + Allow presentation application to be overriden Laat toe dat aanbieding program oorheers word - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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). - + Remote name singular - + Remotes name plural Afstandbehere - + Remote container title @@ -3842,7 +3855,7 @@ Die inhoud enkodering is nie UTF-8 nie. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Wis Lied Gebruik Data Uit @@ -3856,263 +3869,255 @@ Die inhoud enkodering is nie UTF-8 nie. Are you sure you want to delete selected Song Usage data? Wis regtig die geselekteerde Diens Gebruik data uit? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Diens Gebruik Ontrekking - + Select Date Range Selekteer Datum Grense - + to tot - + Report Location Rapporteer Ligging - + Output File Location Uitvoer Lêer Ligging - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Lied - + Import songs using the import wizard. Voer liedere in deur van die invoer helper gebruik te maak. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>Liedere Mini-program</strong><br/>Die liedere mini-program verskaf die vermoë om liedere te vertoon en te bestuur. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - Redigeer - - - + Edit the selected Song - - Delete - Wis uit - - - + Delete the selected Song - - Preview - Voorskou - - - + Preview the selected Song - - Live - Regstreeks - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Song name singular Lied - + Songs name plural Liedere - + Songs container title Liedere - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Outeur Onderhoud - + Display name: Vertoon naam: - + First name: Voornaam: - + Last name: Van: @@ -4122,12 +4127,12 @@ The encoding is responsible for the correct character representation. U moet die naam van die skrywer invul. - + You need to type in the last name of the author. U moet ten minste die skrywer se naam invoer. - + You have not set a display name for the author, combine the first and last names? 'n Vertoon naam vir die skrywer is nie opgestel nie. Kan die naam en van gekombineer word? @@ -4135,7 +4140,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4143,242 +4148,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Lied Redigeerder - + &Title: &Titel: - + Alt&ernate title: Alt&ernatiewe titel: - + &Lyrics: &Lirieke: - + &Verse order: &Vers orde: - - &Add - &Voeg by - - - - &Edit - R&edigeer - - - + Ed&it All Red&igeer Alles - - &Delete - &Wis Uit - - - + Title && Lyrics Titel && Lirieke - - Authors - Skrywers - - - + &Add to Song &Voeg by Lied - + &Remove Ve&rwyder - + &Manage Authors, Topics, Song Books &Bestuur Skrywers, Onderwerpe en Lied Boeke - - Topic - Onderwerp - - - + A&dd to Song Voeg by Lie&d - + R&emove V&erwyder - - Song Book - Lied Boek - - - + Book: Boek: - + Number: Nommer: - + Authors, Topics && Song Book Skrywers, Onderwerpe && Lied Boek - - Theme - Tema - - - + New &Theme Nuwe &Tema - + Copyright Information Kopiereg Informasie - - © - © - - - - CCLI number: - CCLI nommer: - - - + Comments Kommentaar - + Theme, Copyright Info && Comments Tema, Kopiereg Informasie && Kommentaar - - Save && Preview - Stoor && Voorskou - - - + Add Author Voeg Skrywer By - + This author does not exist, do you want to add them? Hierdie skrywer bestaan nie, moet die skrywer bygevoeg word? - + This author is already in the list. Hierdie skrywer is alreeds in die lys. - - No Author Selected - Geen Skrywer Geselekteer nie - - - + 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. 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. - + Add Topic Voeg Onderwerp by - + This topic does not exist, do you want to add it? Die onderwerp bestaan nie. Voeg dit by? - + This topic is already in the list. Die onderwerp is reeds in die lys. - - No Topic Selected - Geen Onderwep Geselekteer nie - - - + 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. 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. - + You need to type in a song title. Tik 'n lied titel in. - + You need to type in at least one verse. Ten minste een vers moet ingevoer word. - + Warning Waarskuwing - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. Die vers orde is ongeldig. Daar is geen vers wat ooreenstem met %s nie. Geldige opsies is %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? In die vers orde is %s nie gebruik nie. Kan die lied so gestoor word? - + Add Book Voeg Boek by - + This song book does not exist, do you want to add it? Die lied boek bestaan nie. Voeg dit by? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4386,290 +4331,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Redigeer Vers - + &Verse type: &Vers tipe: - + &Insert Sit Tussen-&in + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - Geen OpenLP 2.0 Lied Databasis Geselekteer nie - - - - You need to select an OpenLP 2.0 song database file to import from. - 'n OpenLP 2.0 lied databasis moet geselekteer word om vanaf in te voer. - - - - No openlp.org 1.x Song Database Selected - Geen OpenLP 1.x Lied Databasis Geselekteer nie - - - - You need to select an openlp.org 1.x song database file to import from. - 'n OpenLP 1.x lied databasis moet geselekteer word om vanaf in te voer. - - - - No OpenSong Files Selected - Geen OpenSong Lêer Geselekteer nie - - - - You need to add at least one OpenSong song file to import from. - Ten minste een OpenSong lêer moet bygevoeg word om vanaf in te voer. - - - - No Words of Worship Files Selected - Geen Words of Worship Lêer Geselekteer nie - - - - You need to add at least one Words of Worship file to import from. - Ten minste een Words of Worship lêer moet bygevoeg word om vanaf in te voer. - - - - No CCLI Files Selected - Geen CCLI Lêer Geselekteer nie - - - - You need to add at least one CCLI file to import from. - Ten minste een CCLI lêer moet bygevoeg word om vanaf in te voer. - - - - No Songs of Fellowship File Selected - Geen Songs of Fellowship Lêer Geselekteer nie - - - - You need to add at least one Songs of Fellowship file to import from. - Ten minste een Songs of Fellowship lêer moet bygevoeg word om vanaf in te voer. - - - - No Document/Presentation Selected - Geen Dokument/Aanbieding Geselekteer nie - - - - You need to add at least one document or presentation file to import from. - Ten minste een dokument of aanbieding moet bygevoeg word om vanaf in te voer. - - - - Select OpenLP 2.0 Database File - Selekteer OpenLP 2.0 Databasis Lêer - - - - Select openlp.org 1.x Database File - Selekteer openlp.org 1.x Databasis Lêer - - - - Select Open Song Files - Selekteer Open Song Lêers - - - - Select Words of Worship Files - Selekteer Words of Worship Lêers - - - - Select CCLI Files - Selekteer CCLI Lêers - - - - Select Songs of Fellowship Files - Selekteer Songs of Fellowship Lêers - - - + Select Document/Presentation Files Selekteer Dokument/Aanbieding Lêers - - Starting import... - Invoer begin... - - - + Song Import Wizard Lied Invoer Gids - - Welcome to the Song Import Wizard - Welkom by die Lied Invoer Gids - - - + 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. 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. - - Select Import Source - Selekteer Invoer Bron - - - - Select the import format, and where to import from. - Selekteer die invoer formaat en van waar af om in te voer. - - - - Format: - Formaat: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - - Words of Worship - Words of Worship - - - - CCLI/SongSelect - CCLI/SongSelect - - - - Songs of Fellowship - Songs of Fellowship - - - + Generic Document/Presentation Generiese Dokumentasie/Aanbieding - + Filename: Lêernaam: - - Browse... - Deursoek... - - - - 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. - 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. - - - + Add Files... Voeg Lêers by... - + Remove File(s) Verwyder Lêer(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Die Songs of Fellowship invoerder is onaktief gestel omdat OpenLP nie OpenOffice.org op die rekenaar kon vind nie. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Die generiese dokument/aanbieding invoerder is onaktief gestel omdat OpenLP nie OpenOffice.org op die rekenaar kon vind nie. - - Importing - Invoer - - - + Please wait while your songs are imported. Wag asseblief terwyl die liedere ingevoer word. - - Ready. - Gereed. - - - - %p% - %p% - - - - Importing "%s"... - "%s" ingevoer... - - - - Importing %s... - %s ingevoer... - - - - No EasyWorship Song Database Selected - Geen EasyWorship Lied Databasis Geselekteer nie - - - - You need to select an EasyWorship song database file to import from. - 'n EasyWorship lied databasis om vanaf in te voer moet geselekteer word. - - - - Select EasyWorship Database File - Selekteer EasyWorship Databasis Lêer - - - - EasyWorship - EasyWorship - - - + 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. 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. @@ -4679,88 +4492,43 @@ The encoding is responsible for the correct character representation. Toegedien deur %s - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - Alle Lêers - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4768,116 +4536,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Lied Onderhoud - - - Maintain the lists of authors, topics and books Handhaaf die lys van skrywers, onderwerpe en boeke - - Search: - Soek: - - - - Search - Soek - - - + Titles Titels - + Lyrics Lirieke - - Authors - Skrywers - - - - You must select an item to edit. - Selekteer 'n item om te regideer. - - - - You must select an item to delete. - Selekteer 'n item om uit te wis. - - - + Delete Song(s)? Wis Lied(ere) uit? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - Temas - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - %s ingevoer... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - %s ingevoer... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance Lied Boek Onderhoud - + &Name: &Naam: - + &Publisher: &Uitgewer: @@ -4887,33 +4612,31 @@ The encoding is responsible for the correct character representation. 'n Naam vir die boek moet ingevoer word. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright kopiereg - - - © - © - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Invoer voltooi. - - - + Your song import failed. Lied invoer het misluk. @@ -4921,157 +4644,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Lied Onderhoud - - - - Authors - Skrywers - - - - Topics - Onderwerpe - - - - Song Books - Lied Boeke - - - - &Add - &Voeg By - - - - &Edit - R&edigeer - - - - &Delete - &Wis Uit - - - + Could not add your author. Skrywer kon nie bygevoeg word nie. - + This author already exists. Die skrywer bestaan reeds. - + Could not add your topic. Onderwerp kon nie bygevoeg word nie. - + This topic already exists. Hierdie onderwerp bestaan reeds. - + Could not add your book. Boek kon nie bygevoeg word nie. - + This book already exists. Hierdie boek bestaan reeds. - + Could not save your changes. Veranderinge kon nie gestoor word nie. - + Could not save your modified topic, because it already exists. Geredigeerde onderwerp kon nie gestoor word nie, want dit bestaan alreeds. - + Delete Author Wis Skrywer Uit - + Are you sure you want to delete the selected author? Wis die geselekteerde skrywer uit? - + This author cannot be deleted, they are currently assigned to at least one song. Die skrywer kan nie uitgewis word nie, omdat die skrywer aan ten minste een lied toegeken is. - - No author selected! - Geen skrywer geselekteer nie! - - - + Delete Topic Wis Onderwerp Uit - + Are you sure you want to delete the selected topic? Wis die geselekteerde onderwerp uit? - + This topic cannot be deleted, it is currently assigned to at least one song. Die onderwerp kan nie uitgewis word nie, omdat dit aan ten minste een lied toegeken is. - - No topic selected! - Geen onderwerp geselekteer nie! - - - + Delete Book Wis Boek Uit - + Are you sure you want to delete the selected book? Wis die geselekteerde boek uit? - + This book cannot be deleted, it is currently assigned to at least one song. Die boek kan nie uitgewis word nie, omdat dit aan ten minste een lied toegeken is. - - No book selected! - Geen boek geselekteer nie! - - - + Could not save your modified author, because the author already exists. Geredigeerde skrywer kon nie gestoor word nie, omdat die skrywer reeds bestaan. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5107,12 +4780,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Onderwerp Onderhoud - + Topic name: Onderwerp naam: @@ -5125,7 +4798,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Vers @@ -5135,37 +4808,29 @@ The encoding is responsible for the correct character representation. Koor - + Bridge Brug - + Pre-Chorus Voor-Refrein - + Intro Inleiding - + Ending Slot - + Other Ander - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found Kein Parameter gefunden - + You have not entered a parameter to be replaced. Do you want to continue anyway? Sie haben keinen Parameter angegeben, der ersetzt werden könnte. Möchten Sie trotzdem fortfahren? - + No Placeholder found Kein Platzhalter gefunden - + The alert text does not contain '<>'. Do want to continue anyway? Der Hinweistext enthält kein '<>'. @@ -30,34 +30,34 @@ Möchten Sie trotzdem fortfahren? AlertsPlugin - + &Alert &Hinweis - + Show an alert message. Hinweis anzeigen. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Hinweis Erweiterung</strong><br />Die Erweiterung Hinweis ermöglicht es, Texte auf der Anzeige einzublenden. - + Alert name singular Hinweis - + Alerts name plural Hinweise - + Alerts container title Hinweise @@ -66,30 +66,25 @@ Möchten Sie trotzdem fortfahren? AlertsPlugin.AlertForm - + Alert Message Hinweis - + Alert &text: Hinweis&text: - + &New &Neu - + &Save &Speichern - - - &Delete - &Löschen - Displ&ay @@ -101,17 +96,17 @@ Möchten Sie trotzdem fortfahren? An&zeigen && Schließen - + New Alert Neuer Hinweis - + You haven't specified any text for your alert. Please type in some text before clicking New. Der Hinweis enthält noch keinen Text. Bitte geben Sie einen Text an, bevor Sie auf Neu klicken. - + &Parameter: &Parameter: @@ -127,260 +122,214 @@ Möchten Sie trotzdem fortfahren? AlertsPlugin.AlertsTab - + Font Schrift - - pt - pt - - - + Alert timeout: Anzeigedauer: - - s - s - - - - Location: - Ort: - - - - Preview - Vorschau - - - - Top - oben - - - - Bottom - unten - - - + Font name: Schriftart: - + Font color: Schriftfarbe: - + Background color: Hintergrundfarbe: - + Font size: Schriftgröße: + + + BibleDB.Wizard - - OpenLP 2.0 - OpenLP 2.0 + + Importing testaments... %s + - - Middle - mittig + + Importing testaments... done. + + + + + Importing books... %s + + + + + Importing verses from %s... + Importing verses from <book name>... + + + + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error Download Fehler - + Parse Error Formatfehler - + 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. - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. - + Beim Auslesen des Bibeltextes ist ein Fehler aufgetreten. Sollte dieser Fehler wiederholt auftreten, so wenden Sie sich bitte an den OpenLP Support. BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? 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? - + Bible not fully loaded - + Die Bibelübersetzung ist unvollständig. BiblesPlugin - + &Bible &Bibel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Bibelmodul</strong><br />Das Bibelmodul ermöglicht es Bibelverse aus verschiedenen Quellen anzuzeigen. - + Import a Bible Eine Bibel importieren - - Add a new Bible - Einen neuen Bibeltext hinzufügen - - - - Edit the selected Bible - Den ausgewählten Bibeltext bearbeiten - - - - Delete the selected Bible - Den ausgewählten Bibeltext entfernen - - - - Preview - Vorschau - - - - Preview the selected Bible - Den ausgewählten Bibeltext in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Bible live - Den ausgewählten Bibeltext Live zeigen - - - - Service - Ablauf - - - - Add the selected Bible to the service - Den augewählten Bibeltext zum Ablauf hinzufügen - - - + Bible name singular Bibeltext - + Bibles name plural Bibeln - + Bibles container title Bibeln - - &Import - &Importieren - - - - &Add - &Hinzufügen - - - - &Edit - &Bearbeiten - - - - &Delete - &Löschen - - - + No Book Found Kein Buch gefunden - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. Es konnte kein passendes Buch gefunden werden. Überprüfen Sie bitte die Schreibweise. + + + Add a new Bible + Füge eine neue Bibel hinzu + + + + Edit the selected Bible + Bearbeite die ausgewählte Bibel + + + + Delete the selected Bible + Lösche die ausgewählte Bibel + + + + Preview the selected Bible + + + + + Send the selected Bible live + + + + + Add the selected Bible to the service + + BiblesPlugin.BibleManager - + Scripture Reference Error Fehler im Textverweis - + Web Bible cannot be used Für Onlinebibeln nicht verfügbar - + Text Search is not available with Web Bibles. In Onlinebibeln ist Textsuche nicht möglich. - + 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. 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. - + No Bibles available Keine Übersetzung verfügbar - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. Zur Zeit sind keine Bibelübersetzungen installiert. Zur Suche muss eine solche mit dem Importassistent importiert werden. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Bibelstellenanzeige - + Only show new chapter numbers Nur neue Kapitelnummern anzeigen - + Layout style: Seitenformat: - + Display style: Versangabenformat: - + Bible theme: Bibel-Design: - + Verse Per Slide Verse pro Seite - + Verse Per Line Verse pro Zeile - + Continuous Fortlaufend - + No Brackets Keine Klammern - + ( And ) ( und ) - + { And } { und } - + [ And ] [ und ] - + Note: Changes do not affect verses already in the service. Anmerkung: Änderungen beeinflussen keine Verse, welche bereits im Veranstaltungplan sind. - + Display second Bible verses Vergleichsbibel anzeigen - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - %s %s wird importiert... - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bibel Importassistent - - Welcome to the Bible Import Wizard - Willkommen beim Bibel Importassistenten - - - + 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. Dieser Assistent hilft Ihnen Bibeln aus verschiedenen Formaten zu importieren. Um den Assistenten zu starten klicken Sie auf »Weiter«. - - Select Import Source - Importquelle auswählen - - - - Select the import format, and where to import from. - Auswahl des Importformates und der Quelle. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Onlinebibel - + Location: Quelle: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Übersetzung: - + Download Options Download Optionen - + Server: Server: - + Username: Benutzername: - + Password: Passwort: - + Proxy Server (Optional) Proxy-Server (optional) - + License Details Lizenzdetails - + Set up the Bible's license details. Eingabe der Urheberrechtsangaben der Bibelübersetzung. - + Copyright: Copyright: - - Importing - Importieren - - - + Please wait while your Bible is imported. Bitte warten Sie während Ihre Bibel importiert wird. - - Ready. - Fertig. - - - - Invalid Bible Location - Ungültige Pfadangabe - - - - You need to specify a file to import your Bible from. - Eine Datei, die Ihre Bibel enthält, muss zum Import angegeben werden. - - - - Invalid Books File - Ungültige Bücherdatei - - - + You need to specify a file with books of the Bible to use in the import. Eine Buchinformations-Datei muss zum Import angegeben werden. - - Invalid Verse File - Ungültige Versdatei - - - + You need to specify a file of Bible verses to import. Eine Bibeltext-Datei muss zum Import angegeben werden. - - Invalid OpenSong Bible - Ungültige OpenSong-Bibel - - - - You need to specify an OpenSong Bible file to import. - Eine OpenSong Bibel-Datei muss angegeben werden. - - - - Empty Version Name - Leerer Übersetzungsname - - - + You need to specify a version name for your Bible. Bitte geben Sie den Namen der Bibelübersetzung ein. - - Empty Copyright - Fehlendes Copyright - - - + Bible Exists Übersetzung bereits vorhanden - - Open OSIS File - OSIS Bibel öffnen - - - - Open Books CSV File - CSV Bücherdatei öffnen - - - - Open Verses CSV File - CSV Bibeltext öffnen - - - - Open OpenSong Bible - OpenSong-Bibel öffnen - - - - Starting import... - Import startet... - - - - Finished import. - Importvorgang abgeschlossen. - - - + Your Bible import failed. Der Bibelimport ist fehlgeschlagen. - - File location: - Bibeldatei: - - - - Books location: - Bücherdatei: - - - - Verse location: - Bibeltext: - - - - Bible filename: - Bibeldatei: - - - + Version name: Bibelausgabe: - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Das Copyright muss angegeben werden. Gemeinfreie Bibeln ohne Copyright sind als solche zu kennzeichnen. - + This Bible already exists. Please import a different Bible or first delete the existing one. Diese Bibel existiert bereit. Bitte geben Sie einen anderen Übersetzungsnamen an oder löschen Sie zuerst die Existierende. - - Open openlp.org 1.x Bible - openlp.org 1.x Bibeldatei öffnen - - - + Starting Registering bible... Starte Erfassung der Bibel... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Erfassung abgeschlossen. @@ -751,141 +551,123 @@ Bitte beachten Sie, dass Bibeltexte bei Bedarf heruntergeladen werden. Daher ist eine Verbindung zum Internet erforderlich. - - openlp.org 1.x - openlp.org 1.x - - - + Permissions: Genehmigung: - + CSV File CSV Datei - + openlp.org 1.x bible openlp.org 1.x Bibel - - All Files - Alle Dateien - - - + Bibleserver Bibleserver.com - - 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. - 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. + + Bible file: + Bibeldatei: + + + + Testaments file: + Testamentdatei: + + + + Books file: + Bücherdatei: + + + + Verses file: + Versedatei: + + + + You have not specified a testaments file. Do you want to proceed with the import? + BiblesPlugin.MediaItem - + Quick Schnellsuche - - Advanced - Erweitert - - - - Version: - Übersetzung: - - - + Find: Bibelstelle: - - Search - Suchen - - - + Results: Ergebnisse: - + Book: Buch: - + Chapter: Kapitel: - + Verse: Vers: - + From: Von: - + To: Bis: - - Verse Search - Stellenangabe - - - + Text Search Textsuche - + Clear ersetzen - + Keep ergänzen - - Search type: - Art der Suche: - - - + Second: Vergleichstext: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - %s wird importiert... + + Scripture Reference + Bibelstelle BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... %s %s wird importiert... @@ -894,12 +676,12 @@ Daher ist eine Verbindung zum Internet erforderlich. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... Kodierung wird ermittelt (dies kann etwas dauern)... - + Importing %s %s... Importing <book name> <chapter>... %s %s wird importiert... @@ -908,7 +690,7 @@ Daher ist eine Verbindung zum Internet erforderlich. CustomPlugin - + <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. <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. @@ -929,382 +711,232 @@ Daher ist eine Verbindung zum Internet erforderlich. CustomPlugin.EditCustomForm - + Edit Custom Slides Sonderfolien bearbeiten - + &Title: &Titel: - + Split Slide Folie teilen - + The&me: Desig&n: - + &Credits: A&utoren: - - Save && Preview - Speichern && Vorschau - - - - Move slide down one position. - Folie um eine Position nach unten verschieben - - - + Add a new slide at bottom. Neue Folie am Ende einfügen - + Edit the selected slide. Ausgewählte Folie bearbeiten - + Edit all the slides at once. Alle Folien bearbeiten - - Delete the selected slide. - Ausgewählte Folie löschen - - - + Split a slide into two by inserting a slide splitter. Einen Seitenumbruch einfügen - + You need to type in a title. Bitte geben Sie einen Titel ein. - + You need to add at least one slide Es muss mindestens eine Folie erstellt werden. - - Move slide up one position. - Die Folie um eine Position nach oben verschieben. - - - - &Add - &Hinzufügen - - - - &Edit - &Bearbeiten - - - + Ed&it All &Alles bearbeiten - - - &Delete - &Löschen - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Sie haben nichts zum Bearbeiten ausgewählt. - - - - You haven't selected an item to delete. - Sie haben nichts zum Löschen ausgewählt. - CustomsPlugin - - Import - Import - - - + Import a Custom Sonderfolien importieren - - Load - Öffnen - - - - Load a new Custom - Sonderfolien öffnen - - - - Add - Hinzufügen - - - - Add a new Custom - Sonderfolien hinzufügen - - - - Edit - Bearbeiten - - - - Edit the selected Custom - Die ausgewählten Sonderfolien bearbeiten - - - - Delete - Entfernen - - - - Delete the selected Custom - Die ausgewählten Sonderfolien entfernen - - - - Preview - Vorschau - - - - Preview the selected Custom - Die ausgewählten Sonderfolien in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Custom live - Die ausgewählten Sonderfolien live zeigen - - - - Service - Ablauf - - - - Add the selected Custom to the service - Die augewählten Sonderfolien zum Ablauf hinzufügen - - - + Custom name singular Sonderfolien - + Customs name plural Sonderfolien - + Custom container title Sonderfolien + + + Load a new Custom + + + + + Add a new Custom + Erstelle eine neue Sonderfolie + + + + Edit the selected Custom + Bearbeite die ausgewählte Sonderfolie + + + + Delete the selected Custom + Lösche die ausgewählte Sonderfolie + + + + Preview the selected Custom + + + + + Send the selected Custom live + + + + + Add the selected Custom to the service + + ImagePlugin - + <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. <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. - - Load - Öffnen - - - - Load a new Image - Bilder öffnen - - - - Add - Hinzufügen - - - - Add a new Image - Bilder hinzufügen - - - - Edit - Bearbeiten - - - - Edit the selected Image - Bilder bearbeiten - - - - Delete - Entfernen - - - - Delete the selected Image - Die ausgewählten Bilder entfernen - - - - Preview - Vorschau - - - - Preview the selected Image - Die ausgewählten Bilder in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Image live - Die ausgewählten Bilder Live zeigen - - - - Service - Ablauf - - - - Add the selected Image to the service - Die augewählten Bilder zum Ablauf hinzufügen - - - + Image name singular Bild - + Images name plural Bilder - + Images container title Bilder + + + Load a new Image + + + + + Add a new Image + Füge eine neues Bild hinzu + + + + Edit the selected Image + Bearbeite das ausgewählte Bild + + + + Delete the selected Image + Lösche da ausgewählte Bild + + + + Preview the selected Image + + + + + Send the selected Image live + + + + + Add the selected Image to the service + + + + + ImagePlugin.ExceptionDialog + + + Select Attachment + Anhang auswählen + ImagePlugin.MediaItem - + Select Image(s) Bilder auswählen - - All Files - Alle Dateien - - - - Replace Live Background - Live-Hintergrund ersetzen - - - - Image(s) - Bild(er) - - - - Replace Background - Hintergrund ersetzen - - - + You must select an image to delete. Das Bild, das entfernt werden soll, muss ausgewählt sein. - + You must select an image to replace the background with. Das Bild, das Sie als Hintergrund setzen möchten, muss ausgewählt sein. - - Reset Live Background - Den Live-Hintergrund zurücksetzen - - - - Reset Background - Hintergrund zurücksetzen - - - + Missing Image(s) Fehlende Bilder - + The following image(s) no longer exist: %s Auf die folgenden Bilder kann nicht mehr zugegriffen werden: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? Auf die folgenden Bilder kann nicht mehr zugegriffen werden: %s. Wollen Sie die anderen Bilder trotzdem hinzufügen? - - Live Background Error - Fehlendes Bild - - - + There was a problem replacing your background, the image file "%s" no longer exists. Da auf das Bild »%s« nicht mehr zugegriffen werden kann, konnte es nicht als Hintergrund gesetzt werden. @@ -1312,176 +944,111 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Erweiterung Medien</strong><br />Die Erweiterung Medien ermöglicht es Audio- und Videodateien abzuspielen. - - Load - Öffnen - - - - Load a new Media - Mediendatei öffnen - - - - Add - Hinzufügen - - - - Add a new Media - Mediendatei hinzufügen - - - - Edit - Bearbeiten - - - - Edit the selected Media - Die ausgewählte Mediendatei bearbeiten - - - - Delete - Entfernen - - - - Delete the selected Media - Die ausgewählte Mediendatei entfernen - - - - Preview - Vorschau - - - - Preview the selected Media - Die ausgewählte Mediendatei in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Media live - Die ausgewählte Mediendatei live zeigen - - - - Service - Ablauf - - - - Add the selected Media to the service - Die augewählte Mediendatei zum Ablauf hinzufügen - - - + Media name singular Medien - + Media name plural Medien - + Media container title Medien + + + Load a new Media + + + + + Add a new Media + + + + + Edit the selected Media + + + + + Delete the selected Media + + + + + Preview the selected Media + + + + + Send the selected Media live + + + + + Add the selected Media to the service + + MediaPlugin.MediaItem - - Media - Mediendatei - - - + Select Media Mediendatei auswählen - - Replace Live Background - Live-Hintergrund ersetzen - - - - Replace Background - Hintergrund ersetzen - - - + You must select a media file to delete. Das Video, das entfernt werden soll, muss ausgewählt sein. - - Videos (%s);;Audio (%s);;All files (*) - Videos (%s);;Audio (%s);Alle Dateien (*) - - - + Missing Media File Fehlende Mediendatei - + The file %s no longer exists. Die Mediendatei »%s« existiert nicht mehr. - - - Reset Background - Hintergrund zurücksetzen - You must select a media file to replace the background with. Das Video, das Sie als Hintergrund setzen möchten, muss ausgewählt sein. - - - Live Background Error - Fehlende Mediendatei - There was a problem replacing your background, the media file "%s" no longer exists. Da auf die Mediendatei »%s« nicht mehr zugegriffen werden kann, konnte sie nicht als Hintergrund gesetzt werden. + + + Videos (%s);;Audio (%s);;%s (*) + Video (%s);;Audio (%s);;%s (*) + MediaPlugin.MediaTab - Media - Medien - - - Media Display Medienanzeige - + Use Phonon for video playback Videos über Phonon abspielen @@ -1489,18 +1056,13 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen? OpenLP - + Image Files Bilddateien OpenLP.AboutForm - - - About OpenLP - Über OpenLP - 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. - - About - Über - - - + Credits Danksagungen @@ -1544,7 +1101,7 @@ OpenLP wird von freiwiligen Helfern programmiert und gewartet. Wenn Sie sich meh build %s - + Project Lead Raoul "superfly" Snyman @@ -1648,9 +1205,11 @@ Schlusswort weil er uns befreit hat. - + 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. - 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 + OpenLP.AdvancedTab - - Advanced - Erweitert - - - + UI Settings Benutzeroberfläche - + Number of recent files to display: Listeneinträge zuletzt geöffneter Abläufe: - + Remember active media manager tab on startup Aktiven Reiter der Medienverwaltung speichern - + Double-click to send items straight to live Objekte bei Doppelklick live anzeigen - + Expand new service items on creation Neue Ablaufelemente bei ausklappen - + Enable application exit confirmation - Verlassen von OpenLP bestätigen + Aktiviere Bestätigung beim Schließen - + Mouse Cursor + Mauszeiger + + + + Hide mouse cursor when over display window - - Hide the mouse cursor when moved over the display window + + Default Image + + + Background color: + Hintergrundfarbe: + + + + Image file: + + + + + Open File + Ablauf öffnen + + + + OpenLP.DisplayTagDialog + + + Edit Selection + Auswahl bearbeiten + + + + Update + Aktualisieren + + + + Description + Beschreibung + + + + Tag + Tag + + + + Start tag + Anfangs Tag + + + + End tag + End Tag + + + + Default + Standard + + + + Tag id + Tag ID + + + + Start Html + Anfangs HTML + + + + End Html + End HTML + OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Aktualisierungsfehler - + Tag "n" already defined. - + Tag "n" bereits definiert. - + Tag %s already defined. - + Tag %s bereits definiert. OpenLP.ExceptionDialog - + 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. 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. - + Error Occurred Fehler aufgetreten - + Send E-Mail E-Mail senden - + Save to File In Datei speichern + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s Plattform: %s - + + Save Crash Report + Fehlerprotokoll speichern + + + + Text files (*.txt *.log *.text) + Textdateien (*.txt *.log *.text) + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s - **OpenLP Fehlerbericht** -Version: %s - ---- Ausnahmenrückverfolgung --- -%s ---- Systeminformation --- -%s ---- Bibliotheksversionen --- -%s - + - - Save Crash Report - Fehlerprotokoll speichern - - - - Text files (*.txt *.log *.text) - Textdateien (*.txt *.log *.text) - - - + *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 Please add the information that bug reports are favoured written in English. - *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 - + OpenLP.FileRenameForm - + File Rename Datei umbenennen - + New File Name: Neuer Dateiname: - + File Copy Datei kopieren @@ -2122,130 +1594,130 @@ Version: %s OpenLP.GeneralTab - + General Allgemein - + Monitors Bildschirme - + Select monitor for output display: Projektionsbildschirm: - + Display if a single screen Anzeige bei nur einem Bildschirm - + Application Startup Programmstart - + Show blank screen warning Warnung wenn Projektion deaktiviert wurde - + Automatically open the last service Zuletzt benutzten Ablauf beim Start laden - + Show the splash screen Zeige den Startbildschirm - + Application Settings Anwendungseinstellungen - + Prompt to save before starting a new service Geänderte Abläufe nicht ungefragt ersetzen - + Automatically preview next item in service Vorschau des nächsten Ablaufelements - + Slide loop delay: Schleifenverzögerung: - + sec sek - + CCLI Details CCLI-Details - - CCLI number: - CCLI Nummer: - - - + SongSelect username: SongSelect Benutzername: - + SongSelect password: SongSelect Passwort: - + Display Position Anzeigeposition - + X X - + Y Y - + Height Höhe - + Width Breite - + Override display position Anzeigeposition überschreiben - + Screen Bildschirm - + primary Hauptbildschirm + + + Check for updates to OpenLP + Prüfe nach Aktualisierungen + OpenLP.LanguageManager @@ -2263,7 +1735,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display OpenLP Anzeige @@ -2271,407 +1743,372 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Datei - + &Import &Importieren - + &Export &Exportieren - + &View &Ansicht - + M&ode An&sichtsmodus - + &Tools E&xtras - + &Settings &Einstellungen - + &Language &Sprache - + &Help &Hilfe - + Media Manager Medienverwaltung - + Service Manager Ablaufverwaltung - + Theme Manager Designverwaltung - + &New &Neu - - New Service - Einen neuen Ablauf erstellen - - - - Create a new service. - Einen neuen Ablauf erstellen. - - - + Ctrl+N Strg+N - + &Open Ö&ffnen - - Open Service - Einen vorhandenen Ablauf öffnen - - - + Open an existing service. Einen vorhandenen Ablauf öffnen. - + Ctrl+O Strg+O - + &Save &Speichern - - Save Service - Den aktuellen Ablauf speichern - - - + Save the current service to disk. Den aktuellen Ablauf speichern. - + Ctrl+S Strg+S - + Save &As... Speichern &unter... - + Save Service As Den aktuellen Ablauf unter einem neuen Namen speichern - + Save the current service under a new name. Den aktuellen Ablauf unter einem neuen Namen speichern. - + Ctrl+Shift+S Strg+Umschalt+S - + E&xit &Beenden - + Quit OpenLP OpenLP beenden - + Alt+F4 Alt+F4 - + &Theme &Design - + &Configure OpenLP... &Einstellungen... - + &Media Manager &Medienverwaltung - + Toggle Media Manager Die Medienverwaltung ein- bzw. ausblenden - + Toggle the visibility of the media manager. Die Medienverwaltung ein- bzw. ausblenden. - + F8 F8 - + &Theme Manager &Designverwaltung - + Toggle Theme Manager Die Designverwaltung ein- bzw. ausblenden - + Toggle the visibility of the theme manager. Die Designverwaltung ein- bzw. ausblenden. - + F10 F10 - + &Service Manager &Ablaufverwaltung - + Toggle Service Manager Die Ablaufverwaltung ein- bzw. ausblenden - + Toggle the visibility of the service manager. Die Ablaufverwaltung ein- bzw. ausblenden. - + F9 F9 - + &Preview Panel - &Vorschau + &Vorschau Ansicht - + Toggle Preview Panel Die Vorschau ein- bzw. ausblenden - + Toggle the visibility of the preview panel. Die Vorschau ein- bzw. ausschalten. - + F11 F11 - + &Live Panel &Live Ansicht - + Toggle Live Panel Die Live Ansicht ein- bzw. ausschalten - + Toggle the visibility of the live panel. Die Live Ansicht ein- bzw. ausschalten. - + F12 F12 - + &Plugin List Er&weiterungen... - + List the Plugins Erweiterungen verwalten - + Alt+F7 Alt+F7 - + &User Guide Benutzer&handbuch - + &About &Info über OpenLP - + More information about OpenLP Mehr Informationen über OpenLP - + Ctrl+F1 Strg+F1 - + &Online Help &Online Hilfe - + &Web Site &Webseite - + &Auto Detect &Automatische Auswahl - + Use the system language, if available. Die Systemsprache, sofern diese verfügbar ist, verwenden. - + Set the interface language to %s Die Sprache von OpenLP auf %s stellen - + Add &Tool... Hilfsprogramm hin&zufügen... - + Add an application to the list of tools. Eine Anwendung zur Liste der Hilfsprogramme hinzufügen. - + &Default &Standard - + Set the view mode back to the default. Den Ansichtsmodus auf Standardeinstellung setzen. - + &Setup &Einrichten - + Set the view mode to Setup. Die Ansicht für die Ablauferstellung optimieren. - + &Live &Live - + Set the view mode to Live. Die Ansicht für den Live-Betrieb optimieren. - + OpenLP Version Updated Neue OpenLP Version verfügbar - + OpenLP Main Display Blanked Hauptbildschirm abgedunkelt - + The Main Display has been blanked out Die Projektion ist momentan nicht aktiv. - - Save Changes to Service? - Änderungen am Ablauf speichern? - - - - Your service has changed. Do you want to save those changes? - Der Ablauf wurde geändert. Wollen Sie diese Änderungen speichern? - - - + Default Theme: %s Standarddesign: %s - + 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/. @@ -2686,75 +2123,85 @@ Sie können die letzte Version auf http://openlp.org abrufen. Deutsch - + Configure &Shortcuts... &Tastenkürzel einrichten... - + Close OpenLP OpenLP beenden - + Are you sure you want to close OpenLP? Sind Sie sicher, dass OpenLP beendet werden soll? + + + Print the current Service Order. + Drucke den aktuellen Ablauf. + + + + Ctrl+P + Strg+P + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected Keine Elemente ausgewählt. - + &Add to selected Service Item Zum &gewählten Ablaufelement hinzufügen - + You must select one or more items to preview. Zur Vorschau muss mindestens ein Elemente auswählt sein. - + You must select one or more items to send live. Zur Live Anzeige muss mindestens ein Element ausgewählt sein. - + You must select one or more items. Es muss mindestens ein Element ausgewählt sein. - - No items selected - Kein Element ausgewählt - - - - You must select one or more items - Sie müssen mindestens ein Element markieren. - - - - No Service Item Selected - Kein Ablaufelement ausgewählt - - - + You must select an existing service item to add to. Sie müssen ein vorhandenes Ablaufelement auswählen. - + Invalid Service Item Ungültiges Ablaufelement - + You must select a %s service item. Sie müssen ein %s-Element im Ablaufs wählen. @@ -2762,25 +2209,15 @@ Sie können die letzte Version auf http://openlp.org abrufen. OpenLP.PluginForm - + Plugin List Erweiterungen - + Plugin Details Erweiterungsdetails - - - Version: - Version: - - - - About: - Über: - Status: @@ -2797,238 +2234,319 @@ Sie können die letzte Version auf http://openlp.org abrufen. inaktiv - + %s (Inactive) %s (inaktiv) - + %s (Active) %s (aktiv) - + %s (Disabled) %s (deaktiviert) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Aufnahme Ablaufelement + + Fit Page + - - Delete - Löschen + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + Drucke Folientext wenn verfügbar + + + + Include service item notes + Drucke Element Notizen + + + + Include play length of media items + Drucke Spiellänge von Medien Elementen + + + + Service Order Sheet + Ablauf + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Aufnahme Ablaufelement OpenLP.ServiceManager - - New Service - Neuer Ablauf - - - - Create a new service - Einen neuen Ablauf erstellen - - - - Open Service - Ablauf öffnen - - - + Load an existing service Einen bestehenden Ablauf öffnen - - Save Service - Ablauf speichern - - - + Save this service Dan aktuellen Ablauf speichern - - Theme: - Design: - - - + Select a theme for the service Design für den Ablauf auswählen - + Move to &top Zum &Anfang schieben - + Move item to the top of the service. Das ausgewählte Element an den Anfang des Ablaufs verschieben. - + Move &up Nach &oben schieben - + Move item up one position in the service. Das ausgewählte Element um eine Position im Ablauf nach oben verschieben. - + Move &down Nach &unten schieben - + Move item down one position in the service. Das ausgewählte Element um eine Position im Ablauf nach unten verschieben. - + Move to &bottom Zum &Ende schieben - + Move item to the end of the service. Das ausgewählte Element an das Ende des Ablaufs verschieben. - + &Delete From Service Vom Ablauf &löschen - + Delete the selected item from the service. Das ausgewählte Element aus dem Ablaufs entfernen. - + &Add New Item &Neues Element hinzufügen - + &Add to Selected Item &Zum gewählten Element hinzufügen - + &Edit Item Element &bearbeiten - + &Reorder Item &Aufnahmeelement - + &Notes &Notizen - - &Preview Verse - Seite in der &Vorschau zeigen - - - - &Live Verse - Seite Live &zeigen - - - + &Change Item Theme &Design des Elements ändern - + File is not a valid service. The content encoding is not UTF-8. Die gewählte Datei ist keine gültige OpenLP Ablaufdatei. Der Inhalt ist nicht in UTF-8 kodiert. - + File is not a valid service. Die Datei ist keine gültige OpenLP Ablaufdatei. - + Missing Display Handler Fehlende Anzeigesteuerung - + Your item cannot be displayed as there is no handler to display it Dieses Element kann nicht angezeigt werden, da es keine Steuerung dafür gibt. - + Your item cannot be displayed as the plugin required to display it is missing or inactive Dieses Element kann nicht angezeigt werden, da die zugehörige Erweiterung fehlt oder inaktiv ist. - + &Expand all Alle au&sklappen - + Expand all the service items. Alle Ablaufelemente ausklappen. - + &Collapse all Alle ei&nklappen - + Collapse all the service items. Alle Ablaufelemente einklappen - - Save Changes - Änderungen speichern - - - - The current service has been modified, would you like to save it? - Der geöffnete Ablauf wurde geändert. Möchten Sie die Änderungen speichern? - - - + Open File Ablauf öffnen - + OpenLP Service Files (*.osz) OpenLP Ablaufdateien (*.osz) + + + Moves the selection up the window. + + + + + Move up + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Moves the selection down the window. + + + + + Modified Service + Modifizierter Ablauf + + + + Notes: + Notizen: + + + + The current service has been modified. Would you like to save this service? + Der momentane Ablauf wurde modifiziert. Möchten Sie ihn speichern? + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + OpenLP.ServiceNoteForm - + Service Item Notes Elementnotiz @@ -3036,7 +2554,7 @@ Der Inhalt ist nicht in UTF-8 kodiert. OpenLP.SettingsForm - + Configure OpenLP Konfiguriere OpenLP @@ -3059,17 +2577,17 @@ Der Inhalt ist nicht in UTF-8 kodiert. Tastenkürzel - + Default: %s Standard: %s - + Custom: Benutzerdefiniert: - + None Kein @@ -3083,137 +2601,180 @@ Der Inhalt ist nicht in UTF-8 kodiert. The shortcut "%s" is already assigned to another action, please use a different shortcut. Das Tastenkürzel »%s« ist bereitz einer anderen Aktion zugeordnet. Bitte wählen Sie ein anderes Tastenkürzel. + + + Alternate + Alternative + OpenLP.SlideController - - Live - Live - - - - Preview - Vorschau - - - + Move to previous Vorherige Seite anzeigen - + Move to next Nächste Seite anzeigen - + Hide Verbergen - + Move to live Zur Live Ansicht verschieben - + Start continuous loop Endlosschleife starten - + Stop continuous loop Endlosschleife stoppen - - s - s - - - + Delay between slides in seconds Pause zwischen den Folien in Sekunden - + Start playing media Abspielen - + Go To Gehe zu - + Edit and reload song preview Bearbeiten und Liedvorschau aktualisieren - + Blank Screen Anzeige abdunkeln - + Blank to Theme Design leeren - + Show Desktop Desktop anzeigen + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions Rechtschreibvorschläge - + Formatting Tags Formatkürzel - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - Alle Dateien + + Item Start Time + - + + Hours: + Stunden: + + + + h + h + + + + m + m + + + + Minutes: + Minuten: + + + + Seconds: + Sekunden: + + + + OpenLP.ThemeForm + + Select Image Bild auswählen - + Theme Name Missing Designname fehlt - + There is no name for this theme. Please enter one. Es wurde kein Designname angegeben. Bitte benennen Sie das Design. - + Theme Name Invalid Designname ungültig - + Invalid theme name. Please enter one. Der Designname ist ungültig. Bitte ändern Sie diesen. - + (%d lines per slide) (%d Zeilen pro Seite) @@ -3221,525 +2782,475 @@ Der Inhalt ist nicht in UTF-8 kodiert. OpenLP.ThemeManager - - New Theme - Neues Design - - - - Create a new theme. - Ein neues Design erstellen. - - - - Edit Theme - Design bearbeiten - - - + Edit a theme. Ein bestehendes Design bearbeiten. - - Delete Theme - Design löschen - - - + Delete a theme. Ein Design löschen. - - Import Theme - Design importieren - - - + Import a theme. Ein Design aus einer Datei importieren. - - Export Theme - Design exportieren - - - + Export a theme. Ein Design in eine Datei exportieren. - + &Edit Theme Design &bearbeiten - + &Delete Theme Design &löschen - + Set As &Global Default Als &globalen Standard setzen - + %s (default) %s (standard) - + You must select a theme to edit. Zum Bearbeiten muss ein Design ausgewählt sein. - + You are unable to delete the default theme. Es ist nicht möglich das Standarddesign zu entfernen. - + You have not selected a theme. Es ist kein Design ausgewählt. - + Save Theme - (%s) Speicherort für »%s« - + Theme Exported Design exportiert - + Your theme has been successfully exported. Das Design wurde erfolgreich exportiert. - + Theme Export Failed Designexport fehlgeschlagen - + Your theme could not be exported due to an error. Dieses Design konnte aufgrund eines Fehlers nicht exportiert werden. - + Select Theme Import File OpenLP Designdatei importieren - + File is not a valid theme. The content encoding is not UTF-8. Die Datei ist keine gültige OpenLP Designdatei. Sie ist nicht in UTF-8 kodiert. - + File is not a valid theme. Diese Datei ist keine gültige OpenLP Designdatei. - + Theme %s is used in the %s plugin. Das Design %s wird in der %s Erweiterung benutzt. - + &Copy Theme Design &kopieren - + &Rename Theme Design &umbenennen - + &Export Theme Design &exportieren - + You must select a theme to rename. Es ist kein Design zur Umbenennung ausgewählt. - + Rename Confirmation Umbenennung bestätigen - + Rename %s theme? Soll das Design »%s« wirklich umbenennt werden? - + You must select a theme to delete. Es ist kein Design zum Löschen ausgewählt. - + Delete Confirmation Löschbestätigung - + Delete %s theme? Sott das Design »%s« wirklich gelöscht werden? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error + + + + + A theme with this name already exists. + Ein Design mit diesem Namen existiert bereits. + + + + Create a new theme. - - A theme with this name already exists. + + Edit Theme + + + Delete Theme + + + + + Import Theme + + + + + Export Theme + + + + + OpenLP Themes (*.theme *.otz) + OpenLP Designs (*.theme *.otz) + OpenLP.ThemeWizard - + Theme Wizard Designassistent - + Welcome to the Theme Wizard Willkomen beim Designassistenten - + Set Up Background Hintergrund einrichten - + Set up your theme's background according to the parameters below. Der Designhintergrund wird anhand der Parameter unten eingerichtet. - + Background type: Hintergrundart: - + Solid Color Füllfarbe - + Gradient Farbverlauf - - Image - Bild - - - + Color: Farbe: - + Gradient: Verlauf: - + Horizontal horizontal - + Vertical vertikal - + Circular radial - + Top Left - Bottom Right diagonal abwärts - + Bottom Left - Top Right diagonal aufwärts - - Image: - Bild: - - - + Main Area Font Details Schriftschnitt und -farbe - + Define the font and display characteristics for the Display text Die Schrift und die Anzeigeeigenschaften für die Hauptanzeigefläche einrichten - + Font: Schriftart: - + Size: Schriftgröße: - - pt - pt - - - + Line Spacing: Zeilenabstand: - + &Outline: &Umrandung: - + &Shadow: S&chatten: - + Bold &fett - + Italic &kursiv - + Footer Area Font Details Fußzeile einrichten - + Define the font and display characteristics for the Footer text Die Schrift und die Anzeigeeigenschaften für die Fußzeile einrichten - + Text Formatting Details Weitere Formatierung - + Allows additional display formatting information to be defined Hier können zusätzliche Anzeigeeigenschaften eingerichtet werden. - + Horizontal Align: Horizontale Ausrichtung: - + Left links - + Right rechts - + Center zentriert - - Vertical Align: - Vertikale Ausrichtung: - - - - Top - oben - - - - Middle - mittig - - - - Bottom - unten - - - + Output Area Locations Anzeigeflächen - + Allows you to change and move the main and footer areas. Hier ist es möglich Hauptanzeigefläche und die Fußzeile zu verschieben. - + &Main Area &Hauptanzeigefläche - + &Use default location &Automatisch positionieren - + X position: Von links: - + px px - + Y position: Von oben: - + Width: Breite: - + Height: Höhe: - + Use default location Automatisch positionieren - + Save and Preview Vorschau und Speichern - + View the theme and save it replacing the current one or change the name to create a new theme Eine Vorschau anzeigen und das Design abspeichern - + Theme name: Designname: - - New Theme - Neues Design - - - + 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. Dieser Assistent hilft Ihnen Designs zu erstellen oder zu bearbeiten. Klicken Sie auf »Weiter« um den Hintergrund einzurichten. - + Transitions: Übergänge: - + &Footer Area &Fußzeile - + Edit Theme - %s - + Bearbeite Design - %s OpenLP.ThemesTab - - Themes - Designs - - - + Global Theme Globales Standarddesign - + Theme Level Designstufe - + S&ong Level &Liedstufe - + 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. 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. - + &Service Level &Ablaufstufe - + 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. 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. - + &Global Level &Globale Stufe - + Use the global theme, overriding any themes associated with either the service or the songs. Das Standarddesign immer verwenden, unabhängig vom Lieddesign oder Ablaufdesign. @@ -3747,189 +3258,573 @@ Sie ist nicht in UTF-8 kodiert. OpenLP.Ui - + Error - Fehler + Fehler + + + + &Delete + &Löschen + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Hinzufügen + + + + Advanced + Erweitert + + + + All Files + Alle Dateien + + + + &Edit + &Bearbeiten + + + + Import + Import + + + + Live + Live + + + + Load + Öffnen + + + + New + Neu + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Preview + Vorschau + + + + Replace Background + Hintergrund ersetzen + + + + Replace Live Background + Live-Hintergrund ersetzen + + + + Reset Background + Hintergrund zurücksetzen + + + + Reset Live Background + Live-Hintergrund zurücksetzen + + + + Service + Ablauf + + + + &Vertical Align: + + + + + Top + oben + + + + Middle + mittig + + + + Bottom + unten + + + + Create a new service. + Erstelle neuen Ablauf + + + + Length %s + Länge %s + + + + New Service + Neuer Ablauf + + + + Open Service + Öffne Ablauf + + + + Save Service + Speicher Ablauf + + + + Start %s + + + + + About + Über + + + + Browse... + Durchsuchen... + + + + Cancel + Abbrechen + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Bild + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + Neues Design + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Keine Elemente ausgewählt. + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + Ablauf drucken + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Speichern && Vorschau + + + + Search + Suchen + + + + You must select an item to delete. + + + + + You must select an item to edit. + Es ist kein Lied zur Bearbeitung ausgewählt. + + + + Theme + Singular + Design + + + + Themes + Plural + Designs + + + + Version + + + + + Finished import. + Importvorgang abgeschlossen. + + + + Format: + Format: + + + + Importing + Importieren + + + + Importing "%s"... + »%s« wird importiert... + + + + Select Import Source + Importquelle auswählen + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Fertig. + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Willkommen beim Bibel Importassistenten + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Willkommen beim Lied Importassistenten + + + + Author + Singular + + + + + Authors + Plural + Autoren + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Liederbuch + + + + Song Books + Plural + Liederbücher + + + + Song Maintenance + Liedverwaltung + + + + Topic + Singular + Thema + + + + Topics + Plural + Themen + + + + OpenLP.displayTagDialog + + + Configure Display Tags + PresentationPlugin - + <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. <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. - - Load - Öffnen - - - - Load a new Presentation - Eine neue Präsentation laden - - - - Delete - Entfernen - - - - Delete the selected Presentation - Die ausgewählte Präsentation entfernen - - - - Preview - Vorschau - - - - Preview the selected Presentation - Die ausgewählte Präsentation in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Presentation live - Die ausgewählte Präsentation live zeigen - - - - Service - Ablauf - - - - Add the selected Presentation to the service - Die augewählte Präsentation zum Ablauf hinzufügen - - - + Presentation name singular Präsentation - + Presentations name plural Präsentationen - + Presentations container title Präsentationen + + + Load a new Presentation + + + + + Delete the selected Presentation + Lösche die ausgewählte Präsentatione + + + + Preview the selected Presentation + + + + + Send the selected Presentation live + + + + + Add the selected Presentation to the service + + PresentationPlugin.MediaItem - + Select Presentation(s) Präsentationen auswählen - + Automatic automatisch - + Present using: Anzeigen mit: - + A presentation with that filename already exists. Eine Präsentation mit diesem Dateinamen existiert bereits. - - You must select an item to delete. - Zum Entfernen muss eine Präsentationsdatei ausgewählt sein. - - - + File Exists Datei existiert - + Unsupported File Nicht unterstütztes Dateiformat - + This type of presentation is not supported. Präsentationsdateien dieses Dateiformats werden nicht unterstützt. - + Presentations (%s) Präsentationen (%s) - + Missing Presentation Fehlende Präsentation - + The Presentation %s no longer exists. Die Präsentation »%s« existiert nicht mehr. + + + The Presentation %s is incomplete, please reload. + Die Präsentation %s ist nicht vollständig, bitte neu laden. + PresentationPlugin.PresentationTab - + Available Controllers Verwendete Präsentationsprogramme - - Advanced - Erweitert - - - + Allow presentation application to be overriden Präsentationsprogramm kann ersetzt werden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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. - + Remote name singular Fernsteuerung - + Remotes name plural Fernsteuerung - + Remote container title Fernsteuerung @@ -4017,7 +3912,7 @@ Sie ist nicht in UTF-8 kodiert. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Protokolldaten löschen @@ -4031,263 +3926,256 @@ Sie ist nicht in UTF-8 kodiert. Are you sure you want to delete selected Song Usage data? Sind sie sicher, dass die ausgewählten Protokolldaten löschen wollen? + + + Deletion Successful + Löschung erfolgreich + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Protokoll extrahieren - + Select Date Range Zeitspanne - + to bis - + Report Location Speicherort für die Statistiken - + Output File Location Speicherort - + usage_detail_%s_%s.txt Aufrufprotokoll_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Lied - + Import songs using the import wizard. Lieder importieren. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>Erweiterung Lieder</strong><br />Die Erweiterung Lieder ermöglicht die Darstellung und Verwaltung von Liedtexten. - + &Re-index Songs Liederverzeichnis &reindizieren - + Re-index the songs database to improve searching and ordering. Das reindizieren der Liederdatenbank kann die Suchergebnisse verbessern. - + Reindexing songs... Reindiziere die Liederdatenbank... - - - Cancel - Abbrechen - - - - Add - Hinzufügen - - Add a new Song - Ein neues Lied hinzufügen - - - - Edit - Bearbeiten - - - - Edit the selected Song - Das ausgewählte Lied bearbeiten - - - - Delete - Entfernen - - - - Delete the selected Song - Das ausgewählte Lied entfernen - - - - Preview - Vorschau - - - - Preview the selected Song - Das ausgewählte Lied in der Vorschau zeigen - - - - Live - Live - - - - Send the selected Song live - Das ausgewählte Lied live zeigen - - - - Service - Ablauf - - - - Add the selected Song to the service - Das augewählte Lied zum Ablauf hinzufügen - - - Song name singular Lied - + Songs name plural Lieder - + Songs container title Lieder - + Arabic (CP-1256) Arabisch (CP-1256) - + Baltic (CP-1257) Baltisch (CP-1257) - + Central European (CP-1250) Zentraleuropäisch (CP-1250) - + Cyrillic (CP-1251) Kyrillisch (CP-1251) - + Greek (CP-1253) Griechisch (CP-1253) - + Hebrew (CP-1255) Hebräisch (CP-1255) - + Japanese (CP-932) Japanisch (CP-932) - + Korean (CP-949) Koreanisch (CP-949) - + Simplified Chinese (CP-936) Chinesisch, vereinfacht (CP-936) - + Thai (CP-874) Thailändisch (CP-874) - + Traditional Chinese (CP-950) Chinesisch, traditionell (CP-950) - + Turkish (CP-1254) Türkisch (CP-1254) - + Vietnam (CP-1258) Vietnamesisch (CP-1258) - + Western European (CP-1252) Westeuropäisch (CP-1252) - + Character Encoding Zeichenkodierung - + Please choose the character encoding. The encoding is responsible for the correct character representation. - Bitte wählen sie die Zeichenkodierung. Diese ist für die korrekte Darstellung der Sonderzeichen verantwortlich. + Bitte wählen sie die Zeichenkodierung. +Diese ist für die korrekte Darstellung der Sonderzeichen verantwortlich. - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. + + + + + Exports songs using the export wizard. + + + + + Add a new Song + Erstelle eine neues Lied + + + + Edit the selected Song + Bearbeite das ausgewählte Lied + + + + Delete the selected Song + Lösche das ausgewählte Lied + + + + Preview the selected Song + + + + + Send the selected Song live + + + + + Add the selected Song to the service SongsPlugin.AuthorsForm - + Author Maintenance Autorenverwaltung - + Display name: Anzeigename: - + First name: Vorname: - + Last name: Nachname: @@ -4297,12 +4185,12 @@ Usually you are fine with the preselected choice. Der Vornamen des Autors muss angegeben werden. - + You need to type in the last name of the author. Der Nachname des Autors muss angegeben werden. - + You have not set a display name for the author, combine the first and last names? Es wurde kein Anzeigename für den Autor angegeben. Soll der Vor- und Nachname kombiniert werden? @@ -4310,7 +4198,7 @@ Usually you are fine with the preselected choice. SongsPlugin.CCLIFileImport - + Importing song %d of %d Lied %d von %d wird importiert. @@ -4318,242 +4206,182 @@ Usually you are fine with the preselected choice. SongsPlugin.EditSongForm - + Song Editor Lied bearbeiten - + &Title: &Titel: - + &Lyrics: Lied&text: - - &Add - &Hinzufügen - - - - &Edit - &Bearbeiten - - - + Ed&it All &Alles Bearbeiten - - &Delete - &Löschen - - - + Title && Lyrics Titel && Liedtext - - Authors - Autoren - - - + &Add to Song &Hinzufügen - + &Remove &Entfernen - - Topic - Thema - - - + A&dd to Song H&inzufügen - + R&emove &Entfernen - - Song Book - Liederbuch - - - - Theme - Design - - - + New &Theme Neues &Design - + Copyright Information Copyright - - © - © - - - + Comments Kommentare - + Theme, Copyright Info && Comments Design, Copyright && Kommentare - - Save && Preview - Speichern && Vorschau - - - + Add Author Autor hinzufügen - + This author does not exist, do you want to add them? Dieser Autor existiert nicht. Soll er zur Datenbank hinzugefügt werden? - - No Author Selected - Kein Autor ausgewählt - - - + 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. 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«. - + Add Topic Thema hinzufügen - + This topic does not exist, do you want to add it? Dieses Thema existiert nicht. Soll es zur Datenbank hinzugefügt werden? - - No Topic Selected - Kein Thema gewählt - - - + 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. 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«. - + Add Book Liederbuch hinzufügen - + This song book does not exist, do you want to add it? Dieses Liederbuch existiert nicht. Soll es zur Datenbank hinzugefügt werden? - + You need to type in a song title. Ein Liedtitel muss angegeben sein. - + You need to type in at least one verse. Mindestens ein Vers muss angegeben sein. - + Warning Warnung - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. Die Versfolge ist ungültig. Es gibt keinen Vers mit der Kennung »%s«. Gültige Werte sind »%s«. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? »%s« wurde nirgends in der Versfolge verwendet. Wollen Sie das Lied trotzdem so abspeichern? - + Alt&ernate title: &Zusatztitel: - + &Verse order: &Versfolge: - + &Manage Authors, Topics, Song Books &Datenbankeinträge verwalten - + Authors, Topics && Song Book Autoren, Themen && Liederbücher - - CCLI number: - CCL-Nummer: - - - + This author is already in the list. Dieser Autor ist bereits vorhanden. - + This topic is already in the list. Dieses Thema ist bereits vorhanden. - + Book: Liederbuch: - + Number: Nummer: - + You need to have an author for this song. Das Lied benötigt mindestens einen Author. - + You need to type some text in to the verse. Das Lied benötigt mindestens einen Vers. @@ -4561,290 +4389,158 @@ Usually you are fine with the preselected choice. SongsPlugin.EditVerseForm - + Edit Verse Vers bearbeiten - + &Verse type: &Verstyp: - + &Insert &Einfügen + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + Verzeichnis: + + + + Exporting + Exportiere + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenSong Files Selected - Keine OpenSong Dateien ausgewählt - - - - You need to add at least one OpenSong song file to import from. - Mindestens ein OpenSong Lieddatei muss für den Import ausgewählt werden. - - - - No CCLI Files Selected - Keine CCLI Dateien ausgewählt - - - - You need to add at least one CCLI file to import from. - Mindestens eine CCLI Datei muss für den Import ausgewählt werden. - - - - Starting import... - Import wird gestartet... - - - + Song Import Wizard Lied Importassistent - - Welcome to the Song Import Wizard - Willkommen beim Lied Importassistenten - - - + 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. 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. - - Select Import Source - Importquelle auswählen - - - - Select the import format, and where to import from. - Auswahl des Importformates und der Importquelle. - - - - Format: - Format: - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - + Add Files... Hinzufügen... - + Remove File(s) Entfernen - + Filename: Dateiname: - - Browse... - Durchsuchen... - - - - Importing - Importieren - - - + Please wait while your songs are imported. Die Liedtexte werden importiert. Bitte warten. - - Ready. - Fertig. - - - - %p% - %p% - - - - No OpenLP 2.0 Song Database Selected - Keine OpenLP 2.0 Lieddatenbank ausgewählt - - - - You need to select an OpenLP 2.0 song database file to import from. - Für den Import muss eine OpenLP 2.0 Lieddatenbank ausgewählt sein. - - - - No openlp.org 1.x Song Database Selected - Keine openlp.org 1.x Lieddatenbank ausgewählt - - - - You need to select an openlp.org 1.x song database file to import from. - Für den Import muss eine openlp.org 1.x Lieddatenbank ausgewählt sein. - - - - No Words of Worship Files Selected - Keine »Words of Worship«-Dateien - - - - You need to add at least one Words of Worship file to import from. - Mindestens eine »Words of Worship«-Datei muss für den Import hinzufügt sein. - - - - No Songs of Fellowship File Selected - Keine »Songs of Fellowship«-Dateien - - - - You need to add at least one Songs of Fellowship file to import from. - Mindestens eine »Songs of Fellowship«-Datei muss für den Import hinzufügt sein. - - - - No Document/Presentation Selected - Keine Präsentationen oder Dokumente - - - - You need to add at least one document or presentation file to import from. - Mindestens eine Präsentation oder ein Textdokument muss für den Import hinzufügt sein. - - - - Select OpenLP 2.0 Database File - OpenLP 2.0 Datenbank auswählen - - - - Select openlp.org 1.x Database File - openlp.org 1.x Datenbank auswählen - - - - Select Open Song Files - Open Song-Lieddateien auswählen - - - - Select Words of Worship Files - »Word of Worship«-Dateien auswählen - - - - Select CCLI Files - CCLI-Dateien auswählen - - - - Select Songs of Fellowship Files - »Songs of Fellowship«-Dateien auswählen - - - + Select Document/Presentation Files Präsentationen/Textdokumente auswählen - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - Words of Worship - Words of Worship - - - - CCLI/SongSelect - CCLI/SongSelect - - - - Songs of Fellowship - Songs of Fellowship - - - + Generic Document/Presentation Präsentation/Textdokument - - 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. - 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. - - - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Da OpenLP auf Ihrem Computer kein OpenOffice.org finden konnte ist der Import von »Songs of Fellowship«-Dateien nicht möglich. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Da OpenLP auf Ihrem Computer kein OpenOffice.org finden konnte ist der Import allgemeiner Präsentations- und Textdokumenten nicht möglich. - - Importing "%s"... - »%s« wird importiert... - - - - Importing %s... - »%s« wird importiert... - - - - No EasyWorship Song Database Selected - Keine EasyWorship Lieddatenbank - - - - You need to select an EasyWorship song database file to import from. - Für den Import muss eine EasyWorship Lieddatenbank ausgewählt sein. - - - - Select EasyWorship Database File - EasyWorship Datenbank auswählen - - - - EasyWorship - EasyWorship - - - + 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. Leider können noch keine OpenLyric Lieder importiert werden, aber vielleicht klappts ja in der nächsten Version. @@ -4854,88 +4550,43 @@ Usually you are fine with the preselected choice. Verwaltet durch %s - - No SongBeamer File Selected - Keine SongBeamer Lieddatei - - - - You need to add at least one SongBeamer file to import from. - Mindestens eine SongBeamer Lieddatei muss für den Import hinzufügt sein. - - - - All Files - Alle Dateien - - - + OpenLP 2.0 Databases OpenLP 2.0 Lieddatenbanken - + openlp.org v1.x Databases openlp.org 1.x Lieddatenbanken - + Words Of Worship Song Files »Words of Worship« Lieddateien - - Songs Of Felloship Song Files - »Songs of Fellowship« Lieddateien + + Songs Of Fellowship Song Files + Songs Of Fellowship Song Dateien - - Select SongBeamer Files - SongBeamer Lieddateien auswählen + + SongBeamer Files + SongBeamer Dateien - - SongBeamer - SongBeamer + + SongShow Plus Song Files + SongShow Plus Song Dateien - - SongBeamer files - SongBeamer Lieddateien - - - - EasiSlides + + You need to specify at least one document or presentation file to import from. - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4943,111 +4594,68 @@ Usually you are fine with the preselected choice. SongsPlugin.MediaItem - Song Maintenance - Liedverwaltung - - - Maintain the lists of authors, topics and books Autoren, Themen und Bücher verwalten - - Search: - Suche: - - - - Search - Suchen - - - + Titles Titel - + Lyrics Liedtext - - Authors - Autor - - - - You must select an item to edit. - Es ist kein Lied zur Bearbeitung ausgewählt. - - - - You must select an item to delete. - Es sind keine Lieder zum Löschen ausgewählt. - - - + Delete Song(s)? Lied(er) löschen? - + CCLI License: CCLI-Lizenz: - + Entire Song Ganzes Lied - + Are you sure you want to delete the %n selected song(s)? Sind Sie sicher, dass das Lied gelöscht werden soll? Sind Sie sicher, dass die %n Lieder gelöscht werden sollen? - - - Themes - Designs - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. Lied %d von %d wird importiert. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - »%s« wird importiert... + + Exporting "%s"... + Exportiere "%s"... SongsPlugin.SongBookForm - + &Name: &Name: - + &Publisher: &Verlag: @@ -5057,38 +4665,36 @@ Usually you are fine with the preselected choice. Ein Buchname muss angegeben werden. - + Song Book Maintenance Liederbuch-Verwaltung + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright copyright - - - © - © - - - - Author unknown - Author unbekannt - SongsPlugin.SongImportForm - - Finished import. - Importvorgang abgeschlossen. - - - + Your song import failed. Importvorgang fehlgeschlagen. @@ -5096,157 +4702,107 @@ Usually you are fine with the preselected choice. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Liedverwaltung - - - - Authors - Autoren - - - - Topics - Themen - - - - &Add - &Hinzufügen - - - - &Edit - &Bearbeiten - - - - &Delete - &Löschen - - - + Delete Author Autor löschen - + Are you sure you want to delete the selected author? Sind Sie sicher, dass der ausgewählten Autor gelöscht werden soll? - - No author selected! - Es ist kein keinen Autor zum Löschen ausgewählt. - - - + Delete Topic Thema löschen - + Are you sure you want to delete the selected topic? Sind Sie sicher, dass das ausgewählte Thema gelöscht werden soll? - - No topic selected! - Es ist kein Thema zum Löschen ausgewählt. - - - + Delete Book Liederbuch löschen - + Are you sure you want to delete the selected book? Sind Sie sicher, dass das ausgewählte Liederbuch gelöscht werden soll? - - No book selected! - Es ist kein Liederbuch zum Löschen ausgewählt. - - - - Song Books - Liederbücher - - - + Could not add your author. Der Author konnte nicht hinzugefügt werden. - + This author already exists. Der Author existiert bereits in der Datenbank. - + Could not add your topic. Das Thema konnte nicht hinzugefügt werden. - + This topic already exists. Das Thema existiert bereits in der Datenbank. - + Could not add your book. Das Liederbuch konnte nicht hinzugefügt werden. - + This book already exists. Das Liederbuch existiert bereits in der Datenbank. - + Could not save your changes. Die Änderungen konnten nicht gesteichert werden. - + Could not save your modified topic, because it already exists. Das geänderte Thema konnte nicht gespeichert werden, da es bereits in der Datenbank existiert. - + This author cannot be deleted, they are currently assigned to at least one song. Der Author konnte nicht gelöscht werden, da er mindestens einem Lied zugeordnet ist. - + This topic cannot be deleted, it is currently assigned to at least one song. Das Thema konnte nicht gelöscht werden, da es mindestens einem Lied zugeordnet ist. - + This book cannot be deleted, it is currently assigned to at least one song. Das Liederbuch konnte nicht gelöscht werden, da es mindestens einem Lied zugeordnet ist. - + Could not save your modified author, because the author already exists. Der geänderte Author konnte nicht gespeichert werden, da es bereits in der Datenbank existiert. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? Der Author %s existiert bereits. Sollen Lieder von %s %s als Author setzen? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? Das Thema %s existiert bereits. Sollen Lieder zum Thema %s das Thema %s verwenden? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? Das Liederbuch »%s« existiert bereits. Sollen Lieder aus »%s« dem Buch »%s« zugeordnet werden? @@ -5261,7 +4817,7 @@ Usually you are fine with the preselected choice. Enable search as you type - Während der Eingabe suchen + Aktiviere Vorschlagssuche @@ -5282,12 +4838,12 @@ Usually you are fine with the preselected choice. SongsPlugin.TopicsForm - + Topic Maintenance Themenverwaltung - + Topic name: Thema: @@ -5300,7 +4856,7 @@ Usually you are fine with the preselected choice. SongsPlugin.VerseType - + Verse Strophe @@ -5310,37 +4866,29 @@ Usually you are fine with the preselected choice. Refrain - + Bridge Bridge - + Pre-Chorus Überleitung - + Intro Intro - + Ending Ende - + Other Anderes - - SongsPlugin.XML - - - Author unknown - Author unbekannt - - 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 @@ AlertPlugin.AlertForm - + No Parameter found - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? @@ -28,34 +28,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert - + Show an alert message. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen - + Alert name singular - + Alerts name plural - + Alerts container title @@ -64,28 +64,23 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message - + Alert &text: - + &New - - - &Save - - - &Delete + &Save @@ -99,17 +94,17 @@ Do want to continue anyway? - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. - + &Parameter: @@ -125,95 +120,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font - + Font name: - + Font color: - + Background color: - + Font size: - - pt - - - - + Alert timeout: + + + BibleDB.Wizard - - s + + Importing testaments... %s - - Location: + + Importing testaments... done. - - Preview + + Importing books... %s - - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... - - Top - - - - - Middle - - - - - Bottom + + Importing verses... done. BiblePlugin.HTTPBible - + Download Error - + 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. - + Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +205,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +218,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - - - - + Preview the selected Bible - - Live - - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular - + Bibles name plural - + Bibles container title - - &Import - - - - - &Add - - - - - &Edit - - - - - &Delete - - - - + No Book Found - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +294,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display - + Only show new chapter numbers - + Layout style: - + Display style: - + Bible theme: - + Verse Per Slide - + Verse Per Line - + Continuous - + No Brackets - + ( And ) - + { And } - + [ And ] - + Note: Changes do not affect verses already in the service. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard - - Welcome to the Bible Import Wizard - - - - + 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. - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - + Web Download - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - + Location: - + Crosswalk - + BibleGateway - + Bible: - + Download Options - + Server: - + Username: - + Password: - + Proxy Server (Optional) - + License Details - + Set up the Bible's license details. - + Version name: - + Copyright: - - Importing - - - - + Please wait while your Bible is imported. - - Ready. - - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - + You need to specify a file with books of the Bible to use in the import. - - Invalid Verse File - - - - + You need to specify a file of Bible verses to import. - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - + You need to specify a version name for your Bible. - - Empty Copyright - - - - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + Bible Exists - + This Bible already exists. Please import a different Bible or first delete the existing one. - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - - - - + Your Bible import failed. - + CSV File - - Open openlp.org 1.x Bible - - - - + openlp.org 1.x bible - - All Files - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - - - - + Bibleserver - + Permissions: - - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick - - Advanced - - - - - Version: - - - - - Search type: - - - - + Find: - - Search - - - - + Results: - + Book: - + Chapter: - + Verse: - + From: - + To: - - Verse Search - - - - + Text Search - + Clear - + Keep - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -888,12 +670,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -902,7 +684,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. @@ -923,210 +705,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides - - Move slide up one position. - - - - - Move slide down one position. - - - - + &Title: - + Add a new slide at bottom. - + Edit the selected slide. - + Edit all the slides at once. - - Delete the selected slide. - - - - + Split Slide - + Split a slide into two by inserting a slide splitter. - + The&me: - + &Credits: - - Save && Preview - - - - + You need to type in a title. - + You need to add at least one slide - - &Add - - - - - &Edit - - - - + Ed&it All - - - &Delete - - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - - - - + Edit the selected Custom - - Delete - - - - + Delete the selected Custom - - Preview - - - - + Preview the selected Custom - - Live - - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular - + Customs name plural - + Custom container title @@ -1135,169 +829,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - - - - + Edit the selected Image - - Delete - - - - + Delete the selected Image - - Preview - - - - + Preview the selected Image - - Live - - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) - - All Files - - - - - Replace Live Background - - - - - Replace Background - - - - - Reset Live Background - - - - + You must select an image to delete. - - Image(s) - - - - + You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1305,94 +937,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - - - - + Edit the selected Media - - Delete - - - - + Delete the selected Media - - Preview - - - - + Preview the selected Media - - Live - - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular - + Media name plural - + Media container title @@ -1401,80 +998,50 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - - - - + Select Media - - Replace Live Background - - - - - Replace Background - - - - + You must select a media file to delete. - - - Videos (%s);;Audio (%s);;All files (*) - - - - - Reset Background - - You must select a media file to replace the background with. - - - Live Background Error - - There was a problem replacing your background, the media file "%s" no longer exists. - + Missing Media File - + The file %s no longer exists. + + + Videos (%s);;Audio (%s);;%s (*) + + MediaPlugin.MediaTab - Media - - - - Media Display - + Use Phonon for video playback @@ -1482,18 +1049,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files OpenLP.AboutForm - - - About OpenLP - - 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 - - About - - - - + Credits @@ -1531,7 +1088,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + Project Lead Raoul "superfly" Snyman @@ -1584,9 +1141,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - - - - + UI Settings - + Number of recent files to display: - + Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1848,40 +1415,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + Error Occurred - + 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. - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1488,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1940,130 +1528,130 @@ Version: %s OpenLP.GeneralTab - + General - + Monitors - + Select monitor for output display: - + Display if a single screen - + Application Startup - + Show blank screen warning - + Automatically open the last service - + Show the splash screen - + Application Settings - + Prompt to save before starting a new service - + Automatically preview next item in service - + Slide loop delay: - + sec - + CCLI Details - - CCLI number: - - - - + SongSelect username: - + SongSelect password: - + Display Position - + X - + Y - + Height - + Width - + Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2081,7 +1669,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2089,409 +1677,374 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - - - - + &File - + &Import - + &Export - + &View - + M&ode - + &Tools - + &Settings - + &Language - + &Help - + Media Manager - + Service Manager - + Theme Manager - + &New - - New Service - - - - - Create a new service. - - - - + Ctrl+N - + &Open - - Open Service - - - - + Open an existing service. - + Ctrl+O - + &Save - - Save Service - - - - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - + 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/. - + OpenLP Version Updated - + OpenLP Main Display Blanked - + The Main Display has been blanked out - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - + Default Theme: %s @@ -2502,75 +2055,85 @@ You can download the latest version from http://openlp.org/. - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + &Configure Display Tags + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + OpenLP.MediaManagerItem - + No Items Selected - + &Add to selected Service Item - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - - No items selected - - - - - You must select one or more items - - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. @@ -2578,23 +2141,13 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List - - - Plugin Details - - - Version: - - - - - About: + Plugin Details @@ -2613,237 +2166,318 @@ You can download the latest version from http://openlp.org/. - + %s (Inactive) - + %s (Active) - + %s (Disabled) + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + OpenLP.ServiceItemEditForm - + Reorder Service Item - - - Delete - - OpenLP.ServiceManager - - New Service - - - - - Create a new service - - - - - Open Service - - - - + Load an existing service - - Save Service - - - - + Save this service - - Theme: - - - - + Select a theme for the service - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes - - &Preview Verse - - - - - &Live Verse - - - - + &Change Item Theme - + OpenLP Service Files (*.osz) - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File + + + Notes: + + + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + Modified Service + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes @@ -2851,7 +2485,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP @@ -2874,17 +2508,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2898,137 +2532,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - - - - - Preview - - - - + Move to previous - + Move to next - + Hide - + Move to live - + Edit and reload song preview - + Start continuous loop - + Stop continuous loop - - s - - - - + Delay between slides in seconds - + Start playing media - + Go To - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions - + Formatting Tags + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + OpenLP.ThemeForm - - All Files - - - - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3036,476 +2713,431 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - - - - + Create a new theme. - + Edit Theme - + Edit a theme. - + Delete Theme - + Delete a theme. - + Import Theme - + Import a theme. - + Export Theme - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + %s (default) - + You must select a theme to edit. - + You are unable to delete the default theme. - + Theme %s is used in the %s plugin. - + You have not selected a theme. - + Save Theme - (%s) - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - - Image - - - - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - - pt - - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - - Vertical Align: - - - - - Top - - - - - Middle - - - - - Bottom - - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + Edit Theme - %s - - New Theme - - - - + 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. - + Transitions: - + &Footer Area @@ -3513,47 +3145,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - - - - + Global Theme - + Theme Level - + S&ong Level - + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - + &Service Level - + 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. - + &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. @@ -3561,82 +3188,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error + + + About + + + + + &Add + + + + + Advanced + + + + + All Files + + + + + Bottom + + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Create a new service. + + + + + &Delete + + + + + &Edit + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + + + + + Import + + + + + Length %s + + + + + Live + + + + + Live Background Error + + + + + Live Panel + + + + + Load + + + + + Middle + + + + + New + + + + + New Service + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + + + + + OpenLP 2.0 + + + + + Open Service + + + + + Preview + + + + + Preview Panel + + + + + Print Service Order + + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + + + + + Search + + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Save Service + + + + + Service + + + + + Start %s + + + + + Theme + Singular + + + + + Themes + Plural + + + + + Top + + + + + Version + + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Vertical Align: + + + + + Finished import. + + + + + Format: + + + + + Importing + + + + + Importing "%s"... + + + + + Select Import Source + + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + + + + + Ready. + + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + + + + + Topics + Plural + + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - Delete - - Delete the selected Presentation - - Preview - - - - + Preview the selected Presentation - - Live - - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular - + Presentations name plural - + Presentations container title @@ -3645,105 +3661,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported. - - You must select an item to delete. - - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers - - Advanced - - - - + Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural - + Remote container title @@ -3831,7 +3842,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3845,263 +3856,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Select Date Range - + to - + Report Location - + Output File Location - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song - + Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - - - - + Edit the selected Song - - Delete - - - - + Delete the selected Song - - Preview - - - - + Preview the selected Song - - Live - - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. - + Song name singular - + Songs name plural - + Songs container title + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance - + Display name: - + First name: - + Last name: @@ -4111,12 +4114,12 @@ The encoding is responsible for the correct character representation. - + You need to type in the last name of the author. - + You have not set a display name for the author, combine the first and last names? @@ -4124,7 +4127,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4132,242 +4135,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor - + &Title: - + Alt&ernate title: - + &Lyrics: - + &Verse order: - - &Add - - - - - &Edit - - - - + Ed&it All - - &Delete - - - - + Title && Lyrics - - Authors - - - - + &Add to Song - + &Remove - + &Manage Authors, Topics, Song Books - - Topic - - - - + A&dd to Song - + R&emove - - Song Book - - - - + Book: - + Number: - + Authors, Topics && Song Book - - Theme - - - - + New &Theme - + Copyright Information - - © - - - - - CCLI number: - - - - + Comments - + Theme, Copyright Info && Comments - - Save && Preview - - - - + Add Author - + This author does not exist, do you want to add them? - + This author is already in the list. - - No Author Selected - - - - + 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. - + Add Topic - + This topic does not exist, do you want to add it? - + This topic is already in the list. - - No Topic Selected - - - - + 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. - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book - + This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4375,381 +4318,204 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse - + &Verse type: - + &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Check the songs you want to export. + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - Select EasyWorship Database File - - - - - Starting import... - - - - + Song Import Wizard - - Welcome to the Song Import Wizard - - - - + 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. - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - - - OpenLP 2.0 - - - - - openlp.org 1.x - - - - - OpenLyrics - - - - - OpenSong - - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - - EasyWorship - - - - + Filename: - - Browse... - - - - - 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. - - - - + 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. - + Add Files... - + Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - - - - + Please wait while your songs are imported. - - - Ready. - - - - - %p% - - - - - Importing "%s"... - - Administered by %s - - Importing %s... - - - - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + You need to specify at least one document or presentation file to import from. - - Select SongBeamer Files + + Songs Of Fellowship Song Files - - SongBeamer files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4757,71 +4523,36 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - - - - Maintain the lists of authors, topics and books - - Search: - - - - - Search - - - - + Titles - + Lyrics - - Authors - - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + CCLI License: - + Entire Song - - - Themes - - - + Are you sure you want to delete the %n selected song(s)? @@ -4831,41 +4562,33 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -4875,33 +4598,31 @@ The encoding is responsible for the correct character representation. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright - - - © - - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - - - - + Your song import failed. @@ -4909,157 +4630,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - - - - - Topics - - - - - Song Books - - - - - &Add - - - - - &Edit - - - - - &Delete - - - - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because the author already exists. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - - - - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - - - - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - - - - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5095,12 +4766,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance - + Topic name: @@ -5113,7 +4784,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse @@ -5123,37 +4794,29 @@ The encoding is responsible for the correct character representation. - + Bridge - + Pre-Chorus - + Intro - + Ending - + Other - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? @@ -28,34 +28,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert &Alert - + Show an alert message. Show an alert message. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen - + Alert name singular - + Alerts name plural Alerts - + Alerts container title Alerts @@ -64,30 +64,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message Alert Message - + Alert &text: Alert &text: - + &New &New - + &Save &Save - - - &Delete - &Delete - Displ&ay @@ -99,17 +94,17 @@ Do want to continue anyway? Display && Cl&ose - + New Alert New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. You haven't specified any text for your alert. Please type in some text before clicking New. - + &Parameter: @@ -125,95 +120,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Font - + Font name: Font name: - + Font color: Font colour: - + Background color: Background colour: - + Font size: Font size: - - pt - pt - - - + Alert timeout: Alert timeout: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + - - Location: - Location: + + Importing testaments... done. + - - Preview - Preview + + Importing books... %s + - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +205,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +218,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible &Bible - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - Preview - - - + Preview the selected Bible - - Live - Live - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular Bible - + Bibles name plural Bibles - + Bibles container title Bibles - - &Import - &Import - - - - &Add - &Add - - - - &Edit - &Edit - - - - &Delete - &Delete - - - + No Book Found No Book Found - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +294,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error Scripture Reference Error - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Verse Display - + Only show new chapter numbers Only show new chapter numbers - + Layout style: Layout style: - + Display style: Display style: - + Bible theme: Bible theme: - + Verse Per Slide Verse Per Slide - + Verse Per Line Verse Per Line - + Continuous Continuous - + No Brackets No Brackets - + ( And ) ( And ) - + { And } { And } - + [ And ] [ And ] - + Note: Changes do not affect verses already in the service. Note: Changes do not affect verses already in the service. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bible Import Wizard - - Welcome to the Bible Import Wizard - Welcome to the Bible Import Wizard - - - + 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. 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. - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - Select the import format, and where to import from. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Web Download - - File location: - File location: - - - - Books location: - Books location: - - - - Verse location: - Verse location: - - - - Bible filename: - Bible filename: - - - + Location: Location: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Bible: - + Download Options Download Options - + Server: Server: - + Username: Username: - + Password: Password: - + Proxy Server (Optional) Proxy Server (Optional) - + License Details License Details - + Set up the Bible's license details. Set up the Bible's license details. - + Version name: Version name: - + Copyright: Copyright: - - Importing - Importing - - - + Please wait while your Bible is imported. Please wait while your Bible is imported. - - Ready. - Ready. - - - - Invalid Bible Location - Invalid Bible Location - - - - You need to specify a file to import your Bible from. - You need to specify a file to import your Bible from. - - - - Invalid Books File - Invalid Books File - - - + You need to specify a file with books of the Bible to use in the import. You need to specify a file with books of the Bible to use in the import. - - Invalid Verse File - Invalid Verse File - - - + You need to specify a file of Bible verses to import. You need to specify a file of Bible verses to import. - - Invalid OpenSong Bible - Invalid OpenSong Bible - - - - You need to specify an OpenSong Bible file to import. - You need to specify an OpenSong Bible file to import. - - - - Empty Version Name - Empty Version Name - - - + You need to specify a version name for your Bible. You need to specify a version name for your Bible. - - Empty Copyright - Empty Copyright - - - + Bible Exists Bible Exists - - Open OSIS File - Open OSIS File - - - - Open Books CSV File - Open Books CSV File - - - - Open Verses CSV File - Open Verses CSV File - - - - Open OpenSong Bible - Open OpenSong Bible - - - - Starting import... - Starting import... - - - - Finished import. - Finished import. - - - + Your Bible import failed. Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. This Bible already exists. Please import a different Bible or first delete the existing one. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - openlp.org 1.x - - - + Permissions: - + CSV File - + openlp.org 1.x bible - - All Files - All Files - - - + Bibleserver - - 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. - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? + BiblesPlugin.MediaItem - + Quick Quick - - Advanced - Advanced - - - - Version: - Version: - - - - Search type: - Search type: - - - + Find: Find: - - Search - Search - - - + Results: Results: - + Book: Book: - + Chapter: Chapter: - + Verse: Verse: - + From: From: - + To: To: - - Verse Search - Verse Search - - - + Text Search Text Search - + Clear Clear - + Keep Keep - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - Importing %s... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -889,12 +671,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -903,7 +685,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. <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. @@ -924,210 +706,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Edit Custom Slides - - Move slide up one position. - Move slide up one position. - - - - Move slide down one position. - Move slide down one position. - - - + &Title: &Title: - + Add a new slide at bottom. Add a new slide at bottom. - + Edit the selected slide. Edit the selected slide. - + Edit all the slides at once. Edit all the slides at once. - - Delete the selected slide. - Delete the selected slide. - - - + Split Slide Split Slide - + Split a slide into two by inserting a slide splitter. Split a slide into two by inserting a slide splitter. - + The&me: The&me: - + &Credits: &Credits: - - Save && Preview - Save && Preview - - - + You need to type in a title. You need to type in a title. - + You need to add at least one slide You need to add at least one slide - - &Add - &Add - - - - &Edit - &Edit - - - + Ed&it All Ed&it All - - - &Delete - &Delete - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - You haven't selected an item to edit. - - - - You haven't selected an item to delete. - You haven't selected an item to delete. - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - Edit - - - + Edit the selected Custom - - Delete - Delete - - - + Delete the selected Custom - - Preview - Preview - - - + Preview the selected Custom - - Live - Live - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular Custom - + Customs name plural - + Custom container title Custom @@ -1136,169 +830,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - Edit - - - + Edit the selected Image - - Delete - Delete - - - + Delete the selected Image - - Preview - Preview - - - + Preview the selected Image - - Live - Live - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular Image - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Select Image(s) - - All Files - All Files - - - - Replace Live Background - Replace Live Background - - - - Replace Background - Replace Background - - - - Reset Live Background - Reset Live Background - - - + You must select an image to delete. You must select an image to delete. - - Image(s) - Image(s) - - - + You must select an image to replace the background with. You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1306,94 +938,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - Edit - - - + Edit the selected Media - - Delete - Delete - - - + Delete the selected Media - - Preview - Preview - - - + Preview the selected Media - - Live - Live - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular Media - + Media name plural Media - + Media container title Media @@ -1402,50 +999,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - Media - - - + Select Media Select Media - - Replace Live Background - Replace Live Background - - - - Replace Background - Replace Background - - - + You must select a media file to delete. You must select a media file to delete. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1453,12 +1025,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1466,16 +1038,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Media - - - Media Display - + Use Phonon for video playback @@ -1483,18 +1050,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files Image Files OpenLP.AboutForm - - - About OpenLP - About OpenLP - 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. - - About - About - - - + Credits Credits @@ -1538,7 +1095,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr build %s - + Project Lead Raoul "superfly" Snyman @@ -1591,9 +1148,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Advanced - - - + UI Settings UI Settings - + Number of recent files to display: Number of recent files to display: - + Remember active media manager tab on startup Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Background colour: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Delete - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1855,40 +1422,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. 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. - + Error Occurred Error Occurred - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1898,24 +1495,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1947,130 +1535,130 @@ Version: %s OpenLP.GeneralTab - + General General - + Monitors Monitors - + Select monitor for output display: Select monitor for output display: - + Display if a single screen Display if a single screen - + Application Startup Application Startup - + Show blank screen warning Show blank screen warning - + Automatically open the last service Automatically open the last service - + Show the splash screen Show the splash screen - + Application Settings Application Settings - + Prompt to save before starting a new service Prompt to save before starting a new service - + Automatically preview next item in service Automatically preview next item in service - + Slide loop delay: Slide loop delay: - + sec sec - + CCLI Details CCLI Details - - CCLI number: - CCLI number: - - - + SongSelect username: SongSelect username: - + SongSelect password: SongSelect password: - + Display Position Display Position - + X X - + Y Y - + Height Height - + Width Width - + Override display position Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2088,7 +1676,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2096,377 +1684,352 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &File - + &Import &Import - + &Export &Export - + &View &View - + M&ode M&ode - + &Tools &Tools - + &Settings &Settings - + &Language &Language - + &Help &Help - + Media Manager Media Manager - + Service Manager Service Manager - + Theme Manager Theme Manager - + &New &New - - New Service - New Service - - - - Create a new service. - Create a new service. - - - + Ctrl+N Ctrl+N - + &Open &Open - - Open Service - Open Service - - - + Open an existing service. Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Save - - Save Service - Save Service - - - + Save the current service to disk. Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Save &As... - + Save Service As Save Service As - + Save the current service under a new name. Save the current service under a new name. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme &Theme - + &Configure OpenLP... &Configure OpenLP... - + &Media Manager &Media Manager - + Toggle Media Manager Toggle Media Manager - + Toggle the visibility of the media manager. Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager - + Toggle the visibility of the service manager. Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel &Live Panel - + Toggle Live Panel Toggle Live Panel - + Toggle the visibility of the live panel. Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin List - + List the Plugins List the Plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About &About - + More information about OpenLP More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online Help - + &Web Site &Web Site - + &Auto Detect &Auto Detect - + Use the system language, if available. Use the system language, if available. - + Set the interface language to %s Set the interface language to %s - + Add &Tool... Add &Tool... - + Add an application to the list of tools. Add an application to the list of tools. - + &Default &Default - + Set the view mode back to the default. Set the view mode back to the default. - + &Setup &Setup - + Set the view mode to Setup. Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. Set the view mode to Live. - + 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/. @@ -2474,32 +2037,22 @@ You can download the latest version from http://openlp.org/. You can download the latest version from http://openlp.org/. - + OpenLP Version Updated OpenLP Version Updated - + OpenLP Main Display Blanked OpenLP Main Display Blanked - + The Main Display has been blanked out The Main Display has been blanked out - - Save Changes to Service? - Save Changes to Service? - - - - Your service has changed. Do you want to save those changes? - Your service has changed. Do you want to save those changes? - - - + Default Theme: %s Default Theme: %s @@ -2510,75 +2063,85 @@ You can download the latest version from http://openlp.org/. English (United Kingdom) - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected No Items Selected - + &Add to selected Service Item &Add to selected Service Item - + You must select one or more items to preview. You must select one or more items to preview. - + You must select one or more items to send live. You must select one or more items to send live. - + You must select one or more items. You must select one or more items. - - No items selected - No items selected - - - - You must select one or more items - You must select one or more items - - - - No Service Item Selected - No Service Item Selected - - - + You must select an existing service item to add to. You must select an existing service item to add to. - + Invalid Service Item Invalid Service Item - + You must select a %s service item. You must select a %s service item. @@ -2586,25 +2149,15 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List Plugin List - + Plugin Details Plugin Details - - - Version: - Version: - - - - About: - About: - Status: @@ -2621,238 +2174,319 @@ You can download the latest version from http://openlp.org/. Inactive - + %s (Inactive) %s (Inactive) - + %s (Active) %s (Active) - + %s (Disabled) %s (Disabled) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Reorder Service Item + + Fit Page + - - Delete - Delete + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Reorder Service Item OpenLP.ServiceManager - - New Service - New Service - - - - Create a new service - Create a new service - - - - Open Service - Open Service - - - + Load an existing service Load an existing service - - Save Service - Save Service - - - + Save this service Save this service - - Theme: - Theme: - - - + Select a theme for the service Select a theme for the service - + Move to &top Move to &top - + Move item to the top of the service. Move item to the top of the service. - + Move &up Move &up - + Move item up one position in the service. Move item up one position in the service. - + Move &down Move &down - + Move item down one position in the service. Move item down one position in the service. - + Move to &bottom Move to &bottom - + Move item to the end of the service. Move item to the end of the service. - + &Delete From Service &Delete From Service - + Delete the selected item from the service. Delete the selected item from the service. - + &Add New Item &Add New Item - + &Add to Selected Item &Add to Selected Item - + &Edit Item &Edit Item - + &Reorder Item &Reorder Item - + &Notes &Notes - - &Preview Verse - &Preview Verse - - - - &Live Verse - &Live Verse - - - + &Change Item Theme &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. File is not a valid service. - + Missing Display Handler Missing Display Handler - + Your item cannot be displayed as there is no handler to display it Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Service Item Notes @@ -2860,7 +2494,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP Configure OpenLP @@ -2883,17 +2517,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2907,137 +2541,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - Live - - - - Preview - Preview - - - + Move to previous Move to previous - + Move to next Move to next - + Hide Hide - + Move to live Move to live - + Start continuous loop Start continuous loop - + Stop continuous loop Stop continuous loop - - s - s - - - + Delay between slides in seconds Delay between slides in seconds - + Start playing media Start playing media - + Go To Go To - + Edit and reload song preview Edit and reload song preview - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions Spelling Suggestions - + Formatting Tags Formatting Tags - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - All Files + + Item Start Time + - + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + Select Image Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3045,477 +2722,432 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - New Theme - - - + Create a new theme. Create a new theme. - + Edit Theme Edit Theme - + Edit a theme. Edit a theme. - + Delete Theme Delete Theme - + Delete a theme. Delete a theme. - + Import Theme Import Theme - + Import a theme. Import a theme. - + Export Theme Export Theme - + Export a theme. Export a theme. - + &Edit Theme &Edit Theme - + &Delete Theme &Delete Theme - + Set As &Global Default Set As &Global Default - + %s (default) %s (default) - + You must select a theme to edit. You must select a theme to edit. - + You are unable to delete the default theme. You are unable to delete the default theme. - + You have not selected a theme. You have not selected a theme. - + Save Theme - (%s) Save Theme - (%s) - + Theme Exported Theme Exported - + Your theme has been successfully exported. Your theme has been successfully exported. - + Theme Export Failed Theme Export Failed - + Your theme could not be exported due to an error. Your theme could not be exported due to an error. - + Select Theme Import File Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. File is not a valid theme. - + Theme %s is used in the %s plugin. Theme %s is used in the %s plugin. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Solid Colour - + Gradient Gradient - - Image - Image - - - + Color: Colour: - + Gradient: Gradient: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - Image: - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: Font: - + Size: Size: - - pt - pt - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left Left - + Right Right - + Center Centre - - Vertical Align: - - - - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: X position: - + px px - + Y position: Y position: - + Width: Width: - + Height: Height: - + Use default location Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - New Theme - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3523,47 +3155,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - Themes - - - + Global Theme Global Theme - + Theme Level Theme Level - + S&ong Level S&ong Level - + 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. Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - + &Service Level &Service Level - + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. 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. - + &Global Level &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. Use the global theme, overriding any themes associated with either the service or the songs. @@ -3571,82 +3198,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error Error + + + &Delete + &Delete + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Add + + + + Advanced + Advanced + + + + All Files + All Files + + + + Create a new service. + Create a new service. + + + + &Edit + &Edit + + + + Import + + + + + Length %s + + + + + Live + Live + + + + Load + + + + + New + + + + + New Service + New Service + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Open Service + + + + Preview + Preview + + + + Replace Background + Replace Background + + + + Replace Live Background + Replace Live Background + + + + Reset Background + + + + + Reset Live Background + Reset Live Background + + + + Save Service + Save Service + + + + Service + + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Top + + + + Middle + Middle + + + + Bottom + Bottom + + + + About + About + + + + Browse... + Browse... + + + + Cancel + + + + + CCLI number: + CCLI number: + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Image + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + New Theme + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + No Items Selected + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Save && Preview + + + + Search + Search + + + + You must select an item to delete. + You must select an item to delete. + + + + You must select an item to edit. + You must select an item to edit. + + + + Theme + Singular + Theme + + + + Themes + Plural + Themes + + + + Version + + + + + Finished import. + Finished import. + + + + Format: + Format: + + + + Importing + Importing + + + + Importing "%s"... + Importing "%s"... + + + + Select Import Source + Select Import Source + + + + Select the import format and the location to import from. + + + + + 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. + 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. + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Ready. + + + + Starting import... + Starting import... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Welcome to the Bible Import Wizard + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Welcome to the Song Import Wizard + + + + Author + Singular + + + + + Authors + Plural + Authors + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Song Book + + + + Song Books + Plural + Song Books + + + + Song Maintenance + Song Maintenance + + + + Topic + Singular + Topic + + + + Topics + Plural + Topics + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. <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. - - Load - - - - + Load a new Presentation - - - Delete - Delete - Delete the selected Presentation - - Preview - Preview - - - + Preview the selected Presentation - - Live - Live - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular Presentation - + Presentations name plural Presentations - + Presentations container title Presentations @@ -3655,105 +3671,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Select Presentation(s) - + Automatic Automatic - + Present using: Present using: - + File Exists File Exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + Unsupported File Unsupported File - + This type of presentation is not supported. This type of presentation is not supported. - - You must select an item to delete. - You must select an item to delete. - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Available Controllers - - Advanced - Advanced - - - + Allow presentation application to be overriden Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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. - + Remote name singular - + Remotes name plural Remotes - + Remote container title @@ -3841,7 +3852,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Delete Song Usage Data @@ -3855,263 +3866,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Song Usage Extraction - + Select Date Range Select Date Range - + to to - + Report Location Report Location - + Output File Location Output File Location - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Song - + Import songs using the import wizard. Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - Edit - - - + Edit the selected Song - - Delete - Delete - - - + Delete the selected Song - - Preview - Preview - - - + Preview the selected Song - - Live - Live - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Song name singular Song - + Songs name plural Songs - + Songs container title Songs - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Author Maintenance - + Display name: Display name: - + First name: First name: - + Last name: Last name: @@ -4121,12 +4124,12 @@ The encoding is responsible for the correct character representation. You need to type in the first name of the author. - + You need to type in the last name of the author. You need to type in the last name of the author. - + You have not set a display name for the author, combine the first and last names? You have not set a display name for the author, combine the first and last names? @@ -4134,7 +4137,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4142,242 +4145,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Song Editor - + &Title: &Title: - + Alt&ernate title: Alt&ernate title: - + &Lyrics: &Lyrics: - + &Verse order: &Verse order: - - &Add - &Add - - - - &Edit - &Edit - - - + Ed&it All Ed&it All - - &Delete - &Delete - - - + Title && Lyrics Title && Lyrics - - Authors - Authors - - - + &Add to Song &Add to Song - + &Remove &Remove - + &Manage Authors, Topics, Song Books &Manage Authors, Topics, Song Books - - Topic - Topic - - - + A&dd to Song A&dd to Song - + R&emove R&emove - - Song Book - Song Book - - - + Book: Book: - + Number: Number: - + Authors, Topics && Song Book Authors, Topics && Song Book - - Theme - Theme - - - + New &Theme New &Theme - + Copyright Information Copyright Information - - © - © - - - - CCLI number: - CCLI number: - - - + Comments Comments - + Theme, Copyright Info && Comments Theme, Copyright Info && Comments - - Save && Preview - Save && Preview - - - + Add Author Add Author - + This author does not exist, do you want to add them? This author does not exist, do you want to add them? - + This author is already in the list. This author is already in the list. - - No Author Selected - No Author Selected - - - + 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. 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. - + Add Topic Add Topic - + This topic does not exist, do you want to add it? This topic does not exist, do you want to add it? - + This topic is already in the list. This topic is already in the list. - - No Topic Selected - No Topic Selected - - - + 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. 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. - + You need to type in a song title. You need to type in a song title. - + You need to type in at least one verse. You need to type in at least one verse. - + Warning Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book Add Book - + This song book does not exist, do you want to add it? This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4385,290 +4328,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Edit Verse - + &Verse type: &Verse type: - + &Insert &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - No OpenLP 2.0 Song Database Selected - - - - You need to select an OpenLP 2.0 song database file to import from. - You need to select an OpenLP 2.0 song database file to import from. - - - - No openlp.org 1.x Song Database Selected - No openlp.org 1.x Song Database Selected - - - - You need to select an openlp.org 1.x song database file to import from. - You need to select an openlp.org 1.x song database file to import from. - - - - No OpenSong Files Selected - No OpenSong Files Selected - - - - You need to add at least one OpenSong song file to import from. - You need to add at least one OpenSong song file to import from. - - - - No Words of Worship Files Selected - No Words of Worship Files Selected - - - - You need to add at least one Words of Worship file to import from. - You need to add at least one Words of Worship file to import from. - - - - No CCLI Files Selected - No CCLI Files Selected - - - - You need to add at least one CCLI file to import from. - You need to add at least one CCLI file to import from. - - - - No Songs of Fellowship File Selected - No Songs of Fellowship File Selected - - - - You need to add at least one Songs of Fellowship file to import from. - You need to add at least one Songs of Fellowship file to import from. - - - - No Document/Presentation Selected - No Document/Presentation Selected - - - - You need to add at least one document or presentation file to import from. - You need to add at least one document or presentation file to import from. - - - - Select OpenLP 2.0 Database File - Select OpenLP 2.0 Database File - - - - Select openlp.org 1.x Database File - Select openlp.org 1.x Database File - - - - Select Open Song Files - Select Open Song Files - - - - Select Words of Worship Files - Select Words of Worship Files - - - - Select CCLI Files - Select CCLI Files - - - - Select Songs of Fellowship Files - Select Songs of Fellowship Files - - - + Select Document/Presentation Files Select Document/Presentation Files - - Starting import... - Starting import... - - - + Song Import Wizard Song Import Wizard - - Welcome to the Song Import Wizard - Welcome to the Song Import Wizard - - - + 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. 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. - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - Select the import format, and where to import from. - - - - Format: - Format: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - - Words of Worship - Words of Worship - - - - CCLI/SongSelect - CCLI/SongSelect - - - - Songs of Fellowship - Songs of Fellowship - - - + Generic Document/Presentation Generic Document/Presentation - + Filename: Filename: - - Browse... - Browse... - - - - 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. - 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. - - - + Add Files... Add Files... - + Remove File(s) Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - Importing - - - + Please wait while your songs are imported. Please wait while your songs are imported. - - Ready. - Ready. - - - - %p% - %p% - - - - Importing "%s"... - Importing "%s"... - - - - Importing %s... - Importing %s... - - - - No EasyWorship Song Database Selected - No EasyWorship Song Database Selected - - - - You need to select an EasyWorship song database file to import from. - You need to select an EasyWorship song database file to import from. - - - - Select EasyWorship Database File - Select EasyWorship Database File - - - - EasyWorship - EasyWorship - - - + 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. 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. @@ -4678,88 +4489,43 @@ The encoding is responsible for the correct character representation. Administered by %s - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - All Files - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4767,116 +4533,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Song Maintenance - - - Maintain the lists of authors, topics and books Maintain the lists of authors, topics and books - - Search: - Search: - - - - Search - Search - - - + Titles Titles - + Lyrics Lyrics - - Authors - Authors - - - - You must select an item to edit. - You must select an item to edit. - - - - You must select an item to delete. - You must select an item to delete. - - - + Delete Song(s)? Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - Themes - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - Importing %s... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - Importing %s... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance Song Book Maintenance - + &Name: &Name: - + &Publisher: &Publisher: @@ -4886,33 +4609,31 @@ The encoding is responsible for the correct character representation. You need to type in a name for the book. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright copyright - - - © - © - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Finished import. - - - + Your song import failed. Your song import failed. @@ -4920,157 +4641,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Song Maintenance - - - - Authors - Authors - - - - Topics - Topics - - - - Song Books - Song Books - - - - &Add - &Add - - - - &Edit - &Edit - - - - &Delete - &Delete - - - + Could not add your author. Could not add your author. - + This author already exists. This author already exists. - + Could not add your topic. Could not add your topic. - + This topic already exists. This topic already exists. - + Could not add your book. Could not add your book. - + This book already exists. This book already exists. - + Could not save your changes. Could not save your changes. - + Could not save your modified topic, because it already exists. Could not save your modified topic, because it already exists. - + Delete Author Delete Author - + Are you sure you want to delete the selected author? Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - No author selected - - - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - No topic selected - - - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - No book selected - - - + Could not save your modified author, because the author already exists. Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5106,12 +4777,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Topic Maintenance - + Topic name: Topic name: @@ -5124,7 +4795,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Verse @@ -5134,37 +4805,29 @@ The encoding is responsible for the correct character representation. Chorus - + Bridge Bridge - + Pre-Chorus Pre-Chorus - + Intro Intro - + Ending Ending - + Other Other - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found No Parameter found - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? @@ -28,34 +28,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert &Alert - + Show an alert message. Show an alert message. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen - + Alert name singular Alert - + Alerts name plural Alerts - + Alerts container title Alerts @@ -64,30 +64,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message Alert Message - + Alert &text: Alert &text: - + &New &New - + &Save &Save - - - &Delete - &Delete - Displ&ay @@ -99,17 +94,17 @@ Do want to continue anyway? Display && Cl&ose - + New Alert New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. You haven't specified any text for your alert. Please type in some text before clicking New. - + &Parameter: @@ -125,95 +120,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Font - + Font name: Font name: - + Font color: Font color: - + Background color: Background color: - + Font size: Font size: - - pt - pt - - - + Alert timeout: Alert timeout: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + - - Location: - Location: + + Importing testaments... done. + - - Preview - Preview + + Importing books... %s + - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +205,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +218,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible &Bible - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. - + Import a Bible Import a Bible - + Add a new Bible Add a new Bible - + Edit the selected Bible Edit the selected Bible - + Delete the selected Bible Delete the selected Bible - - Preview - Preview - - - + Preview the selected Bible Preview the selected Bible - - Live - Live - - - + Send the selected Bible live Send the selected Bible live - - Service - Service - - - + Add the selected Bible to the service Add the selected Bible to the service - + Bible name singular Bible - + Bibles name plural Bibles - + Bibles container title Bibles - - &Import - &Import - - - - &Add - &Add - - - - &Edit - &Edit - - - - &Delete - &Delete - - - + No Book Found No Book Found - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +294,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error Scripture Reference Error - + Web Bible cannot be used Web Bible cannot be used - + Text Search is not available with Web Bibles. Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Verse Display - + Only show new chapter numbers Only show new chapter numbers - + Layout style: Layout style: - + Display style: Display style: - + Bible theme: Bible theme: - + Verse Per Slide Verse Per Slide - + Verse Per Line Verse Per Line - + Continuous Continuous - + No Brackets No Brackets - + ( And ) ( And ) - + { And } { And } - + [ And ] [ And ] - + Note: Changes do not affect verses already in the service. Note: Changes do not affect verses already in the service. - + Display second Bible verses Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bible Import Wizard - - Welcome to the Bible Import Wizard - Welcome to the Bible Import Wizard - - - + 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. 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. - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - Select the import format, and where to import from. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Web Download - - File location: - File location: - - - - Books location: - Books location: - - - - Verse location: - Verse location: - - - - Bible filename: - Bible filename: - - - + Location: Location: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Bible: - + Download Options Download Options - + Server: Server: - + Username: Username: - + Password: Password: - + Proxy Server (Optional) Proxy Server (Optional) - + License Details License Details - + Set up the Bible's license details. Set up the Bible's license details. - + Version name: Version name: - + Copyright: Copyright: - - Importing - Importing - - - + Please wait while your Bible is imported. Please wait while your Bible is imported. - - Ready. - Ready. - - - - Invalid Bible Location - Invalid Bible Location - - - - You need to specify a file to import your Bible from. - You need to specify a file to import your Bible from. - - - - Invalid Books File - Invalid Books File - - - + You need to specify a file with books of the Bible to use in the import. You need to specify a file with books of the Bible to use in the import. - - Invalid Verse File - Invalid Verse File - - - + You need to specify a file of Bible verses to import. You need to specify a file of Bible verses to import. - - Invalid OpenSong Bible - Invalid OpenSong Bible - - - - You need to specify an OpenSong Bible file to import. - You need to specify an OpenSong Bible file to import. - - - - Empty Version Name - Empty Version Name - - - + You need to specify a version name for your Bible. You need to specify a version name for your Bible. - - Empty Copyright - Empty Copyright - - - + Bible Exists Bible Exists - - Open OSIS File - Open OSIS File - - - - Open Books CSV File - Open Books CSV File - - - - Open Verses CSV File - Open Verses CSV File - - - - Open OpenSong Bible - Open OpenSong Bible - - - - Starting import... - Starting import... - - - - Finished import. - Finished import. - - - + Your Bible import failed. Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. This Bible already exists. Please import a different Bible or first delete the existing one. - + Starting Registering bible... Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Registered bible. Please note, that verses will be downloaded on @@ -743,146 +548,123 @@ demand and thus an internet connection is required. demand and thus an internet connection is required. - + Permissions: Permissions: - + CSV File - - Open openlp.org 1.x Bible - - - - + openlp.org 1.x bible - - All Files - All Files - - - - openlp.org 1.x - openlp.org 1.x - - - + Bibleserver - - 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. - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? + BiblesPlugin.MediaItem - + Quick Quick - - Advanced - Advanced - - - - Version: - Version: - - - - Search type: - Search type: - - - + Find: Find: - - Search - Search - - - + Results: Results: - + Book: Book: - + Chapter: Chapter: - + Verse: Verse: - + From: From: - + To: To: - - Verse Search - Verse Search - - - + Text Search Text Search - + Clear Clear - + Keep Keep - + Second: Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - Importing %s... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -891,12 +673,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -905,7 +687,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. <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. @@ -926,210 +708,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Edit Custom Slides - - Move slide down one position. - Move slide down one position. - - - + &Title: &Title: - + Add a new slide at bottom. Add a new slide at bottom. - + Edit the selected slide. Edit the selected slide. - + Edit all the slides at once. Edit all the slides at once. - - Delete the selected slide. - Delete the selected slide. - - - + Split Slide Split Slide - + Split a slide into two by inserting a slide splitter. Split a slide into two by inserting a slide splitter. - + The&me: The&me: - + &Credits: &Credits: - - Save && Preview - Save && Preview - - - + You need to type in a title. You need to type in a title. - + You need to add at least one slide You need to add at least one slide - - Move slide up one position. - Move slide up one position. - - - - &Add - &Add - - - - &Edit - &Edit - - - + Ed&it All Ed&it All - - - &Delete - &Delete - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - You haven't selected an item to edit. - - - - You haven't selected an item to delete. - You haven't selected an item to delete. - CustomsPlugin - - Import - Import - - - + Import a Custom Import a Custom - - Load - Load - - - + Load a new Custom Load a new Custom - - Add - Add - - - + Add a new Custom Add a new Custom - - Edit - Edit - - - + Edit the selected Custom Edit the selected Custom - - Delete - Delete - - - + Delete the selected Custom Delete the selected Custom - - Preview - Preview - - - + Preview the selected Custom Preview the selected Custom - - Live - Live - - - + Send the selected Custom live Send the selected Custom live - - Service - Service - - - + Add the selected Custom to the service Add the selected Custom to the service - + Custom name singular Custom - + Customs name plural Customs - + Custom container title Custom @@ -1138,169 +832,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. <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. - - Load - Load - - - + Load a new Image Load a new Image - - Add - Add - - - + Add a new Image Add a new Image - - Edit - Edit - - - + Edit the selected Image Edit the selected Image - - Delete - Delete - - - + Delete the selected Image Delete the selected Image - - Preview - Preview - - - + Preview the selected Image Preview the selected Image - - Live - Live - - - + Send the selected Image live Send the selected Image live - - Service - Service - - - + Add the selected Image to the service Add the selected Image to the service - + Image name singular Image - + Images name plural Images - + Images container title Images + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Select Image(s) - - All Files - All Files - - - - Replace Live Background - Replace Live Background - - - - Replace Background - Replace Background - - - + You must select an image to delete. You must select an image to delete. - - Image(s) - Image(s) - - - + You must select an image to replace the background with. You must select an image to replace the background with. - - Reset Live Background - Reset Live Background - - - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1308,94 +940,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - Load - - - + Load a new Media Load a new Media - - Add - Add - - - + Add a new Media Add a new Media - - Edit - Edit - - - + Edit the selected Media Edit the selected Media - - Delete - Delete - - - + Delete the selected Media Delete the selected Media - - Preview - Preview - - - + Preview the selected Media Preview the selected Media - - Live - Live - - - + Send the selected Media live Send the selected Media live - - Service - Service - - - + Add the selected Media to the service Add the selected Media to the service - + Media name singular Media - + Media name plural Media - + Media container title Media @@ -1404,50 +1001,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - Media - - - + Select Media Select Media - - Replace Live Background - Replace Live Background - - - - Replace Background - Replace Background - - - + You must select a media file to delete. You must select a media file to delete. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1455,12 +1027,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1468,16 +1040,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Media - - - Media Display Media Display - + Use Phonon for video playback Use Phonon for video playback @@ -1485,18 +1052,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files Image Files OpenLP.AboutForm - - - About OpenLP - About OpenLP - 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. - - About - About - - - + Credits Credits @@ -1540,7 +1097,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr build %s - + Project Lead Raoul "superfly" Snyman @@ -1593,9 +1150,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Advanced - - - + UI Settings UI Settings - + Number of recent files to display: Number of recent files to display: - + Remember active media manager tab on startup Remember active media manager tab on startup - + Double-click to send items straight to live Double-click to send items straight to live - + Expand new service items on creation Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Background color: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Delete - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1857,40 +1424,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. 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. - + Error Occurred Error Occurred - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1900,24 +1497,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename File Rename - + New File Name: New File Name: - + File Copy @@ -1949,130 +1537,130 @@ Version: %s OpenLP.GeneralTab - + General General - + Monitors Monitors - + Select monitor for output display: Select monitor for output display: - + Display if a single screen Display if a single screen - + Application Startup Application Startup - + Show blank screen warning Show blank screen warning - + Automatically open the last service Automatically open the last service - + Show the splash screen Show the splash screen - + Application Settings Application Settings - + CCLI Details CCLI Details - - CCLI number: - CCLI number: - - - + SongSelect username: SongSelect username: - + SongSelect password: SongSelect password: - + Display Position Display Position - + X X - + Y Y - + Height Height - + Width Width - + Override display position Override display position - + Prompt to save before starting a new service Prompt to save before starting a new service - + Automatically preview next item in service Automatically preview next item in service - + Slide loop delay: Slide loop delay: - + sec sec - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2090,7 +1678,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2098,407 +1686,372 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &File - + &Import &Import - + &Export &Export - + &View &View - + M&ode M&ode - + &Tools &Tools - + &Settings &Settings - + &Language &Language - + &Help &Help - + Media Manager Media Manager - + Service Manager Service Manager - + Theme Manager Theme Manager - + &New &New - - New Service - New Service - - - - Create a new service. - Create a new service. - - - + Ctrl+N Ctrl+N - + &Open &Open - - Open Service - Open Service - - - + Open an existing service. Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Save - - Save Service - Save Service - - - + Save the current service to disk. Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Save &As... - + Save Service As Save Service As - + Save the current service under a new name. Save the current service under a new name. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme &Theme - + &Configure OpenLP... &Configure OpenLP... - + &Media Manager &Media Manager - + Toggle Media Manager Toggle Media Manager - + Toggle the visibility of the media manager. Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager - + Toggle the visibility of the service manager. Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel &Live Panel - + Toggle Live Panel Toggle Live Panel - + Toggle the visibility of the live panel. Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin List - + List the Plugins List the Plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About &About - + More information about OpenLP More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online Help - + &Web Site &Web Site - + &Auto Detect &Auto Detect - + Use the system language, if available. Use the system language, if available. - + Set the interface language to %s Set the interface language to %s - + Add &Tool... Add &Tool... - + Add an application to the list of tools. Add an application to the list of tools. - + &Default &Default - + Set the view mode back to the default. Set the view mode back to the default. - + &Setup &Setup - + Set the view mode to Setup. Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. Set the view mode to Live. - + OpenLP Version Updated OpenLP Version Updated - + OpenLP Main Display Blanked OpenLP Main Display Blanked - + The Main Display has been blanked out The Main Display has been blanked out - - Save Changes to Service? - Save Changes to Service? - - - - Your service has changed. Do you want to save those changes? - Your service has changed. Do you want to save those changes? - - - + Default Theme: %s Default Theme: %s - + 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/. @@ -2513,75 +2066,85 @@ You can download the latest version from http://openlp.org/. English (South Africa) - + Configure &Shortcuts... Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected No Items Selected - + &Add to selected Service Item &Add to selected Service Item - + You must select one or more items to preview. You must select one or more items to preview. - + You must select one or more items to send live. You must select one or more items to send live. - + You must select one or more items. You must select one or more items. - - No items selected - No items selected - - - - You must select one or more items - You must select one or more items - - - - No Service Item Selected - No Service Item Selected - - - + You must select an existing service item to add to. You must select an existing service item to add to. - + Invalid Service Item Invalid Service Item - + You must select a %s service item. You must select a %s service item. @@ -2589,25 +2152,15 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List Plugin List - + Plugin Details Plugin Details - - - Version: - Version: - - - - About: - About: - Status: @@ -2624,238 +2177,319 @@ You can download the latest version from http://openlp.org/. Inactive - + %s (Inactive) %s (Inactive) - + %s (Active) %s (Active) - + %s (Disabled) %s (Disabled) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Reorder Service Item + + Fit Page + - - Delete - Delete + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Reorder Service Item OpenLP.ServiceManager - - New Service - New Service - - - - Create a new service - Create a new service - - - - Open Service - Open Service - - - + Load an existing service Load an existing service - - Save Service - Save Service - - - + Save this service Save this service - - Theme: - Theme: - - - + Select a theme for the service Select a theme for the service - + Move to &top Move to &top - + Move item to the top of the service. Move item to the top of the service. - + Move &up Move &up - + Move item up one position in the service. Move item up one position in the service. - + Move &down Move &down - + Move item down one position in the service. Move item down one position in the service. - + Move to &bottom Move to &bottom - + Move item to the end of the service. Move item to the end of the service. - + &Delete From Service &Delete From Service - + Delete the selected item from the service. Delete the selected item from the service. - + &Add New Item &Add New Item - + &Add to Selected Item &Add to Selected Item - + &Edit Item &Edit Item - + &Reorder Item &Reorder Item - + &Notes &Notes - - &Preview Verse - &Preview Verse - - - - &Live Verse - &Live Verse - - - + &Change Item Theme &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. File is not a valid service. - + Missing Display Handler Missing Display Handler - + Your item cannot be displayed as there is no handler to display it Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all &Expand all - + Expand all the service items. Expand all the service items. - + &Collapse all &Collapse all - + Collapse all the service items. Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Service Item Notes @@ -2863,7 +2497,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP Configure OpenLP @@ -2886,17 +2520,17 @@ The content encoding is not UTF-8. Shortcut - + Default: %s Default: %s - + Custom: Custom: - + None None @@ -2910,137 +2544,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - Live - - - - Preview - Preview - - - + Move to previous Move to previous - + Move to next Move to next - + Hide Hide - + Move to live Move to live - + Start continuous loop Start continuous loop - + Stop continuous loop Stop continuous loop - - s - s - - - + Delay between slides in seconds Delay between slides in seconds - + Start playing media Start playing media - + Go To Go To - + Edit and reload song preview Edit and reload song preview - + Blank Screen Blank Screen - + Blank to Theme Blank to Theme - + Show Desktop Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions Spelling Suggestions - + Formatting Tags Formatting Tags - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - All Files + + Item Start Time + - + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + Select Image Select Image - + Theme Name Missing Theme Name Missing - + There is no name for this theme. Please enter one. There is no name for this theme. Please enter one. - + Theme Name Invalid Theme Name Invalid - + Invalid theme name. Please enter one. Invalid theme name. Please enter one. - + (%d lines per slide) (%d lines per slide) @@ -3048,477 +2725,432 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - New Theme - - - + Create a new theme. Create a new theme. - + Edit Theme Edit Theme - + Edit a theme. Edit a theme. - + Delete Theme Delete Theme - + Delete a theme. Delete a theme. - + Import Theme Import Theme - + Import a theme. Import a theme. - + Export Theme Export Theme - + Export a theme. Export a theme. - + &Edit Theme &Edit Theme - + &Delete Theme &Delete Theme - + Set As &Global Default Set As &Global Default - + %s (default) %s (default) - + You must select a theme to edit. You must select a theme to edit. - + You are unable to delete the default theme. You are unable to delete the default theme. - + You have not selected a theme. You have not selected a theme. - + Save Theme - (%s) Save Theme - (%s) - + Theme Exported Theme Exported - + Your theme has been successfully exported. Your theme has been successfully exported. - + Theme Export Failed Theme Export Failed - + Your theme could not be exported due to an error. Your theme could not be exported due to an error. - + Select Theme Import File Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. File is not a valid theme. - + Theme %s is used in the %s plugin. Theme %s is used in the %s plugin. - + &Copy Theme &Copy Theme - + &Rename Theme &Rename Theme - + &Export Theme &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard Theme Wizard - + Welcome to the Theme Wizard Welcome to the Theme Wizard - + Set Up Background Set Up Background - + Set up your theme's background according to the parameters below. Set up your theme's background according to the parameters below. - + Background type: Background type: - + Solid Color Solid Colour - + Gradient Gradient - - Image - Image - - - + Color: Color: - + Gradient: Gradient: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right Top Left - Bottom Right - + Bottom Left - Top Right Bottom Left - Top Right - - Image: - Image: - - - + Main Area Font Details Main Area Font Details - + Define the font and display characteristics for the Display text Define the font and display characteristics for the Display text - + Font: Font: - + Size: Size: - - pt - pt - - - + Line Spacing: Line Spacing: - + &Outline: &Outline: - + &Shadow: &Shadow: - + Bold Bold - + Italic Italic - + Footer Area Font Details Footer Area Font Details - + Define the font and display characteristics for the Footer text Define the font and display characteristics for the Footer text - + Text Formatting Details Text Formatting Details - + Allows additional display formatting information to be defined Allows additional display formatting information to be defined - + Horizontal Align: Horizontal Align: - + Left Left - + Right Right - + Center Centre - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: X position: - + px px - + Y position: Y position: - + Width: Width: - + Height: Height: - + Use default location Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - Vertical Align: - - - - - New Theme - New Theme - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3526,47 +3158,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - Themes - - - + Global Theme Global Theme - + Theme Level Theme Level - + S&ong Level S&ong Level - + 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. Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - + &Service Level &Service Level - + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. 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. - + &Global Level &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. Use the global theme, overriding any themes associated with either the service or the songs. @@ -3574,82 +3201,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error Error + + + &Delete + &Delete + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Add + + + + Advanced + Advanced + + + + All Files + All Files + + + + Create a new service. + Create a new service. + + + + &Edit + &Edit + + + + Import + Import + + + + Length %s + + + + + Live + Live + + + + Load + Load + + + + New + + + + + New Service + New Service + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Open Service + + + + Preview + Preview + + + + Replace Background + Replace Background + + + + Replace Live Background + Replace Live Background + + + + Reset Background + + + + + Reset Live Background + Reset Live Background + + + + Save Service + Save Service + + + + Service + Service + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Top + + + + Middle + Middle + + + + Bottom + Bottom + + + + About + About + + + + Browse... + Browse... + + + + Cancel + + + + + CCLI number: + CCLI number: + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Image + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + New Theme + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + No Items Selected + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Save && Preview + + + + Search + Search + + + + You must select an item to delete. + You must select an item to delete. + + + + You must select an item to edit. + You must select an item to edit. + + + + Theme + Singular + Theme + + + + Themes + Plural + Themes + + + + Version + + + + + Finished import. + Finished import. + + + + Format: + Format: + + + + Importing + Importing + + + + Importing "%s"... + Importing "%s"... + + + + Select Import Source + Select Import Source + + + + Select the import format and the location to import from. + + + + + 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. + 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. + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Ready. + + + + Starting import... + Starting import... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Welcome to the Bible Import Wizard + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Welcome to the Song Import Wizard + + + + Author + Singular + + + + + Authors + Plural + Authors + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Song Book + + + + Song Books + Plural + Song Books + + + + Song Maintenance + Song Maintenance + + + + Topic + Singular + Topic + + + + Topics + Plural + Topics + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. <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. - - Load - Load - - - + Load a new Presentation - - - Delete - Delete - Delete the selected Presentation - - Preview - Preview - - - + Preview the selected Presentation - - Live - Live - - - + Send the selected Presentation live - - Service - Service - - - + Add the selected Presentation to the service - + Presentation name singular Presentation - + Presentations name plural Presentations - + Presentations container title Presentations @@ -3658,105 +3674,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Select Presentation(s) - + Automatic Automatic - + Present using: Present using: - + File Exists File Exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + Unsupported File Unsupported File - - You must select an item to delete. - You must select an item to delete. - - - + This type of presentation is not supported. This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Available Controllers - - Advanced - Advanced - - - + Allow presentation application to be overriden Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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. - + Remote name singular - + Remotes name plural Remotes - + Remote container title @@ -3854,267 +3865,259 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? - + Delete Song Usage Data Delete Song Usage Data + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Output File Location Output File Location - + Song Usage Extraction Song Usage Extraction - + Select Date Range Select Date Range - + to to - + Report Location Report Location - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Song - + Import songs using the import wizard. Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - Add - - - + Add a new Song - - Edit - Edit - - - + Edit the selected Song - - Delete - Delete - - - + Delete the selected Song - - Preview - Preview - - - + Preview the selected Song - - Live - Live - - - + Send the selected Song live - - Service - Service - - - + Add the selected Song to the service - + Song name singular Song - + Songs name plural Songs - + Songs container title Songs - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Author Maintenance - + Display name: Display name: - + First name: First name: - + Last name: Last name: @@ -4124,12 +4127,12 @@ The encoding is responsible for the correct character representation. You need to type in the first name of the author. - + You need to type in the last name of the author. You need to type in the last name of the author. - + You have not set a display name for the author, combine the first and last names? You have not set a display name for the author, combine the first and last names? @@ -4137,7 +4140,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4145,242 +4148,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Song Editor - + &Title: &Title: - + &Lyrics: &Lyrics: - - &Add - &Add - - - - &Edit - &Edit - - - + Ed&it All Ed&it All - - &Delete - &Delete - - - + Title && Lyrics Title && Lyrics - - Authors - Authors - - - + &Add to Song &Add to Song - + &Remove &Remove - + &Manage Authors, Topics, Song Books &Manage Authors, Topics, Song Books - - Topic - Topic - - - + A&dd to Song A&dd to Song - + R&emove R&emove - - Song Book - Song Book - - - + Authors, Topics && Song Book Authors, Topics && Song Book - - Theme - Theme - - - + New &Theme New &Theme - + Copyright Information Copyright Information - - © - © - - - + Comments Comments - + Theme, Copyright Info && Comments Theme, Copyright Info && Comments - - Save && Preview - Save && Preview - - - + Add Author Add Author - + This author does not exist, do you want to add them? This author does not exist, do you want to add them? - + This author is already in the list. This author is already in the list. - - No Author Selected - No Author Selected - - - + 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. 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. - + Add Topic Add Topic - + This topic does not exist, do you want to add it? This topic does not exist, do you want to add it? - + This topic is already in the list. This topic is already in the list. - - No Topic Selected - No Topic Selected - - - + 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. 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. - + You need to type in a song title. You need to type in a song title. - + You need to type in at least one verse. You need to type in at least one verse. - + Warning Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book Add Book - + This song book does not exist, do you want to add it? This song book does not exist, do you want to add it? - + Alt&ernate title: Alt&ernate title: - + &Verse order: &Verse order: - - CCLI number: - CCLI number: - - - + Book: Book: - + Number: Number: - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4388,381 +4331,204 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Edit Verse - + &Verse type: &Verse type: - + &Insert &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenSong Files Selected - No OpenSong Files Selected - - - - You need to add at least one OpenSong song file to import from. - You need to add at least one OpenSong song file to import from. - - - - No CCLI Files Selected - No CCLI Files Selected - - - - You need to add at least one CCLI file to import from. - You need to add at least one CCLI file to import from. - - - - Starting import... - Starting import... - - - + Song Import Wizard Song Import Wizard - - Welcome to the Song Import Wizard - Welcome to the Song Import Wizard - - - + 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. 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. - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - Select the import format, and where to import from. - - - - Format: - Format: - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - + Add Files... Add Files... - + Remove File(s) Remove File(s) - + Filename: Filename: - - Browse... - Browse... - - - - Importing - Importing - - - + Please wait while your songs are imported. Please wait while your songs are imported. - - Ready. - Ready. - - - - %p% - %p% - - - - No OpenLP 2.0 Song Database Selected - No OpenLP 2.0 Song Database Selected - - - - You need to select an OpenLP 2.0 song database file to import from. - You need to select an OpenLP 2.0 song database file to import from. - - - - No openlp.org 1.x Song Database Selected - No openlp.org 1.x Song Database Selected - - - - You need to select an openlp.org 1.x song database file to import from. - You need to select an openlp.org 1.x song database file to import from. - - - - No Words of Worship Files Selected - No Words of Worship Files Selected - - - - You need to add at least one Words of Worship file to import from. - You need to add at least one Words of Worship file to import from. - - - - No Songs of Fellowship File Selected - No Songs of Fellowship File Selected - - - - You need to add at least one Songs of Fellowship file to import from. - You need to add at least one Songs of Fellowship file to import from. - - - - No Document/Presentation Selected - No Document/Presentation Selected - - - - You need to add at least one document or presentation file to import from. - You need to add at least one document or presentation file to import from. - - - - Select OpenLP 2.0 Database File - Select OpenLP 2.0 Database File - - - - Select openlp.org 1.x Database File - Select openlp.org 1.x Database File - - - - Select Open Song Files - Select Open Song Files - - - - Select Words of Worship Files - Select Words of Worship Files - - - - Select Songs of Fellowship Files - Select Songs of Fellowship Files - - - + Select Document/Presentation Files Select Document/Presentation Files - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - Words of Worship - Words of Worship - - - - CCLI/SongSelect - CCLI/SongSelect - - - - Songs of Fellowship - Songs of Fellowship - - - + Generic Document/Presentation Generic Document/Presentation - - Select CCLI Files - Select CCLI Files - - - - 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. - 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. - - - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing "%s"... - Importing "%s"... - - - - Importing %s... - Importing %s... - - - + 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. 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. - - - No EasyWorship Song Database Selected - No EasyWorship Song Database Selected - - - - You need to select an EasyWorship song database file to import from. - You need to select an EasyWorship song database file to import from. - - - - Select EasyWorship Database File - Select EasyWorship Database File - - - - EasyWorship - EasyWorship - Administered by %s Administered by %s - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - All Files - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4770,116 +4536,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Song Maintenance - - - Maintain the lists of authors, topics and books Maintain the lists of authors, topics and books - - Search: - Search: - - - - Search - Search - - - + Titles Titles - + Lyrics Lyrics - - Authors - Authors - - - - You must select an item to edit. - You must select an item to edit. - - - - You must select an item to delete. - You must select an item to delete. - - - + Delete Song(s)? Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - Themes - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - Importing %s... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - Importing %s... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance Song Book Maintenance - + &Name: &Name: - + &Publisher: &Publisher: @@ -4889,33 +4612,31 @@ The encoding is responsible for the correct character representation. You need to type in a name for the book. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright copyright - - - © - © - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Finished import. - - - + Your song import failed. Your song import failed. @@ -4923,157 +4644,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Song Maintenance - - - - Authors - Authors - - - - Topics - Topics - - - - Song Books - Song Books - - - - &Add - &Add - - - - &Edit - &Edit - - - - &Delete - &Delete - - - + Could not add your author. Could not add your author. - + This author already exists. This author already exists. - + Could not add your topic. Could not add your topic. - + This topic already exists. This topic already exists. - + Could not add your book. Could not add your book. - + This book already exists. This book already exists. - + Could not save your changes. Could not save your changes. - + Could not save your modified topic, because it already exists. Could not save your modified topic, because it already exists. - + Delete Author Delete Author - + Are you sure you want to delete the selected author? Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - No author selected! - - - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - No topic selected! - - - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - No book selected! - - - + Could not save your modified author, because the author already exists. Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5109,12 +4780,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Topic Maintenance - + Topic name: Topic name: @@ -5127,7 +4798,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Verse @@ -5137,37 +4808,29 @@ The encoding is responsible for the correct character representation. Chorus - + Bridge Bridge - + Pre-Chorus Pre-Chorus - + Intro Intro - + Ending Ending - + Other Other - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found Parámetro no hallado - + You have not entered a parameter to be replaced. Do you want to continue anyway? No ha ingresado un parámetro para reemplazarlo. ¿Desea continuar de todas maneras? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? El texto de alerta no contiene '<>'. @@ -30,34 +30,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert &Alerta - + Show an alert message. Mostrar mensaje de alerta - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Alerts Plugin</strong><br />El plugin de alertas controla la visualización de mensajes de guardería - + Alert name singular Alerta - + Alerts name plural Alertas - + Alerts container title Alertas @@ -66,30 +66,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message Mensaje de Alerta - + Alert &text: &Texto de Alerta: - + &New &Nuevo - + &Save &Guardar - - - &Delete - &Eliminar - Displ&ay @@ -101,17 +96,17 @@ Do want to continue anyway? M&ostrar && Cerrar - + New Alert Alerta Nueva - + You haven't specified any text for your alert. Please type in some text before clicking New. No ha especificado ningún texto de alerta. Por favor, escriba algún texto antes de hacer clic en Nueva. - + &Parameter: @@ -127,95 +122,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Tipo de Letra - + Font name: Nombre: - + Font color: Color: - + Background color: Color de Fondo: - + Font size: Tamaño: - - pt - pt - - - + Alert timeout: Espera: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + - - Location: - Ubicación: + + Importing testaments... done. + - - Preview - Vista Previa + + Importing books... %s + - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Superior - - - - Middle - Medio - - - - Bottom - Inferior + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -223,12 +207,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -236,110 +220,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible &Biblia - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <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.. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - Vista Previa - - - + Preview the selected Bible - - Live - - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular Biblia - + Bibles name plural Biblias - + Bibles container title Biblias - - &Import - - - - - &Add - - - - - &Edit - - - - - &Delete - &Eliminar - - - + No Book Found No se encontró el libro - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -347,39 +296,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error Error de Referencia Bíblica - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Visualización de versículos - + Only show new chapter numbers Solo mostrar los números de capítulos nuevos - + Layout style: - + Display style: - + Bible theme: - + Verse Per Slide - + Verse Per Line - + Continuous - + No Brackets - + ( And ) - + { And } - + [ And ] - + Note: Changes do not affect verses already in the service. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Asistente de Importación de Biblias - - Welcome to the Bible Import Wizard - Bienvenido al Asistente de Importación de Biblias - - - + 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. 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. - - Select Import Source - Seleccione Origen de Importación - - - - Select the import format, and where to import from. - Seleccione el formato y el lugar del cual importar. - - - - Format: - Formato: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Descarga Web - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - + Location: Ubicación: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Biblia: - + Download Options Opciones de Descarga - + Server: Servidor: - + Username: Usuario: - + Password: Contraseña: - + Proxy Server (Optional) Servidor Proxy (Opcional) - + License Details Detalles de Licencia - + Set up the Bible's license details. Establezca los detalles de licencia de la Biblia. - + Version name: - + Copyright: Derechos de autor: - - Importing - Importando - - - + Please wait while your Bible is imported. Por favor, espere mientras que la Biblia es importada. - - Ready. - Listo. - - - - Invalid Bible Location - Ubicación de Biblia no válida - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Archivo de Libros No Válido - - - + You need to specify a file with books of the Bible to use in the import. - - Invalid Verse File - Archivo de Versículo No Válido - - - + You need to specify a file of Bible verses to import. - - Invalid OpenSong Bible - Biblia OpenSong No Válida - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Nombre de Versión Vacío - - - + You need to specify a version name for your Bible. - - Empty Copyright - Derechos de autor en blanco - - - + Bible Exists Ya existe la Biblia - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Abrir Biblia OpenSong - - - - Starting import... - Iniciando importación... - - - - Finished import. - Importación finalizada. - - - + Your Bible import failed. La importación de su Biblia falló. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - - - - + Permissions: - + CSV File - + openlp.org 1.x bible - - All Files - - - - + Bibleserver - - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick Rápida - - Advanced - Avanzado - - - - Version: - Versión: - - - - Search type: - - - - + Find: Encontrar: - - Search - Buscar - - - + Results: Resultados: - + Book: Libro: - + Chapter: Capítulo: - + Verse: Versículo: - + From: Desde: - + To: Hasta: - - Verse Search - Búsqueda de versículo - - - + Text Search Búsqueda de texto - + Clear Limpiar - + Keep Conservar - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -890,12 +672,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -904,7 +686,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. @@ -925,210 +707,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Editar Diapositivas Personalizadas - - Move slide up one position. - - - - - Move slide down one position. - - - - + &Title: - + Add a new slide at bottom. - + Edit the selected slide. - + Edit all the slides at once. - - Delete the selected slide. - - - - + Split Slide - + Split a slide into two by inserting a slide splitter. - + The&me: - + &Credits: - - Save && Preview - Guardar && Vista Previa - - - + You need to type in a title. - + You need to add at least one slide - - &Add - - - - - &Edit - - - - + Ed&it All - - - &Delete - &Eliminar - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - Editar - - - + Edit the selected Custom - - Delete - Eliminar - - - + Delete the selected Custom - - Preview - Vista Previa - - - + Preview the selected Custom - - Live - - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular - + Customs name plural - + Custom container title @@ -1137,169 +831,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - Editar - - - + Edit the selected Image - - Delete - Eliminar - - - + Delete the selected Image - - Preview - Vista Previa - - - + Preview the selected Image - - Live - - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular Imagen - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Seleccionar Imagen(es) - - All Files - - - - - Replace Live Background - - - - - Replace Background - - - - - Reset Live Background - - - - + You must select an image to delete. - - Image(s) - Imagen(es) - - - + You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1307,146 +939,86 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - Editar - - - + Edit the selected Media - - Delete - Eliminar - - - + Delete the selected Media - - Preview - Vista Previa - - - + Preview the selected Media - - Live - - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular - + Medios - + Media name plural - + Medios - + Media container title - + Medios MediaPlugin.MediaItem - - Media - Medios - - - + Select Media Seleccionar Medios - - Replace Live Background - - - - - Replace Background - - - - + You must select a media file to delete. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1454,12 +1026,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1467,16 +1039,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - - - - Media Display - + Use Phonon for video playback @@ -1484,18 +1051,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files OpenLP.AboutForm - - - About OpenLP - Acerca de OpenLP - 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 - - About - Acerca De - - - + Credits Créditos @@ -1533,7 +1090,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + Project Lead Raoul "superfly" Snyman @@ -1586,9 +1143,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Avanzado - - - + UI Settings - + Number of recent files to display: - + Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Color de Fondo: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1850,40 +1417,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. - + Error Occurred - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1893,24 +1490,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1942,130 +1530,130 @@ Version: %s OpenLP.GeneralTab - + General General - + Monitors Monitores - + Select monitor for output display: Seleccionar monitor para visualizar la salida: - + Display if a single screen - + Application Startup Inicio de la Aplicación - + Show blank screen warning Mostrar advertencia de pantalla en blanco - + Automatically open the last service Abrir automáticamente el último servicio - + Show the splash screen Mostrar pantalla de bienvenida - + Application Settings Configuración del Programa - + Prompt to save before starting a new service - + Automatically preview next item in service - + Slide loop delay: - + sec - + CCLI Details Detalles de CCLI - - CCLI number: - - - - + SongSelect username: - + SongSelect password: - + Display Position - + X - + Y - + Height - + Width - + Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2083,7 +1671,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2091,409 +1679,374 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Archivo - + &Import &Importar - + &Export &Exportar - + &View &Ver - + M&ode M&odo - + &Tools &Herramientas - + &Settings &Preferencias - + &Language &Idioma - + &Help &Ayuda - + Media Manager Gestor de Medios - + Service Manager Gestor de Servicio - + Theme Manager Gestor de Temas - + &New &Nuevo - - New Service - Servicio Nuevo - - - - Create a new service. - - - - + Ctrl+N Ctrl+N - + &Open &Abrir - - Open Service - Abrir Servicio - - - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Guardar - - Save Service - Guardar Servicio - - - + Save the current service to disk. - + Ctrl+S Crtl+G - + Save &As... Guardar &Como... - + Save Service As Guardar Servicio Como - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Salir - + Quit OpenLP Salir de OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager Gestor de &Medios - + Toggle Media Manager Alternar Gestor de Medios - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager Gestor de &Temas - + Toggle Theme Manager Alternar Gestor de Temas - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager Gestor de &Servicio - + Toggle Service Manager Alternar Gestor de Servicio - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Panel de Vista Previa - + Toggle Preview Panel Alternar Panel de Vista Previa - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List Lista de &Plugins - + List the Plugins Lista de Plugins - + Alt+F7 Alt+F7 - + &User Guide Guía de &Usuario - + &About &Acerca De - + More information about OpenLP Más información acerca de OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ayuda En Línea - + &Web Site Sitio &Web - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live En &vivo - + Set the view mode to Live. - + 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/. - + OpenLP Version Updated Versión de OpenLP Actualizada - + OpenLP Main Display Blanked Pantalla Principal de OpenLP en Blanco - + The Main Display has been blanked out La Pantalla Principal esta en negro - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - + Default Theme: %s @@ -2504,75 +2057,85 @@ You can download the latest version from http://openlp.org/. Español - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected - + &Add to selected Service Item - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - - No items selected - - - - - You must select one or more items - Usted debe seleccionar uno o más elementos - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. @@ -2580,25 +2143,15 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List Lista de Plugins - + Plugin Details Detalles de Plugin - - - Version: - Versión: - - - - About: - Acerca de: - Status: @@ -2615,237 +2168,318 @@ You can download the latest version from http://openlp.org/. Inactivo - + %s (Inactive) - + %s (Active) - + %s (Disabled) + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + OpenLP.ServiceItemEditForm - + Reorder Service Item - - - Delete - Eliminar - OpenLP.ServiceManager - - New Service - Servicio Nuevo - - - - Create a new service - Crear un servicio nuevo - - - - Open Service - Abrir Servicio - - - + Load an existing service Abrir un servicio existente - - Save Service - Guardar Servicio - - - + Save this service Guardar este servicio - - Theme: - Tema: - - - + Select a theme for the service Seleccione un tema para el servicio - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item &Editar Ítem - + &Reorder Item - + &Notes &Notas - - &Preview Verse - &Previzualizar Verso - - - - &Live Verse - Verso En &Vivo - - - + &Change Item Theme &Cambiar Tema de Ítem - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Notas de Elemento de Servicio @@ -2853,7 +2487,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP @@ -2876,17 +2510,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2900,137 +2534,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - En vivo - - - - Preview - Vista Previa - - - + Move to previous Regresar al anterior - + Move to next Ir al siguiente - + Hide - + Move to live Proyectar en vivo - + Start continuous loop Iniciar bucle continuo - + Stop continuous loop Detener el bucle - - s - s - - - + Delay between slides in seconds Espera entre diapositivas en segundos - + Start playing media Iniciar la reproducción de medios - + Go To - + Edit and reload song preview - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions - + Formatting Tags + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + OpenLP.ThemeForm - - All Files - - - - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3038,476 +2715,431 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - Tema Nuevo - - - + Create a new theme. - + Edit Theme Editar Tema - + Edit a theme. - + Delete Theme Eliminar Tema - + Delete a theme. - + Import Theme Importar Tema - + Import a theme. - + Export Theme Exportar Tema - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + %s (default) - + You must select a theme to edit. - + You are unable to delete the default theme. - + You have not selected a theme. - + Save Theme - (%s) Guardar Tema - (%s) - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Select Theme Import File Seleccione el Archivo de Tema a Importar - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + Theme %s is used in the %s plugin. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Color Sólido - + Gradient Gradiente - - Image - Imagen - - - + Color: - + Gradient: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - Imagen: - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: Fuente: - + Size: Tamaño: - - pt - pt - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Negrita - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left Izquierda - + Right Derecha - + Center Centro - - Vertical Align: - - - - - Top - Superior - - - - Middle - Medio - - - - Bottom - Inferior - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px px - + Y position: - + Width: Ancho: - + Height: Altura: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3515,47 +3147,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - Temas - - - + Global Theme - + Theme Level - + S&ong Level - + 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. 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. - + &Service Level - + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. Utilizar el tema del servicio, ignorando el tema de las canciones individuales. Si el servicio no tiene un tema, utilizar el tema global. - + &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. Utilice el tema global, ignorado los temas asociados con el servicio o con las canciones. @@ -3563,82 +3190,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error Error + + + &Delete + &Eliminar + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + + + + + Advanced + Avanzado + + + + All Files + + + + + Create a new service. + + + + + &Edit + &Editar + + + + Import + + + + + Length %s + + + + + Live + + + + + Load + + + + + New + + + + + New Service + Servicio Nuevo + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Abrir Servicio + + + + Preview + Vista Previa + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + Save Service + Guardar Servicio + + + + Service + + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Superior + + + + Middle + Medio + + + + Bottom + Inferior + + + + About + Acerca De + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Imagen + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + Guardar && Vista Previa + + + + Search + Buscar + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + Tema + + + + Themes + Plural + + + + + Version + + + + + Finished import. + Importación finalizada. + + + + Format: + Formato: + + + + Importing + Importando + + + + Importing "%s"... + + + + + Select Import Source + Seleccione Origen de Importación + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + + + + + Ready. + + + + + Starting import... + Iniciando importación... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Bienvenido al Asistente de Importación de Biblias + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + Autores + + + + © + Copyright symbol. + + + + + Song Book + Singular + Himnario + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + Categoría + + + + Topics + Plural + Categoría + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - Delete - Eliminar - Delete the selected Presentation - - Preview - Vista Previa - - - + Preview the selected Presentation - - Live - - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular Presentación - + Presentations name plural Presentaciones - + Presentations container title Presentaciones @@ -3647,105 +3663,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Seleccionar Presentación(es) - + Automatic - + Present using: Mostrar usando: - + File Exists - + A presentation with that filename already exists. Ya existe una presentación con ese nombre. - + Unsupported File - + This type of presentation is not supported. - - You must select an item to delete. - - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Controladores Disponibles - - Advanced - Avanzado - - - + Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural Remotas - + Remote container title @@ -3833,7 +3844,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3847,263 +3858,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Select Date Range - + to hasta - + Report Location Ubicación de Reporte - + Output File Location Archivo de Salida - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Canción - + Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - Editar - - - + Edit the selected Song - - Delete - Eliminar - - - + Delete the selected Song - - Preview - Vista Previa - - - + Preview the selected Song - - Live - - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Song name singular Canción - + Songs name plural Canciones - + Songs container title Canciones - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Mantenimiento de Autores - + Display name: Mostrar: - + First name: Nombre: - + Last name: Apellido: @@ -4113,12 +4116,12 @@ The encoding is responsible for the correct character representation. Tiene que escribir el nombre del autor. - + You need to type in the last name of the author. Debe ingresar el apellido del autor. - + You have not set a display name for the author, combine the first and last names? @@ -4126,7 +4129,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4134,242 +4137,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Editor de Canción - + &Title: - + Alt&ernate title: - + &Lyrics: - + &Verse order: - - &Add - - - - - &Edit - &Editar - - - + Ed&it All - - &Delete - &Eliminar - - - + Title && Lyrics Título && Letra - - Authors - Autores - - - + &Add to Song &Agregar a Canción - + &Remove &Quitar - + &Manage Authors, Topics, Song Books - - Topic - Categoría - - - + A&dd to Song A&gregar a Canción - + R&emove &Quitar - - Song Book - Himnario - - - + Book: Libro: - + Number: - + Authors, Topics && Song Book - - Theme - Tema - - - + New &Theme - + Copyright Information Información de Derechos de Autor - - © - - - - - CCLI number: - - - - + Comments Comentarios - + Theme, Copyright Info && Comments Tema, Derechos de Autor && Comentarios - - Save && Preview - Guardar && Vista Previa - - - + Add Author - + This author does not exist, do you want to add them? - + This author is already in the list. - - No Author Selected - - - - + 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. - + Add Topic - + This topic does not exist, do you want to add it? - + This topic is already in the list. - - No Topic Selected - - - - + 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. - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book - + This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4377,290 +4320,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Editar Verso - + &Verse type: - + &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - Starting import... - Iniciando importación... - - - + Song Import Wizard - - Welcome to the Song Import Wizard - - - - + 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. - - Select Import Source - Seleccione Origen de Importación - - - - Select the import format, and where to import from. - Seleccione el formato y el lugar del cual importar. - - - - Format: - Formato: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - - - - - OpenLyrics - - - - - OpenSong - OpenSong - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - + Filename: - - Browse... - - - - - 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. - - - - + Add Files... - + Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - Importando - - - + Please wait while your songs are imported. - - Ready. - Listo. - - - - %p% - - - - - Importing "%s"... - - - - - Importing %s... - - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - - - - + 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. @@ -4670,88 +4481,43 @@ The encoding is responsible for the correct character representation. - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4759,116 +4525,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - - - - Maintain the lists of authors, topics and books Administrar la lista de autores, categorías y libros - - Search: - Buscar: - - - - Search - Buscar - - - + Titles Títulos - + Lyrics Letra - - Authors - Autores - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -4878,33 +4601,31 @@ The encoding is responsible for the correct character representation. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright - - - © - - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Importación finalizada. - - - + Your song import failed. @@ -4912,157 +4633,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - Autores - - - - Topics - Categoría - - - - Song Books - - - - - &Add - - - - - &Edit - &Editar - - - - &Delete - &Eliminar - - - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified topic, because it already exists. - + Delete Author Borrar Autor - + Are you sure you want to delete the selected author? ¿Está seguro que desea eliminar el autor seleccionado? - + This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - ¡Ningún autor seleccionado! - - - + Delete Topic Borrar Categoría - + Are you sure you want to delete the selected topic? ¿Está seguro que desea eliminar la categoría seleccionada? - + This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - ¡No seleccionó la categoría! - - - + Delete Book Eliminar Libro - + Are you sure you want to delete the selected book? ¿Está seguro de que quiere eliminar el libro seleccionado? - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - ¡Ningún libro seleccionado! - - - + Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5098,12 +4769,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Mantenimiento de Categorías - + Topic name: Categoría: @@ -5116,7 +4787,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Verso @@ -5126,37 +4797,29 @@ The encoding is responsible for the correct character representation. Coro - + Bridge Puente - + Pre-Chorus Pre-Coro - + Intro Intro - + Ending Final - + Other Otro - - SongsPlugin.XML - - - Author unknown - - - 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 @@ - + AlertPlugin.AlertForm - + No Parameter found Ühtegi parameetrit ei leitud - + You have not entered a parameter to be replaced. Do you want to continue anyway? Sa ei ole sisestanud parameetrit, mida asendada. Kas tahad sellegipoolest jätkata? - + No Placeholder found Ühtegi kohahoidjat ei leitud - + The alert text does not contain '<>'. Do want to continue anyway? Teate tekst ei sisalda '<>' märke. @@ -30,34 +30,34 @@ Kas tahad sellegipoolest jätkata? AlertsPlugin - + &Alert &Teade - + Show an alert message. Teate kuvamine. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Teadete plugin</strong><br />Teadete plugina abil saab juhtida näiteks lastehoiu teadete kuvamist ekraanil - + Alert name singular Teade - + Alerts name plural Teated - + Alerts container title Teated @@ -66,30 +66,25 @@ Kas tahad sellegipoolest jätkata? AlertsPlugin.AlertForm - + Alert Message Teate sõnum - + Alert &text: Teate &tekst: - + &New &Uus - + &Save &Salvesta - - - &Delete - &Kustuta - Displ&ay @@ -101,17 +96,17 @@ Kas tahad sellegipoolest jätkata? Kuva && &sulge - + New Alert Uus teade - + You haven't specified any text for your alert. Please type in some text before clicking New. Sa ei ole oma teatele teksti lisanud. Enne nupu Uus vajutamist sisesta mingi tekst. - + &Parameter: &Parameeter: @@ -127,219 +122,173 @@ Kas tahad sellegipoolest jätkata? AlertsPlugin.AlertsTab - + Font Kirjastiil - + Font name: Kirjastiili nimi: - + Font color: Kirja värvus: - + Background color: Taustavärvus: - + Font size: Kirja suurus: - - pt - pt - - - + Alert timeout: Teate kestus: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + Testamentide importimine... %s - - Location: - Asukoht: + + Importing testaments... done. + Testamentide importimine... valmis. - - Preview - Eelvaade + + Importing books... %s + Raamatute importimine... %s - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + Salmide importimine failist %s... - - Top - Üleval - - - - Middle - Keskel - - - - Bottom - All + + Importing verses... done. + Salmide importimine... valmis. BiblePlugin.HTTPBible - + Download Error Tõrge allalaadimisel - + Parse Error Parsimise viga - + 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. - + Valitud salmide allalaadimisel esines viga. Kontrolli oma internetiühendust ning kui see viga kordub, teata sellest veast. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. - + Sinu salmide vahemiku analüüsimisel esines viga. Kui see viga kordub, siis palun teata sellest veast. BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? Ühe- ja kahekeelseid piiblisalme pole võimalik kombineerida. Kas sa tahad kustutada otsingutulemused ja alustada uut otsingut? - + Bible not fully loaded - + Piibel pole täielikult laaditud BiblesPlugin - + &Bible &Piibel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Piibli plugin</strong><br />Piibli plugina abil saab teenistuse ajal kuvada erinevate tõlgete piiblisalme. - + Import a Bible Piibli importimine - + Add a new Bible Uue Piibli lisamine - + Edit the selected Bible Valitud Piibli muutmine - + Delete the selected Bible Valitud Piibli kustutamine - - Preview - Eelvaade - - - + Preview the selected Bible Valitud Piibli eelvaade - - Live - Ekraan - - - + Send the selected Bible live Valitud Piibli saatmine ekraanile - - Service - Teenistus - - - + Add the selected Bible to the service Valitud Piibli lisamine teenistusse - + Bible name singular Piibel - + Bibles name plural Piiblid - + Bibles container title Piiblid - - &Import - &Impordi - - - - &Add - &Lisa - - - - &Edit - &Muuda - - - - &Delete - &Kustuta - - - + No Book Found Ühtegi raamatut ei leitud - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. Sellest Piiblist ei leitud vastavat raamatut. Kontrolli, kas sa sisestasid raamatu nime õigesti. @@ -347,40 +296,40 @@ Kas tahad sellegipoolest jätkata? BiblesPlugin.BibleManager - + Scripture Reference Error Kirjakohaviite tõrge - + Web Bible cannot be used Veebipiiblit pole võimalik kasutada - + Text Search is not available with Web Bibles. Tekstiotsing veebipiiblist pole võimalik. - + 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. 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. - + No Bibles available - + Piibleid pole - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - + Praegu pole ühtegi Piiblit paigaldatud. Palun paigalda mõni Piibel importimise nõustaja abil. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Salmi kuvamine - + Only show new chapter numbers Kuvatakse ainult uute peatükkide numbreid - + Layout style: Paigutuse laad: - + Display style: Kuvalaad: - + Bible theme: Piibli kujundus: - + Verse Per Slide Iga salm eraldi slaidil - + Verse Per Line Iga salm eraldi real - + Continuous Jätkuv - + No Brackets Ilma sulgudeta - + ( And ) ( ja ) - + { And } { ja } - + [ And ] [ ja ] - + Note: Changes do not affect verses already in the service. Märkus: Muudatused ei rakendu juba teenistusesse lisatud salmidele. - + Display second Bible verses Piiblit kuvatakse kahes keeles - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - %s %s. peatüki importimine... - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Piibli importimise nõustaja - - Welcome to the Bible Import Wizard - Teretulemast Piibli importimise nõustajasse - - - + 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. See nõustaja aitab erinevatest vormingutest Piibleid importida. Klõpsa all asuvale edasi nupule, et alustada vormingu valimisest, millest importida. - - Select Import Source - Importimise allika valimine - - - - Select the import format, and where to import from. - Vali importimise vorming ning kust importida. - - - - Format: - Vorming: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Veebist allalaadimine - - File location: - Faili asukoht: - - - - Books location: - Raamatute asukoht: - - - - Verse location: - Salmide asukoht: - - - - Bible filename: - Piibli failinimi: - - - + Location: Asukoht: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Piibel: - + Download Options Allalaadimise valikud - + Server: Server: - + Username: Kasutajanimi: - + Password: Parool: - + Proxy Server (Optional) Proksiserver (valikuline) - + License Details Litsentsist lähemalt - + Set up the Bible's license details. Määra Piibli litsentsi andmed. - + Version name: Versiooni nimi: - + Copyright: Autoriõigus: - - Importing - Importimine - - - + Please wait while your Bible is imported. Palun oota, kuni sinu Piiblit imporditakse. - - Ready. - Valmis. - - - - Invalid Bible Location - Ebakorrektne Piibli asukoht - - - - You need to specify a file to import your Bible from. - Pead määrama faili, millest Piibel importida. - - - - Invalid Books File - Vigane raamatute fail - - - + You need to specify a file with books of the Bible to use in the import. Pead määrama faili, mis sisaldab piibliraamatuid, mida tahad importida. - - Invalid Verse File - Vigane salmide fail - - - + You need to specify a file of Bible verses to import. Pead ette andma piiblisalmide faili, mida importida. - - Invalid OpenSong Bible - Mittekorrektne OpenSong Piibel - - - - You need to specify an OpenSong Bible file to import. - Pead määrama OpenSong piiblifaili, mida importida. - - - - Empty Version Name - Versiooni nimi määramata - - - + You need to specify a version name for your Bible. Pead määrama Piibli versiooni nime. - - Empty Copyright - Autoriõigused määramata - - - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Pead määrama piiblitõlke autoriõiguse! Avalikkuse omandisse kuuluvad Piiblid tuleb vastavalt tähistada. - + Bible Exists Piibel on juba olemas - + This Bible already exists. Please import a different Bible or first delete the existing one. See Piibel on juba olemas! Palun impordi mingi muu Piibel või kustuta enne olemasolev. - - Open OSIS File - OSIS faili avamine - - - - Open Books CSV File - Raamatute CSV faili avamine - - - - Open Verses CSV File - Salmide CSV faili avamine - - - - Open OpenSong Bible - OpenSong Piibli avamine - - - - Starting import... - Importimise alustamine... - - - - Finished import. - Importimine lõpetatud. - - - + Your Bible import failed. Piibli importimine nurjus. - - Open openlp.org 1.x Bible - Ava openlp.org 1.x Piibel - - - + Starting Registering bible... Piibli registreerimise alustamine... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Piibel on registreeritud. Pane tähele, et salmid laaditakse alla vajadusel, seetõttu on vajalik internetiühendus. - - openlp.org 1.x - openlp.org 1.x - - - + Permissions: Õigused: - + CSV File CSV fail - + openlp.org 1.x bible openlp.org 1.x Piibel - - All Files - Kõik failid - - - + Bibleserver Piibliserver - - 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. - openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite". + + Bible file: + Piibli fail: + + + + Testaments file: + Testamentide fail: + + + + Books file: + Raamatute fail: + + + + Verses file: + Salmide fail: + + + + You have not specified a testaments file. Do you want to proceed with the import? + Sa pole määranud testamentide faili. Kas tahad importimisega jätkata? BiblesPlugin.MediaItem - + Quick Kiirotsing - - Advanced - Täpsem - - - - Version: - Tõlge: - - - - Search type: - Otsingu liik: - - - + Find: Otsing: - - Search - Otsi - - - + Results: Tulemused: - + Book: Raamat: - + Chapter: Peatükk: - + Verse: Salm: - + From: Algus: - + To: Kuni: - - Verse Search - Salmi otsing - - - + Text Search Tekstiotsing - + Clear Puhasta - + Keep Säilita - + Second: Teine: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - %s importimine... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... %s %s. peatüki importimine... @@ -893,12 +675,12 @@ vajadusel, seetõttu on vajalik internetiühendus. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... Kooditabeli tuvastamine (see võib võtta mõne minuti)... - + Importing %s %s... Importing <book name> <chapter>... %s %s. peatüki importimine... @@ -907,7 +689,7 @@ vajadusel, seetõttu on vajalik internetiühendus. CustomPlugin - + <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. <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. @@ -928,210 +710,122 @@ vajadusel, seetõttu on vajalik internetiühendus. CustomPlugin.EditCustomForm - + Edit Custom Slides Kohandatud slaidide muutmine - - Move slide up one position. - Slaidi liigutamine koha võrra ülesse. - - - - Move slide down one position. - Slaidi liigutamine koha võrra alla. - - - + &Title: &Pealkiri: - + Add a new slide at bottom. Uue slaidi lisamine kõige alumiseks. - + Edit the selected slide. Valitud slaidi muutmine. - + Edit all the slides at once. Kõigi slaidide muutmine ühekorraga. - - Delete the selected slide. - Praeguse slaidi kustutamine. - - - + Split Slide Slaidi tükeldamine - + Split a slide into two by inserting a slide splitter. Tükelda slaid kaheks, sisestades slaidide eraldaja. - + The&me: &Kujundus: - + &Credits: &Autorid: - - Save && Preview - Salvesta && eelvaatle - - - + You need to type in a title. Pead sisestama pealkirja. - + You need to add at least one slide Pead lisama vähemalt ühe slaidi - - &Add - &Lisa - - - - &Edit - &Muuda - - - + Ed&it All Muuda &kõiki - - - &Delete - &Kustuta - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Sa pole valinud kirjet, mida muuta. - - - - You haven't selected an item to delete. - Sa ei ole valinud kirjet, mida kustutada. - CustomsPlugin - - Import - Impordi - - - + Import a Custom Impordi kohandatud - - Load - Laadi - - - + Load a new Custom Laadi uus kohandatud - - Add - Lisa - - - + Add a new Custom Lisa uus kohandatud - - Edit - Muuda - - - + Edit the selected Custom Muuda valitud kohandatut - - Delete - Kustuta - - - + Delete the selected Custom Kustuta valitud kohandatud - - Preview - Eelvaade - - - + Preview the selected Custom Valitud kohandatu eelvaade - - Live - Ekraan - - - + Send the selected Custom live Valitud kohandatu saatmine ekraanile - - Service - Teenistus - - - + Add the selected Custom to the service Valitud kohandatud slaidi lisamine teenistusse - + Custom name singular Kohandatud - + Customs name plural Kohandatud - + Custom container title Kohandatud @@ -1140,264 +834,167 @@ vajadusel, seetõttu on vajalik internetiühendus. ImagePlugin - + <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. <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. - - Load - Laadi - - - + Load a new Image Uue pildi laadimine - - Add - Lisa - - - + Add a new Image Uue pildi lisamine - - Edit - Muuda - - - + Edit the selected Image Valitud pildi muutmine - - Delete - Kustuta - - - + Delete the selected Image Valitud pildi kustutamine - - Preview - Eelvaade - - - + Preview the selected Image Valitud pildi eelvaatlemine - - Live - Ekraan - - - + Send the selected Image live Valitud pildi saatmine ekraanile - - Service - Teenistus - - - + Add the selected Image to the service Valitud pildi lisamine teenistusele - + Image name singular Pilt - + Images name plural Pildid - + Images container title Pildid + + ImagePlugin.ExceptionDialog + + + Select Attachment + Manuse valimine + + ImagePlugin.MediaItem - + Select Image(s) Pildi (piltide) valimine - - All Files - Kõik failid - - - - Replace Live Background - Ekraani tausta asendamine - - - - Replace Background - Tausta asendamine - - - - Reset Live Background - Ekraani tausta asendamine - - - + You must select an image to delete. Pead valima pildi, mida kustutada. - - Image(s) - Pildid - - - + You must select an image to replace the background with. Pead enne valima pildi, millega tausta asendada. - - Reset Background - Tausta lähtestamine - - - + Missing Image(s) - + Puuduvad pildid - + The following image(s) no longer exist: %s - + Järgnevaid pilte enam pole: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - + Järgnevaid pilte enam pole: %sKas tahad teised pildid sellest hoolimata lisada? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. - + Tausta asendamisel esines viga, pildifaili "%s" enam pole. MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Meediaplugin</strong><br />Meedia plugin võimaldab audio- ja videofailide taasesitamist. - - Load - Laadi - - - + Load a new Media Uue meedia laadimine - - Add - Lisa - - - + Add a new Media Uue meedia lisamine - - Edit - Muuda - - - + Edit the selected Media Valitud meedia muutmine - - Delete - Kustuta - - - + Delete the selected Media Valitud meedia kustutamine - - Preview - Eelvaade - - - + Preview the selected Media Valitud meedia eelvaatlus - - Live - Ekraan - - - + Send the selected Media live Valitud meedia saatmine ekraanile - - Service - Teenistus - - - + Add the selected Media to the service Valitud meedia lisamine teenistusse - + Media name singular Meedia - + Media name plural Meedia - + Media container title Meedia @@ -1406,63 +1003,38 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - Meedia - - - + Select Media Meedia valimine - - Replace Live Background - Ekraani tausta asendamine - - - - Replace Background - Tausta asendamine - - - + You must select a media file to delete. Pead valima meedia, mida kustutada. - - Videos (%s);;Audio (%s);;All files (*) - Videod (%s);;Audio (%s);;Kõik failid (*) - - - + Missing Media File Puuduv meediafail - + The file %s no longer exists. Faili %s ei ole enam olemas. - - - Reset Background - Tausta lähtestamine - You must select a media file to replace the background with. - Pead enne valima meediafaili, millega tausta asendada. - - - - Live Background Error - + Pead enne valima meediafaili, millega tausta asendada. There was a problem replacing your background, the media file "%s" no longer exists. + Tausta asendamisel esines viga, meediafaili "%s" enam pole. + + + + Videos (%s);;Audio (%s);;%s (*) @@ -1470,16 +1042,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Meedia - - - Media Display Meediakuva - + Use Phonon for video playback Phononi kasutamine video esitamiseks @@ -1487,7 +1054,7 @@ Do you want to add the other images anyway? OpenLP - + Image Files Pildifailid @@ -1495,17 +1062,7 @@ Do you want to add the other images anyway? OpenLP.AboutForm - - About OpenLP - OpenLP-st lähemalt - - - - About - Programmist - - - + Credits Autorid @@ -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. - + Project Lead Raoul "superfly" Snyman @@ -1642,9 +1199,11 @@ meid patust. Me anname selle tarkvara sulle tasuta, sest Tema on teinud meid vabaks. - + 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. - 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. + OpenLP.AdvancedTab - - Advanced - Täpsem - - - + UI Settings Kasutajaliidese sätted - + Number of recent files to display: Kuvatavate hiljutiste failide arv: - + Remember active media manager tab on startup Käivitumisel tuletatakse meelde, milline meediahalduri osa oli aktiivne - + Double-click to send items straight to live Topeltklõps otse ekraanile saatmiseks - + Expand new service items on creation Uued teenistuse kirjed on loomisel laiendatud - + Enable application exit confirmation - + Rakenduse lõpetamise teabe lubamine - + Mouse Cursor + Hiirekursor + + + + Hide mouse cursor when over display window - - Hide the mouse cursor when moved over the display window + + Default Image + + + Background color: + Taustavärvus: + + + + Image file: + + + + + Open File + Faili avamine + + + + OpenLP.DisplayTagDialog + + + Edit Selection + Valiku muutmine + + + + Update + Uuenda + + + + Description + Kirjeldus + + + + Tag + Silt + + + + Start tag + Alustamise silt + + + + End tag + Lõpu silt + + + + Default + Vaikimisi + + + + Tag id + Sildi ID + + + + Start Html + HTMLi algus + + + + End Html + HTMLi lõpp + OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Kustuta - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tõrge uuendamisel - + Tag "n" already defined. - + Silt "n" on juba defineeritud. - + Tag %s already defined. - + Silt %s on juba defineeritud. OpenLP.ExceptionDialog - + Error Occurred Esines viga - + 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. 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. - + Send E-Mail Saada e-kiri - + Save to File Salvesta faili + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + Palun kirjelda siin, mida sa tegid, mis kutsus selle vea esile. +(vähemalt 20 tähte) + + + + Attach File + Pane fail kaasa + + + + Description characters to enter : %s + Puuduvad tähed kirjelduses: %s + OpenLP.ExceptionForm - + Platform: %s Platvorm: %s - + + Save Crash Report + Vearaporti salvestamine + + + + Text files (*.txt *.log *.text) + Tekstifailid (*.txt *.log *.text) + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s - **OpenLP vearaport** -versioon: %s + **OpenLP Bug Report** +Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -2089,24 +1561,15 @@ versioon: %s - - Save Crash Report - Vearaporti salvestamine - - - - Text files (*.txt *.log *.text) - Tekstifailid (*.txt *.log *.text) - - - + *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 Please add the information that bug reports are favoured written in English. - *OpenLP vearaport* -versioon: %s + *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 OpenLP.FileRenameForm - + File Rename Faili ümbernimetamine - + New File Name: Uue faili nimi: - + File Copy Faili kopeerimine @@ -2151,129 +1614,129 @@ versioon: %s OpenLP.GeneralTab - + General Üldine - + Monitors Monitorid - + Select monitor for output display: Vali väljundkuva ekraan: - + Display if a single screen Kuvatakse, kui on ainult üks ekraan - + Application Startup Rakenduse käivitumine - + Show blank screen warning Kuvatakse tühja ekraani hoiatust - + Automatically open the last service Automaatselt avatakse viimane teenistus - + Show the splash screen Käivitumisel kuvatakse logo - + Application Settings Rakenduse sätted - + Prompt to save before starting a new service Enne uue teenistuse alustamist küsitakse, kas salvestada avatud teenistus - + Automatically preview next item in service Järgmise teenistuse elemendi automaatne eelvaade - + Slide loop delay: Slaidi näitamise pikkus korduses: - + sec sek - + CCLI Details CCLI andmed - - CCLI number: - CCLI number: - - - + SongSelect username: SongSelecti kasutajanimi: - + SongSelect password: SongSelecti parool: - + Display Position Kuva asukoht - + X X - + Y Y - + Height Kõrgus - + Width Laius - + Override display position Kuva asukoht määratakse jõuga - + Screen - + Ekraan - + primary - + peamine + + + + Check for updates to OpenLP + OpenLP uuenduste kontrollimine @@ -2292,415 +1755,380 @@ versioon: %s OpenLP.MainDisplay - + OpenLP Display - + OpenLP kuva OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Fail - + &Import &Impordi - + &Export &Ekspordi - + &View &Vaade - + M&ode &Režiim - + &Tools &Tööriistad - + &Settings &Sätted - + &Language &Keel - + &Help A&bi - + Media Manager Meediahaldur - + Service Manager Teenistuse haldur - + Theme Manager Kujunduse haldur - + &New &Uus - - New Service - Uus teenistus - - - - Create a new service. - Uue teenistuse loomine. - - - + Ctrl+N Ctrl+N - + &Open &Ava - - Open Service - Teenistuse avamine - - - + Open an existing service. Olemasoleva teenistuse avamine. - + Ctrl+O Ctrl+O - + &Save &Salvesta - - Save Service - Teenistuse salvestamine - - - + Save the current service to disk. Praeguse teenistuse salvestamine kettale. - + Ctrl+S Ctrl+S - + Save &As... Salvesta &kui... - + Save Service As Salvesta teenistus kui - + Save the current service under a new name. Praeguse teenistuse salvestamine uue nimega. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit &Välju - + Quit OpenLP Lahku OpenLPst - + Alt+F4 Alt+F4 - + &Theme &Kujundus - + &Configure OpenLP... &Seadista OpenLP... - + &Media Manager &Meediahaldur - + Toggle Media Manager Meediahalduri lüliti - + Toggle the visibility of the media manager. Meediahalduri nähtavuse ümberlüliti. - + F8 F8 - + &Theme Manager &Kujunduse haldur - + Toggle Theme Manager Kujunduse halduri lüliti - + Toggle the visibility of the theme manager. Kujunduse halduri nähtavuse ümberlülitamine. - + F10 F10 - + &Service Manager &Teenistuse haldur - + Toggle Service Manager Teenistuse halduri lüliti - + Toggle the visibility of the service manager. Teenistuse halduri nähtavuse ümberlülitamine. - + F9 F9 - + &Preview Panel &Eelvaatluspaneel - + Toggle Preview Panel Eelvaatluspaneeli lüliti - + Toggle the visibility of the preview panel. Eelvaatluspaneeli nähtavuse ümberlülitamine. - + F11 F11 - + &Live Panel &Ekraani paneel - + Toggle Live Panel Ekraani paneeli lüliti - + Toggle the visibility of the live panel. Ekraani paneeli nähtavuse muutmine. - + F12 F12 - + &Plugin List &Pluginate loend - + List the Plugins Pluginate loend - + Alt+F7 Alt+F7 - + &User Guide &Kasutajajuhend - + &About &Lähemalt - + More information about OpenLP Lähem teave OpenLP kohta - + Ctrl+F1 Ctrl+F1 - + &Online Help &Abi veebis - + &Web Site &Veebileht - + &Auto Detect &Isetuvastus - + Use the system language, if available. Kui saadaval, kasutatakse süsteemi keelt. - + Set the interface language to %s Kasutajaliidese keeleks %s määramine - + Add &Tool... Lisa &tööriist... - + Add an application to the list of tools. Rakenduse lisamine tööriistade loendisse. - + &Default &Vaikimisi - + Set the view mode back to the default. Vaikimisi kuvarežiimi taastamine. - + &Setup &Ettevalmistus - + Set the view mode to Setup. Ettevalmistuse kuvarežiimi valimine. - + &Live &Otse - + Set the view mode to Live. Vaate režiimiks ekraanivaate valimine. - + OpenLP Version Updated OpenLP uuendus - + OpenLP Main Display Blanked OpenLP peakuva on tühi - + The Main Display has been blanked out Peakuva on tühi - - Save Changes to Service? - Kas salvestada teenistusse tehtud muudatused? - - - - Your service has changed. Do you want to save those changes? - Seda teenistust on muudetud. Kas sa tahad need muudatused salvestada? - - - + Default Theme: %s Vaikimisi kujundus: %s - + 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/. @@ -2715,75 +2143,85 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/.Eesti - + Configure &Shortcuts... &Kiirklahvide seadistamine... - + Close OpenLP OpenLP sulgemine - + Are you sure you want to close OpenLP? Kas oled kindel, et tahad OpenLP sulgeda? + + + Print the current Service Order. + Praeguse teenistuse järjekorra printimine. + + + + Ctrl+P + Ctrl+P + + + + &Configure Display Tags + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + OpenLP.MediaManagerItem - + No Items Selected Ühtegi elementi pole valitud - + &Add to selected Service Item &Lisa valitud teenistuse elemendile - + You must select one or more items to preview. Sa pead valima vähemalt ühe kirje, mida eelvaadelda. - + You must select one or more items to send live. Sa pead valima vähemalt ühe kirje, mida tahad ekraanil näidata. - + You must select one or more items. Pead valima vähemalt ühe elemendi. - - No items selected - Ühtegi elementi pole valitud - - - - You must select one or more items - Pead valima vähemalt ühe elemendi - - - - No Service Item Selected - Ühtegi teenistuse elementi pole valitud - - - + You must select an existing service item to add to. Pead valima olemasoleva teenistuse, millele lisada. - + Invalid Service Item Vigane teenistuse element - + You must select a %s service item. Pead valima teenistuse elemendi %s. @@ -2791,25 +2229,15 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/. OpenLP.PluginForm - + Plugin List Pluginate loend - + Plugin Details Plugina andmed - - - Version: - Versioon: - - - - About: - Kirjeldus: - Status: @@ -2826,238 +2254,319 @@ Sa võid viimase versiooni alla laadida aadressilt http://openlp.org/.Pole aktiivne - + %s (Inactive) %s (pole aktiivne) - + %s (Active) %s (aktiivne) - + %s (Disabled) %s (keelatud) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Teenistuse elementide ümberjärjestamine + + Fit Page + - - Delete - Kustuta + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + Teenistuse järjekord + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Teenistuse elementide ümberjärjestamine OpenLP.ServiceManager - - New Service - Uus teenistus - - - - Create a new service - Uue teenistuse loomine - - - - Open Service - Teenistuse avamine - - - + Load an existing service Olemasoleva teenistuse laadimine - - Save Service - Salvesta teenistus - - - + Save this service Selle teenistuse salvestamine - - Theme: - Kujundus: - - - + Select a theme for the service Vali teenistuse jaoks kujundus - + Move to &top Tõsta ü&lemiseks - + Move item to the top of the service. Teenistuse algusesse tõstmine. - + Move &up Liiguta &üles - + Move item up one position in the service. Elemendi liigutamine teenistuses ühe koha võrra ettepoole. - + Move &down Liiguta &alla - + Move item down one position in the service. Elemendi liigutamine teenistuses ühe koha võrra tahapoole. - + Move to &bottom Tõsta &alumiseks - + Move item to the end of the service. Teenistuse lõppu tõstmine. - + &Delete From Service &Kustuta teenistusest - + Delete the selected item from the service. Valitud elemendi kustutamine teenistusest. - + &Add New Item &Lisa uus element - + &Add to Selected Item &Lisa valitud elemendile - + &Edit Item &Muuda kirjet - + &Reorder Item &Muuda elemendi kohta järjekorras - + &Notes &Märkmed - - &Preview Verse - &Salmi eelvaatlus - - - - &Live Verse - &Otse ekraanile - - - + &Change Item Theme &Muuda elemendi kujundust - + File is not a valid service. The content encoding is not UTF-8. Fail ei ole sobiv teenistus. Sisu ei ole UTF-8 kodeeringus. - + File is not a valid service. Fail pole sobiv teenistus. - + Missing Display Handler Puudub kuvakäsitleja - + Your item cannot be displayed as there is no handler to display it Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - + Your item cannot be displayed as the plugin required to display it is missing or inactive Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - + &Expand all &Laienda kõik - + Expand all the service items. Kõigi teenistuse kirjete laiendamine. - + &Collapse all &Ahenda kõik - + Collapse all the service items. Kõigi teenistuse kirjete ahendamine. - - Save Changes - Muudatuste salvestamine - - - - The current service has been modified, would you like to save it? - Praegust teenistust on muudetud. Kas tahad selle salvestada? - - - + Open File Faili avamine - + OpenLP Service Files (*.osz) + OpenLP teenistuse failid (*.osz) + + + + Moves the selection down the window. + Valiku tõstmine aknas allapoole. + + + + Move up + Liiguta üles + + + + Moves the selection up the window. + Valiku tõstmine aknas ülespoole. + + + + Go Live + Ekraanile + + + + Send the selected item to Live. + Valitud kirje saatmine ekraanile. + + + + Modified Service + Teenistust on muudetud + + + + Notes: + Märkmed: + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? OpenLP.ServiceNoteForm - + Service Item Notes Teenistuse elemendi märkmed @@ -3065,7 +2574,7 @@ Sisu ei ole UTF-8 kodeeringus. OpenLP.SettingsForm - + Configure OpenLP Seadista OpenLP @@ -3088,17 +2597,17 @@ Sisu ei ole UTF-8 kodeeringus. Kiirklahv - + Default: %s Vaikimisi: %s - + Custom: Kohandatud: - + None Pole @@ -3112,663 +2621,656 @@ Sisu ei ole UTF-8 kodeeringus. The shortcut "%s" is already assigned to another action, please use a different shortcut. Kiirklahv "%s" on juba seotud teise tegevusega, kasuta mingit muud kiirklahvi. + + + Alternate + + OpenLP.SlideController - - Live - Ekraan - - - - Preview - Eelvaade - - - + Move to previous Eelmisele liikumine - + Move to next Järgmisele liikumine - + Hide Peida - + Move to live Tõsta ekraanile - + Edit and reload song preview Muuda ja kuva laulu eelvaade uuesti - + Start continuous loop Katkematu korduse alustamine - + Stop continuous loop Katkematu korduse lõpetamine - - s - s - - - + Delay between slides in seconds Viivitus slaidide vahel sekundites - + Start playing media Meediaesituse alustamine - + Go To Liigu kohta - + Blank Screen Ekraani tühjendamine - + Blank to Theme Kujunduse tausta näitamine - + Show Desktop Töölaua näitamine + + + Previous Slide + Eelmine slaid + + + + Next Slide + Järgmine slaid + + + + Previous Service + Eelmine teenistus + + + + Next Service + Järgmine teenistus + + + + Escape Item + Kuva sulgemine + OpenLP.SpellTextEdit - + Spelling Suggestions Õigekirjasoovitused - + Formatting Tags Siltide vormindus - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - Kõik failid + + Item Start Time + - + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + Select Image Pildi valimine - + Theme Name Missing Kujundusel puudub nimi - + There is no name for this theme. Please enter one. Kujundusel ei ole nime. Palun sisesta nimi. - + Theme Name Invalid Sobimatu kujunduse nimi - + Invalid theme name. Please enter one. Kujunduse nimi pole sobiv. Palun sisesta sobiv nimi. - + (%d lines per slide) - (%d rida slaidil) + (%d rida slaidil) OpenLP.ThemeManager - - New Theme - Uus kujundus - - - + Create a new theme. Uue kujunduse loomine. - + Edit Theme Kujunduse muutmine - + Edit a theme. Kujunduse muutmine. - + Delete Theme Kujunduse kustutamine - + Delete a theme. Kujunduse kustutamine. - + Import Theme Kujunduse importimine - + Import a theme. Kujunduse importimine. - + Export Theme Kujunduse eksportimine - + Export a theme. Kujunduse eksportimine. - + &Edit Theme Kujunduse &muutmine - + &Delete Theme Kujunduse &kustutamine - + Set As &Global Default Määra &globaalseks vaikeväärtuseks - + %s (default) %s (vaikimisi) - + You must select a theme to edit. Pead valima kujunduse, mida muuta. - + You are unable to delete the default theme. Vaikimisi kujundust pole võimalik kustutada. - + Theme %s is used in the %s plugin. Kujundust %s kasutatakse pluginas %s. - + You have not selected a theme. Sa ei ole kujundust valinud. - + Save Theme - (%s) Salvesta kujundus - (%s) - + Theme Exported Kujundus eksporditud - + Your theme has been successfully exported. Sinu kujunduse on edukalt eksporditud. - + Theme Export Failed Kujunduse eksportimine nurjus - + Your theme could not be exported due to an error. Sinu kujundust polnud võimalik eksportida, kuna esines viga. - + Select Theme Import File Importimiseks kujunduse faili valimine - + File is not a valid theme. The content encoding is not UTF-8. See fail ei ole korrektne kujundus. Sisu kodeering ei ole UTF-8. - + File is not a valid theme. See fail ei ole sobilik kujundus. - + &Copy Theme &Kopeeri kujundust - + &Rename Theme &Nimeta kujundus ümber - + &Export Theme &Ekspordi kujundus - + You must select a theme to rename. Pead valima kujunduse, mida ümber nimetada. - + Rename Confirmation Ümbernimetamise kinnitus - + Rename %s theme? Kas anda kujundusele %s uus nimi? - + You must select a theme to delete. Pead valima kujunduse, mida tahad kustutada. - + Delete Confirmation Kustutamise kinnitus - + Delete %s theme? Kas kustutada kujundus %s? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + Valideerimise viga - + A theme with this name already exists. + Sellenimeline teema on juba olemas. + + + + OpenLP Themes (*.theme *.otz) OpenLP.ThemeWizard - + Theme Wizard Kujunduse nõustaja - + Welcome to the Theme Wizard Tere tulemast kujunduse nõustajasse - + Set Up Background Tausta määramine - + Set up your theme's background according to the parameters below. Määra kujunduse taust, kasutades järgnevaid parameetreid. - + Background type: Tausta liik: - + Solid Color Ühtlane värv - + Gradient Üleminek - - Image - Pilt - - - + Color: Värvus: - + Gradient: Üleminek: - + Horizontal Horisontaalne - + Vertical Vertikaalne - + Circular Radiaalne - + Top Left - Bottom Right Loodest kagusse - + Bottom Left - Top Right Edelast kirdesse - - Image: - Pilt: - - - + Main Area Font Details Peamise kirja üksikasjad - + Define the font and display characteristics for the Display text Määra font ja teised kuvatava teksti omadused - + Font: Kirjastiil: - + Size: Suurus: - - pt - pt - - - + Line Spacing: Reavahe: - + &Outline: &Kontuurjoon: - + &Shadow: &Vari: - + Bold Rasvane - + Italic Kaldkiri - + Footer Area Font Details Jaluse fondi üksikasjad - + Define the font and display characteristics for the Footer text Määra jaluse kirja font ja muud omadused - + Text Formatting Details Teksti vorminduse üksikasjad - + Allows additional display formatting information to be defined Võimaldab määrata lisaks vorminduse andmeid - + Horizontal Align: Rõhtjoondus: - + Left Vasakul - + Right Paremal - + Center Keskel - - Vertical Align: - Püstjoondus: - - - - Top - Üleval - - - - Middle - Keskel - - - - Bottom - All - - - + Output Area Locations Väljundala asukoht - + Allows you to change and move the main and footer areas. Võimaldab muuta ja liigutada peamist ja jaluse ala. - + &Main Area &Peamine ala - + &Use default location &Vaikimisi asukoha kasutamine - + X position: X-asukoht: - + px px - + Y position: Y-asukoht: - + Width: Laius: - + Height: Kõrgus: - + Use default location Vaikimisi asukoha kasutamine - + Save and Preview Salvestamine ja eelvaade - + View the theme and save it replacing the current one or change the name to create a new theme Vaata kujundus üle ja salvesta see, asendades olemasolev või muuda nime, et luua uus kujundus - + Theme name: Kujunduse nimi: - - New Theme - Uus kujundus - - - + 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. See nõustaja aitab kujundusi luua ja muuta. Klõpsa edasi nupul, et alustada tausta määramisest. - + Transitions: Üleminekud: - + &Footer Area &Jaluse ala - + Edit Theme - %s - + Teema muutmine - %s OpenLP.ThemesTab - - Themes - Kujundused - - - + Global Theme Üldine kujundus - + Theme Level Kujunduse tase - + S&ong Level &Laulu tase - + 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. 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. - + &Service Level &Teenistuse tase - + 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. Kasutatakse teenistuse kujundust, eirates laulude kujundusi. Kui teenistusel kujundust pole, kasutatakse globaalset. - + &Global Level &Üleüldine tase - + Use the global theme, overriding any themes associated with either the service or the songs. Kasutatakse globaalset kujundust, eirates nii teenistuse kui laulu kujundust. @@ -3776,82 +3278,471 @@ Sisu kodeering ei ole UTF-8. OpenLP.Ui - + Error - Viga + Viga + + + + &Delete + &Kustuta + + + + Delete the selected item. + Valitud kirje kustutamine. + + + + Move selection up one position. + Valiku liigutamine ühe koha võrra ülespoole. + + + + Move selection down one position. + Valiku liigutamine ühe koha võrra allapoole. + + + + About + Programmist + + + + &Add + &Lisa + + + + Advanced + Täpsem + + + + All Files + Kõik failid + + + + Bottom + All + + + + Browse... + Lehitse... + + + + Cancel + Loobu + + + + CCLI number: + CCLI number: + + + + Create a new service. + Uue teenistuse loomine. + + + + &Edit + &Muuda + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Pilt + + + + Import + Impordi + + + + Length %s + + + + + Live + Ekraan + + + + Live Background Error + Ekraani tausta viga + + + + Live Panel + + + + + Load + Laadi + + + + Middle + Keskel + + + + New + Uus + + + + New Service + Uus teenistus + + + + New Theme + Uus kujundus + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Ühtegi elementi pole valitud + + + + openlp.org 1.x + openlp.org 1.x + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Teenistuse avamine + + + + Preview + Eelvaade + + + + Preview Panel + + + + + Print Service Order + Teenistuse järjekorra printimine + + + + Replace Background + Tausta asendamine + + + + Replace Live Background + Ekraani tausta asendamine + + + + Reset Background + Tausta lähtestamine + + + + Reset Live Background + Ekraani tausta asendamine + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Salvesta && eelvaatle + + + + Search + Otsi + + + + You must select an item to delete. + + + + + You must select an item to edit. + Pead valima kirje, mida muuta. + + + + Save Service + + + + + Service + + + + + Start %s + + + + + Theme + Singular + Kujundus + + + + Themes + Plural + Kujundused + + + + Top + Üleval + + + + Version + + + + + &Vertical Align: + + + + + Finished import. + Importimine lõpetatud. + + + + Format: + Vorming: + + + + Importing + Importimine + + + + Importing "%s"... + "%s" importimine... + + + + Select Import Source + Importimise allika valimine + + + + Select the import format and the location to import from. + + + + + 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. + openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite". + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Valmis. + + + + Starting import... + Importimise alustamine... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Teretulemast Piibli importimise nõustajasse + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Tere tulemast laulude importimise nõustajasse + + + + Author + Singular + + + + + Authors + Plural + Autorid + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Laulik + + + + Song Books + Plural + Laulikud + + + + Song Maintenance + Laulude haldus + + + + Topic + Singular + Teema + + + + Topics + Plural + Teemad + + + + OpenLP.displayTagDialog + + + Configure Display Tags + PresentationPlugin - + <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. <strong>Esitluse plugin</strong><br />Esitluse plugin võimaldab näidata esitlusi erinevate programmidega. Saadaolevate esitlusprogrammide valik on saadaval valikukastis. - - Load - Laadi - - - + Load a new Presentation Uue esitluse laadimine - - - Delete - Kustuta - Delete the selected Presentation Valitud esitluse kustutamine - - Preview - Eelvaade - - - + Preview the selected Presentation Valitud esitluse eelvaatlus - - Live - Ekraan - - - + Send the selected Presentation live Valitud esitluse saatmine ekraanile - - Service - Teenistus - - - + Add the selected Presentation to the service Valitud esitluse lisamine teenistusse - + Presentation name singular Esitlus - + Presentations name plural Esitlused - + Presentations container title Esitlused @@ -3860,105 +3751,100 @@ Sisu kodeering ei ole UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Esitlus(t)e valimine - + Automatic Automaatne - + Present using: Esitluseks kasutatakse: - + File Exists Fail on olemas - + A presentation with that filename already exists. Sellise nimega esitluse fail on juba olemas. - + Unsupported File Toetamata fail - + This type of presentation is not supported. Seda liiki esitlus ei ole toetatud. - - You must select an item to delete. - Pead valima kirje, mida kustutada. - - - + Presentations (%s) Esitlused (%s) - + Missing Presentation Puuduv esitlus - + The Presentation %s no longer exists. Esitlust %s enam ei ole. + + + The Presentation %s is incomplete, please reload. + Esitlus %s ei ole täielik, palun laadi see uuesti. + PresentationPlugin.PresentationTab - + Available Controllers Saadaolevad juhtijad - - Advanced - Täpsem - - - + Allow presentation application to be overriden Esitlusrakendust on lubatud asendada - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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. - + Remote name singular Kaugjuhtimine - + Remotes name plural Kaugjuhtimine - + Remote container title Kaugjuhtimine @@ -4046,7 +3932,7 @@ Sisu kodeering ei ole UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Laulukasutuse andmete kustutamine @@ -4060,263 +3946,259 @@ Sisu kodeering ei ole UTF-8. Are you sure you want to delete selected Song Usage data? Kas oled kindel, et tahad kustutada valitud laulude kasutuse andmed? + + + Deletion Successful + Kustutamine edukas + + + + All requested data has been deleted successfully. + Kõik kustutamisele määratud andmed kustutati edukalt. + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Laulukasutuse salvestamine - + Select Date Range Vali kuupäevade vahemik - + to kuni - + Report Location Asukohast raporteerimine - + Output File Location Väljundfaili asukoht - + usage_detail_%s_%s.txt laulukasutuse_andmed_%s_%s.txt + + + Report Creation + Raporti koostamine + + + + Report +%s +has been successfully created. + Raport +%s +on edukalt loodud. + SongsPlugin - + &Song &Laul - + Import songs using the import wizard. Laulude importimine importimise nõustajaga. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>Laulude plugin</strong><br />See plugin võimaldab laulude kuvamise ja haldamise. - + &Re-index Songs &Indekseeri laulud uuesti - + Re-index the songs database to improve searching and ordering. Laulude andmebaasi kordusindekseerimine, et parendada otsimist ja järjekorda. - + Reindexing songs... Laulude kordusindekseerimine... - - Cancel - Loobu - - - - Add - Lisa - - - + Add a new Song Uue laulu lisamine - - Edit - Muuda - - - + Edit the selected Song Valitud laulu muutmine - - Delete - Kustuta - - - + Delete the selected Song Valitud laulu kustutamine - - Preview - Eelvaade - - - + Preview the selected Song Valitud laulu eelvaatlus - - Live - Ekraan - - - + Send the selected Song live Valitud laulu saatmine ekraanile - - Service - Teenistusse - - - + Add the selected Song to the service Valitud laulu lisamine teenistusele - + Song name singular Laul - + Songs name plural Laulud - + Songs container title Laulud - + Arabic (CP-1256) - Araabia (CP-1256) + Araabia (CP-1256) - + Baltic (CP-1257) - Balti (CP-1257) + Balti (CP-1257) - + Central European (CP-1250) - Kesk-Euroopa (CP-1250) + Kesk-Euroopa (CP-1250) - + Cyrillic (CP-1251) - Kirillitsa (CP-1251) + Kirillitsa (CP-1251) - + Greek (CP-1253) - Kreeka (CP-1253) + Kreeka (CP-1253) - + Hebrew (CP-1255) - Heebrea (CP-1255) + Heebrea (CP-1255) - + Japanese (CP-932) - Jaapani (CP-932) + Jaapani (CP-932) - + Korean (CP-949) - Korea (CP-949) + Korea (CP-949) - + Simplified Chinese (CP-936) - Lihtsustatud Hiina (CP-936) + Lihtsustatud Hiina (CP-936) - + Thai (CP-874) - Tai (CP-874) + Tai (CP-874) - + Traditional Chinese (CP-950) - Tradistiooniline Hiina (CP-950) + Tradistiooniline Hiina (CP-950) - + Turkish (CP-1254) - Türgi (CP-1254) + Türgi (CP-1254) - + Vietnam (CP-1258) - Vietnami (CP-1258) + Vietnami (CP-1258) - + Western European (CP-1252) - Lääne-Euroopa (CP-1252) + Lääne-Euroopa (CP-1252) - + Character Encoding - + Märgikodeering - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Kodeering on vajalik märkide õige esitamise jaoks. +Tavaliselt on vaikimisi valik õige. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + Palun vali märgikodeering. +Kodeering on vajalik märkide õige esitamise jaoks. + + + + Exports songs using the export wizard. SongsPlugin.AuthorsForm - + Author Maintenance Autorite haldus - + Display name: Täisnimi: - + First name: Eesnimi: - + Last name: Perekonnanimi: @@ -4326,12 +4208,12 @@ The encoding is responsible for the correct character representation. Pead sisestama autori eesnime. - + You need to type in the last name of the author. Pead sisestama autori perekonnanime. - + You have not set a display name for the author, combine the first and last names? Sa ei ole sisestanud autori kuvamise nime, kas see tuleks kombineerida ees- ja perekonnanimest? @@ -4339,7 +4221,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d Laulu importimine, %d %d-st @@ -4347,242 +4229,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Lauluredaktor - + &Title: &Pealkiri: - + Alt&ernate title: &Alternatiivne pealkiri: - + &Lyrics: &Sõnad: - + &Verse order: &Salmide järjekord: - - &Add - &Lisa - - - - &Edit - &Muuda - - - + Ed&it All Muuda &kõiki - - &Delete - &Kustuta - - - + Title && Lyrics Pealkiri && laulusõnad - - Authors - Autorid - - - + &Add to Song &Lisa laulule - + &Remove &Eemalda - + &Manage Authors, Topics, Song Books &Autorite, teemade ja laulikute haldamine - - Topic - Teema - - - + A&dd to Song L&isa laulule - + R&emove &Eemalda - - Song Book - Laulik - - - + Book: Book: - + Number: Number: - + Authors, Topics && Song Book Autorid, teemad && laulik - - Theme - Kujundus - - - + New &Theme Uus &kujundus - + Copyright Information Autoriõiguse andmed - - © - © - - - - CCLI number: - CCLI number: - - - + Comments Kommentaarid - + Theme, Copyright Info && Comments Kujundus, autoriõigus && kommentaarid - - Save && Preview - Salvesta && eelvaatle - - - + Add Author Autori lisamine - + This author does not exist, do you want to add them? Seda autorit veel pole, kas tahad autori lisada? - + This author is already in the list. See autor juba on loendis. - - No Author Selected - Autorit pole valitud - - - + 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. Sa ei ole valinud ühtegi sobilikku autorit. Vali autor loendist või sisesta uue autori nimi ja klõpsa uue nupul "Lisa laulule autor". - + Add Topic Teema lisamine - + This topic does not exist, do you want to add it? Sellist teemat pole. Kas tahad selle lisada? - + This topic is already in the list. See teema juba on loendis. - - No Topic Selected - Ühtegi teemat pole valitud - - - + 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. Sa pole valinud sobivat teemat. Vali teema kas loendist või sisesta uus teema ja selle lisamiseks klõpsa nupule "Lisa laulule teema". - + You need to type in a song title. Pead sisestama laulu pealkirja. - + You need to type in at least one verse. Pead sisestama vähemalt ühe salmi. - + Warning Hoiatus - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. Salmide järjekord pole sobiv. Mitte ükski valm ei vasta %s-le. Sobivad salmid on %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? Sa pole kasutanud %s mitte kusagil salmide järjekorras. Kas sa oled kindel, et tahad laulu selliselt salvestada? - + Add Book Lauliku lisamine - + This song book does not exist, do you want to add it? Sellist laulikut pole. Kas tahad selle lisada? - + You need to have an author for this song. Pead lisama sellele laulule autori. - + You need to type some text in to the verse. Salm peab sisaldama teksti. @@ -4590,381 +4412,204 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Salmi muutmine - + &Verse type: &Salmi liik: - + &Insert &Sisesta + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Check the songs you want to export. + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - Ühtegi OpenLP 2.0 lauluandmebaasi pole valitud - - - - You need to select an OpenLP 2.0 song database file to import from. - Pead valima OpenLP 2.0 lauluandmebaasi, mida importida. - - - - No openlp.org 1.x Song Database Selected - Ühtegi openlp 1.x lauluandmebaasi faili pole valitud - - - - You need to select an openlp.org 1.x song database file to import from. - Pead valima openlp.org 1.x andmebaasi, millest importida. - - - - No OpenSong Files Selected - Ühtegi OpenSong faili pole valitud - - - - You need to add at least one OpenSong song file to import from. - Pead lisama vähemalt ühe OpenSong faili, mida importida. - - - - No Words of Worship Files Selected - Ühtegi Words of Worship faili pole valitud - - - - You need to add at least one Words of Worship file to import from. - Tuleb lisada vähemalt üks Words of Worship fail, millest importida. - - - - No CCLI Files Selected - Ühtegi CCLI faili pole valitud - - - - You need to add at least one CCLI file to import from. - Tuleb lisada vähemalt üks CCLI fail, millest importida. - - - - No Songs of Fellowship File Selected - Ühtegi Songs of Fellowship faili pole valitud - - - - You need to add at least one Songs of Fellowship file to import from. - Pead lisama vähemalt ühe Songs of Fellowship faili, mida importida. - - - - No Document/Presentation Selected - Ühtegi dokumenti/esitlust pole valitud - - - - You need to add at least one document or presentation file to import from. - Pead lisama vähemalt ühe dokumendi või esitluse faili, millest importida. - - - - No EasyWorship Song Database Selected - Ühtegi EasyWorship lauluandmebaasi faili pole valitud - - - - You need to select an EasyWorship song database file to import from. - Pead valima vähemalt ühe EasyWorship lauluandmebaasi, millest importida. - - - - Select OpenLP 2.0 Database File - OpenLP 2.0 andmebaasifaili valimine - - - - Select openlp.org 1.x Database File - openlp.org 1.x andmebaasifaili valimine - - - - Select Open Song Files - Open Song failide valimine - - - - Select Words of Worship Files - Words of Worship failide valimine - - - - Select CCLI Files - CCLI failide valimine - - - - Select Songs of Fellowship Files - Songs of Fellowship failide valimine - - - + Select Document/Presentation Files Dokumentide/esitluste valimine - - Select EasyWorship Database File - EasyWorship andmebaasifaili valimine - - - - Starting import... - Importimise alustamine... - - - + Song Import Wizard Laulude importimise nõustaja - - Welcome to the Song Import Wizard - Tere tulemast laulude importimise nõustajasse - - - + 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. See nõustaja aitab sul laule importida paljudest erinevatest formaatidest. Klõpsa all asuvat edasi nuppu, et jätkata tegevust importimise vormingu valimisega. - - Select Import Source - Importimise allika valimine - - - - Select the import format, and where to import from. - Vali importimise vorming ning kust importida. - - - - Format: - Vorming: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - - Words of Worship - Words of Worship - - - - CCLI/SongSelect - CCLI/SongSelect - - - - Songs of Fellowship - Songs of Fellowship fail - - - + Generic Document/Presentation Tavaline dokumenti/esitlus - - EasyWorship - EasyWorship - - - + Filename: Failinimi: - - Browse... - Lehitse... - - - - 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. - openlp.org 1.x importija on ühe puuduva Pythoni mooduli pärast keelatud. Kui sa tahad seda importijat kasutada, pead paigaldama mooduli "python-sqlite". - - - + 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. OpenLyrics importija ei ole veel valmis, kuid nagu sa näed, on meil plaanis see luua. Loodetavasti saab see järgmiseks väljalaskeks valmis. - + Add Files... Lisa faile... - + Remove File(s) Faili(de) eemaldamine - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Songs of Fellowship importija on keelatud, kuna OpenLP ei suuda leida sinu arvutist OpenOffice.org-i. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. Tavalisest dokumendist/esitlusest importija on keelatud, kuna OpenLP ei suuda leida sinu arvutist OpenOffice.org-i. - - Importing - Importimine - - - + Please wait while your songs are imported. Palun oota, kuni laule imporditakse. - - - Ready. - Valmis. - - - - %p% - %p% - - - - Importing "%s"... - "%s" importimine... - - - - Importing %s... - %s importimine... - Administered by %s Haldab %s - - No SongBeamer File Selected - Ühtegi SongBeameri faili pole valitud - - - - You need to add at least one SongBeamer file to import from. - Pead lisama vähemalt ühe SongBeameri faili, millest importida. - - - - All Files - Kõik failid - - - + OpenLP 2.0 Databases OpenLP 2.0 andmebaas - + openlp.org v1.x Databases openlp.org v1.x andmebaas - + Words Of Worship Song Files Words Of Worship Song failid - - Songs Of Felloship Song Files - Songs Of Felloship Song failid - - - - Select SongBeamer Files - SongBeameri failide valimine - - - - SongBeamer - SongBeamer - - - - SongBeamer files - SongBeameri failid - - - - EasiSlides + + You need to specify at least one document or presentation file to import from. - - No OpenLyrics Files Selected + + Songs Of Fellowship Song Files - - You need to add at least one OpenLyrics song file to import from. + + SongBeamer Files - - No Easislides Songs file selected + + SongShow Plus Song Files - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4972,116 +4617,72 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Laulude haldus - - - Maintain the lists of authors, topics and books Autorite, teemade ja raamatute loendi haldamine - - Search: - Otsi: - - - - Search - Otsi - - - + Titles Pealkirjad - + Lyrics Laulusõnad - - Authors - Autorid - - - - You must select an item to edit. - Pead valima kirje, mida muuta. - - - - You must select an item to delete. - Pead valima kirje, mida tahad kustutada. - - - + Delete Song(s)? Kas kustutada laul(ud)? - + CCLI License: CCLI litsents: - + Entire Song Kogu laulust - + Are you sure you want to delete the %n selected song(s)? - - Kas oled kindel, et tahad kustutada %n valitud laulu? - Kas oled kindel, et tahad kustutada %n valitud laulu? + + - - - Themes - Kujundused - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. Laulu importimine, %d. %d-st. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - %s importimine... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - %s importimine... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance Lauliku haldus - + &Name: &Nimi: - + &Publisher: &Kirjastaja: @@ -5091,33 +4692,31 @@ The encoding is responsible for the correct character representation. Pead sisestama lauliku nime. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright autoriõigus - - - © - © - - - - Author unknown - Tundmatu autor - SongsPlugin.SongImportForm - - Finished import. - Importimine lõpetatud. - - - + Your song import failed. Laulu importimine nurjus. @@ -5125,157 +4724,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Laulude haldus - - - - Authors - Autorid - - - - Topics - Teemad - - - - Song Books - Laulikud - - - - &Add - &Lisa - - - - &Edit - &Muuda - - - - &Delete - &Kustuta - - - + Could not add your author. Autori lisamine pole võimalik. - + This author already exists. See autor on juba olemas. - + Could not add your topic. Sinu teema lisamine pole võimalik. - + This topic already exists. Teema on juba olemas. - + Could not add your book. Lauliku lisamine pole võimalik. - + This book already exists. See laulik on juba olemas. - + Could not save your changes. Muudatuste salvestamine pole võimalik. - + Could not save your modified author, because the author already exists. Sinu muudetud autorit pole võimalik salvestada, kuna autor on juba olemas. - + Could not save your modified topic, because it already exists. Sinu muudetud teemat pole võimalik salvestada, kuna selline on juba olemas. - + Delete Author Autori kustutamine - + Are you sure you want to delete the selected author? Kas oled kindel, et tahad kustutada valitud autori? - + This author cannot be deleted, they are currently assigned to at least one song. Seda autorit pole võimalik kustutada, kuna ta on märgitud vähemalt ühe laulu autoriks. - - No author selected! - Ühtegi autorit pole valitud! - - - + Delete Topic Teema kustutamine - + Are you sure you want to delete the selected topic? Kas oled kindel, et tahad valitud teema kustutada? - + This topic cannot be deleted, it is currently assigned to at least one song. Seda teemat pole võimalik kustutada, kuna see on seostatud vähemalt ühe lauluga. - - No topic selected! - Ühtegi teemat pole valitud! - - - + Delete Book Lauliku kustutamine - + Are you sure you want to delete the selected book? Kas oled kindel, et tahad valitud lauliku kustutada? - + This book cannot be deleted, it is currently assigned to at least one song. Seda laulikut pole võimalik kustutada, kuna vähemalt üks laul kuulub sellesse laulikusse. - - No book selected! - Ühtegi laulikut pole valitud! - - - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? Autor %s on juba olemas. Kas sa tahad, et laulud autoriga %s liidetaks olemasolevale autorile %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? Teema %s on juba olemas. Kas sa tahad, et laulud teemaga %s kasutaksid olemasolevat teemat %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? Laulik %s on juba olemas. Kas sa tahad, et lauliku %s laulid liidetaks olemasoleva laulikuga %s? @@ -5311,12 +4860,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Teemade haldus - + Topic name: Teema nimi: @@ -5329,7 +4878,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Salm @@ -5339,37 +4888,29 @@ The encoding is responsible for the correct character representation. Refrään - + Bridge Vahemäng - + Pre-Chorus Eelrefrään - + Intro Sissejuhatus - + Ending Lõpetus - + Other Muu - - SongsPlugin.XML - - - Author unknown - Tundmatu autor - - 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 @@ + + + + AlertPlugin.AlertForm + + + No Parameter found + Pas de paramètre trouvé + + + + You have not entered a parameter to be replaced. +Do you want to continue anyway? + + + + + No Placeholder found + + + + + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + AlertsPlugin + + + &Alert + &Alerte + + + + Show an alert message. + Affiche un message d'alerte. + + + + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + + + + + Alert + name singular + Alerte + + + + Alerts + name plural + Alertes + + + + Alerts + container title + Alertes + + + + AlertsPlugin.AlertForm + + + Alert Message + Message d'alerte + + + + Alert &text: + Alerte &texte : + + + + &Parameter: + &Paramètre : + + + + &New + &Nouveaux + + + + &Save + &Enregistre + + + + Displ&ay + A&ffiche + + + + Display && Cl&ose + &Affiche && Ferme + + + + New Alert + Nouvelle alerte + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + Vous n'avez pas spécifier de texte pour votre alerte. Pouvez vous introduire du texte avant de cliquer Nouveau. + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + Message d'alerte créé et affiché. + + + + AlertsPlugin.AlertsTab + + + Font + Police + + + + Font name: + Nom de la police : + + + + Font color: + Couleur de la police : + + + + Background color: + Couleur de fond : + + + + Font size: + Taille de la police : + + + + Alert timeout: + Temps d'alerte : + + + + BibleDB.Wizard + + + Importing testaments... %s + + + + + Importing testaments... done. + + + + + Importing books... %s + + + + + Importing verses from %s... + Importing verses from <book name>... + + + + + Importing verses... done. + + + + + BiblePlugin.HTTPBible + + + Download Error + Erreur de téléchargement + + + + 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. + 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. + + + + Parse Error + Erreur syntaxique + + + + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. + Il y a un problème pour extraire votre sélection de verset. Si cette erreur persiste pensez a rapporter un dysfonctionnement. + + + + BiblePlugin.MediaItem + + + Bible not fully loaded + Bible pas entièrement chargée + + + + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? + Vous ne pouvez pas combiner versets biblique unique et deuxième. Voulez-vous supprimer vos résultats de recherche ? + + + + BiblesPlugin + + + &Bible + &Bible + + + + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + <strong>Module Bible</strong><br />Le module Bible fournis la possibilité d'afficher des versets bibliques de plusieurs sources pendant le service. + + + + Bible + name singular + Bible + + + + Bibles + name plural + Bibles + + + + Bibles + container title + Bibles + + + + Import a Bible + Importer une Bible + + + + Add a new Bible + Ajouter une nouvelle Bible + + + + Edit the selected Bible + Édite la Bible sélectionnée + + + + Delete the selected Bible + Supprime la Bible sélectionnée + + + + Preview the selected Bible + Prévisualise la Bible sélectionnée + + + + Send the selected Bible live + Envoie la Bible sélectionnée en live + + + + Add the selected Bible to the service + Ajoute la Bible sélectionnée au service + + + + No Book Found + Pas de livre trouvé + + + + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. + Pas de livre correspondant n'a été trouvé dans cette Bible. Contrôlez que vous avez correctement écris le mon du livre. + + + + BiblesPlugin.BibleManager + + + No Bibles available + Pas de Bible trouvée + + + + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. + Il n'y a pas de Bibles actuellement installée. Pouvez-vous utiliser l'assistant d'importation pour installer une ou plusieurs Bibles. + + + + Scripture Reference Error + Écriture de référence erronée. + + + + Web Bible cannot be used + Les Bible Web ne peut être utilisée + + + + Text Search is not available with Web Bibles. + La recherche textuelle n'est pas disponible pour les Bibles Web. + + + + 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. + 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. + + + + 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 + + + + + BiblesPlugin.BiblesTab + + + Verse Display + Affichage de versets + + + + Only show new chapter numbers + Affiche uniquement les nouveaux numéros de chapitre. + + + + Layout style: + Style de disposition : + + + + Display style: + Style d'affichage : + + + + Bible theme: + Thème : + + + + Verse Per Slide + Un verset par diapositive + + + + Verse Per Line + Un verset par ligne + + + + Continuous + Continu + + + + No Brackets + Pas de parenthèse + + + + ( And ) + ( et ) + + + + { And } + { et } + + + + [ And ] + [ et ] + + + + Note: +Changes do not affect verses already in the service. + Remarque : +Les changement ne s'applique aux versets déjà un service. + + + + Display second Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Assistant d'import de Bibles + + + + 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. + 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. + + + + Web Download + Téléchargement Web + + + + Location: + Emplacement : + + + + Crosswalk + + + + + BibleGateway + BibleGateway + + + + Bibleserver + + + + + Bible: + Bible : + + + + Download Options + Options de téléchargement + + + + Server: + Serveur : + + + + Username: + Nom d'utilisateur : + + + + Password: + Mot de passe : + + + + Proxy Server (Optional) + Serveur Proxy (Optionnel) + + + + License Details + Détails de la licence + + + + Set up the Bible's license details. + + + + + Version name: + Nom de la version : + + + + Copyright: + Copyright : + + + + Permissions: + Permissions : + + + + Please wait while your Bible is imported. + Attendez que la Bible sois importée. + + + + You need to specify a file with books of the Bible to use in the import. + Vous devez spécifier un fichier avec les livres de la Bible à utiliser dans l'import. + + + + You need to specify a file of Bible verses to import. + Vous devez spécifier un fichier de verset biblique à importer. + + + + You need to specify a version name for your Bible. + Vous devez spécifier un nom de version pour votre Bible. + + + + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. + Vous devez introduire un copyright pour votre Bible, Les Bibles dans le domaine publics doivent être marquée comme trouvé. + + + + Bible Exists + La Bible existe + + + + This Bible already exists. Please import a different Bible or first delete the existing one. + Cette bible existe déjà. Veuillez introduire un non de Bible différent ou commencer par supprimer celle qui existe déjà. + + + + CSV File + Fichier CSV + + + + openlp.org 1.x bible + Bible openlp.org 1.x + + + + Starting Registering bible... + Commence l'enregistrement de la Bible... + + + + Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required. + Bible enregistrée. Veuillez noter que les verset vont être téléchargement +a la demande, une connexion Interner fiable est donc nécessaire. + + + + Your Bible import failed. + Votre import de Bible à échoué. + + + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? + + + + + BiblesPlugin.MediaItem + + + Quick + Rapide + + + + Second: + Deuxième : + + + + Find: + Recherche : + + + + Results: + Résultat : + + + + Book: + Livre : + + + + Chapter: + Chapitre : + + + + Verse: + Verset : + + + + From: + De : + + + + To: + A : + + + + Text Search + Recherche de texte + + + + Clear + Efface + + + + Keep + Laisse + + + + Scripture Reference + + + + + BiblesPlugin.Opensong + + + Importing %s %s... + Importing <book name> <chapter>... + Import %s %s... + + + + BiblesPlugin.OsisImport + + + Detecting encoding (this may take a few minutes)... + Détection de l'encodage (cela peut prendre quelque minutes)... + + + + Importing %s %s... + Importing <book name> <chapter>... + Import %s %s... + + + + CustomPlugin + + + <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. + <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. + + + + CustomPlugin.CustomTab + + + Custom Display + Affichage custom + + + + Display footer + Affiche le pied de page + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Édite les diapositives custom + + + + &Title: + &Titre : + + + + Add a new slide at bottom. + Ajoute une nouvelle diapositive en bas. + + + + Edit the selected slide. + Édite la diapositive sélectionnée. + + + + Ed&it All + Édite &tous + + + + Edit all the slides at once. + Édite toutes les diapositives en une. + + + + The&me: + Thè&me : + + + + &Credits: + &Crédits : + + + + You need to type in a title. + Vous devez introduire un titre. + + + + You need to add at least one slide + Vous devez ajouter au moins une diapositive + + + + Split Slide + Sépare la diapositive + + + + Split a slide into two by inserting a slide splitter. + Sépare la diapositive en deux par l'inversion d'un séparateur de diapositive. + + + + CustomsPlugin + + + Custom + name singular + + + + + Customs + name plural + + + + + Custom + container title + + + + + Import a Custom + Import un élément custom + + + + Load a new Custom + + + + + Add a new Custom + Ajoute un nouveau custom + + + + Edit the selected Custom + Édite le custom sélectionner + + + + Delete the selected Custom + Efface le custom sélectionné + + + + Preview the selected Custom + Prévisualise le custom sélectionné + + + + Send the selected Custom live + Envoie le custom sélectionner en live + + + + Add the selected Custom to the service + Ajoute le custom sélectionner au service + + + + ImagePlugin + + + <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. + + + + + Image + name singular + Image + + + + Images + name plural + Images + + + + Images + container title + Images + + + + Load a new Image + Charge une nouvelle image + + + + Add a new Image + Ajoute une nouvelle image + + + + Edit the selected Image + Édite l'image sélectionnée + + + + Delete the selected Image + Efface l'image sélectionnée + + + + Preview the selected Image + Prévisualise l'image sélectionnée + + + + Send the selected Image live + Envoie l'image sélectionnée en direct + + + + Add the selected Image to the service + Ajoute l'image sélectionnée au service + + + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + + + ImagePlugin.MediaItem + + + Select Image(s) + Image(s) séléctionnée + + + + You must select an image to delete. + Vous devez sélectionner une image a effacer. + + + + Missing Image(s) + Image(s) manquante + + + + The following image(s) no longer exist: %s + L(es) image(s) suivante(s) n'existe(nt) plus : %s + + + + The following image(s) no longer exist: %s +Do you want to add the other images anyway? + L(es) image(s) suivante(s) n'existe(nt) plus : %s +Voulez-vous ajouter de toute façon d'autres images ? + + + + You must select an image to replace the background with. + Vous devez sélectionner une image pour remplacer le fond. + + + + There was a problem replacing your background, the image file "%s" no longer exists. + Il y a un problème pour remplacer votre fond, le fichier d'image "%s" n'existe plus. + + + + MediaPlugin + + + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + <strong>Module média</strong><br />Le module média permet une lecture de contenu audio et vidéo. + + + + Media + name singular + Médias + + + + Media + name plural + + + + + Media + container title + + + + + Load a new Media + Charge un nouveau média + + + + Add a new Media + Ajoute un nouveau média + + + + Edit the selected Media + Édite le média sélectionné + + + + Delete the selected Media + Efface le média sélectionné + + + + Preview the selected Media + Prévisualise le média sélectionné + + + + Send the selected Media live + Envoie le média en direct + + + + Add the selected Media to the service + Ajouter le média sélectionné au service + + + + MediaPlugin.MediaItem + + + Select Media + Média sélectionné + + + + You must select a media file to replace the background with. + Vous devez sélectionné un fichier média le fond. + + + + There was a problem replacing your background, the media file "%s" no longer exists. + Il y a un problème pour remplacer le fond du direct, le fichier du média "%s" n'existe plus. + + + + Missing Media File + Fichier du média manquant + + + + The file %s no longer exists. + Le fichier %s n'existe plus. + + + + You must select a media file to delete. + Vous devez sélectionné un fichier média à effacer. + + + + Videos (%s);;Audio (%s);;%s (*) + + + + + MediaPlugin.MediaTab + + + Media Display + Affiche le média + + + + Use Phonon for video playback + Use Phonon pour la lecture des vidéos + + + + OpenLP + + + Image Files + Fichiers image + + + + OpenLP.AboutForm + + + OpenLP <version><revision> - Open Source Lyrics Projection + +OpenLP is free church presentation software, or lyrics projection software, used to display slides of songs, Bible verses, videos, images, and even presentations (if OpenOffice.org, PowerPoint or PowerPoint Viewer is installed) for church worship using a computer and a data projector. + +Find out more about OpenLP: http://openlp.org/ + +OpenLP is written and maintained by volunteers. If you would like to see more free Christian software being written, please consider contributing by using the button below. + + + + + Project Lead + Raoul "superfly" Snyman + +Developers + Tim "TRB143" Bentley + Jonathan "gushie" Corwin + Michael "cocooncrash" Gorven + Scott "sguerrieri" Guerrieri + Raoul "superfly" Snyman + Martin "mijiti" Thompson + Jon "Meths" Tibble + +Contributors + Meinert "m2j" Jordan + 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. + + + + + Credits + Crédits + + + + License + Licence + + + + Contribute + Contribuer + + + + build %s + + + + + 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. + + + + + OpenLP.AdvancedTab + + + UI Settings + Propriétés de l'interface + + + + Number of recent files to display: + Nombre de fichiers récents a afficher : + + + + Remember active media manager tab on startup + Se souvenir de l'onglet actif du gestionnaire de média au démarrage + + + + Double-click to send items straight to live + Double-cliquer pour envoyer les éléments directement en live + + + + Expand new service items on creation + Étends les nouveaux éléments du service a la création + + + + Enable application exit confirmation + Demande une confirmation avant de quitter l'application + + + + Mouse Cursor + Curseur de la souris + + + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Couleur de fond : + + + + Image file: + + + + + Open File + Ouvre un fichier + + + + OpenLP.DisplayTagDialog + + + Edit Selection + Édite la sélection + + + + Update + Mettre à jours + + + + Description + Description + + + + Tag + Onglet + + + + Start tag + Tag de démarrage + + + + End tag + Tag de fin + + + + Default + Défaut + + + + Tag id + + + + + Start Html + + + + + End Html + + + + + OpenLP.DisplayTagTab + + + Update Error + Erreur de mise a jours + + + + Tag "n" already defined. + + + + + Tag %s already defined. + + + + + OpenLP.ExceptionDialog + + + Error Occurred + + + + + 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. + + + + + Send E-Mail + Envoyer un courriel + + + + Save to File + Sauve dans un fichier + + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + + + + OpenLP.ExceptionForm + + + Platform: %s + + Plateforme: %s + + + + + Save Crash Report + Sauve le rapport de crache + + + + Text files (*.txt *.log *.text) + Fichiers texte (*.txt *.log *.text) + + + + **OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + + + + + *OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + Please add the information that bug reports are favoured written in English. + + + + + OpenLP.FileRenameForm + + + New File Name: + Nouveau nom de fichier : + + + + File Copy + Copie le fichier + + + + File Rename + Renomme le fichier + + + + OpenLP.GeneralTab + + + General + Général + + + + Monitors + Monitors + + + + Select monitor for output display: + Select le moniteur pour la sortie d'affichage : + + + + Display if a single screen + Affiche si il n'y a qu'un écran + + + + Application Startup + Démarrage de l'application + + + + Show blank screen warning + Affiche un écran noir d'avertissement + + + + Automatically open the last service + Ouvre automatiquement le dernier service + + + + Show the splash screen + Affiche l'écran de démarrage + + + + Check for updates to OpenLP + Regarde s'il y a des mise à jours d'OpenLP + + + + Application Settings + Préférence d'application + + + + Prompt to save before starting a new service + Demande a sauver avant de commencer un nouveau service + + + + Automatically preview next item in service + Prévisualise automatiquement le prochain élément de service + + + + Slide loop delay: + Délais de boucle des diapositive : + + + + sec + sec + + + + CCLI Details + CCLI détails + + + + SongSelect username: + Nom d'utilisateur SongSelect : + + + + SongSelect password: + Mot de passe SongSelect : + + + + Display Position + Position d'affichage + + + + X + X + + + + Y + Y + + + + Height + Hauteur + + + + Width + Largeur + + + + Override display position + Surcharge la position d'affichage + + + + Screen + Écran + + + + primary + primaire + + + + OpenLP.LanguageManager + + + Language + Langage + + + + Please restart OpenLP to use your new language setting. + Veuillez redémarrer OpenLP pour utiliser votre nouvelle propriété de langue. + + + + OpenLP.MainDisplay + + + OpenLP Display + Affichage OpenLP + + + + OpenLP.MainWindow + + + &File + &Fichier + + + + &Import + &Import + + + + &Export + &Export + + + + &View + &View + + + + M&ode + M&ode + + + + &Tools + &Outils + + + + &Settings + &Options + + + + &Language + &Langue + + + + &Help + &Aide + + + + Media Manager + Gestionnaire de médias + + + + Service Manager + Gestionnaire de services + + + + Theme Manager + Gestionnaire de thèmes + + + + &New + &Nouveau + + + + Ctrl+N + Ctrl+N + + + + &Open + &Open + + + + Open an existing service. + Ouvre un service existant. + + + + Ctrl+O + Ctrl+O + + + + &Save + &Enregistre + + + + Save the current service to disk. + Enregistre le service courant sur le disque. + + + + Ctrl+S + Ctrl+S + + + + Save &As... + Enregistre &sous... + + + + Save Service As + Enregistre le service sous + + + + Save the current service under a new name. + Enregistre le service courant sous un nouveau nom. + + + + Ctrl+Shift+S + Ctrl+Shift+S + + + + E&xit + &Quitter + + + + Quit OpenLP + Quitter OpenLP + + + + Alt+F4 + Alt+F4 + + + + &Theme + &Thème + + + + Configure &Shortcuts... + Personnalise les &raccourcis... + + + + &Configure OpenLP... + &Personnalise OpenLP... + + + + &Media Manager + Gestionnaire de &médias + + + + Toggle Media Manager + + + + + Toggle the visibility of the media manager. + + + + + F8 + F8 + + + + &Theme Manager + Gestionnaire de &thèmes + + + + Toggle Theme Manager + + + + + Toggle the visibility of the theme manager. + + + + + F10 + F10 + + + + &Service Manager + Gestionnaire de &services + + + + Toggle Service Manager + + + + + Toggle the visibility of the service manager. + + + + + F9 + F9 + + + + &Preview Panel + Panneau de &prévisualisation + + + + Toggle Preview Panel + + + + + Toggle the visibility of the preview panel. + + + + + F11 + F11 + + + + &Live Panel + Panneau du &direct + + + + Toggle Live Panel + + + + + Toggle the visibility of the live panel. + + + + + F12 + F12 + + + + &Plugin List + Liste des &modules + + + + List the Plugins + Liste des modules + + + + Alt+F7 + Alt+F7 + + + + &User Guide + &Guide utilisateur + + + + &About + &Á propos + + + + More information about OpenLP + Plus d'information sur OpenLP + + + + Ctrl+F1 + Ctrl+F1 + + + + &Online Help + &Aide en ligne + + + + &Web Site + Site &Web + + + + &Auto Detect + Détection &automatique + + + + Use the system language, if available. + Utilise le langage système, si disponible. + + + + Set the interface language to %s + Défini la langue de l'interface à %s + + + + Add &Tool... + Ajoute un &outils.. + + + + Add an application to the list of tools. + Ajoute une application a la liste des outils. + + + + &Default + &Défaut + + + + Set the view mode back to the default. + Redéfini le mode vue comme par défaut. + + + + &Setup + + + + + Set the view mode to Setup. + + + + + &Live + &Direct + + + + Set the view mode to Live. + + + + + 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/. + 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/. + + + + OpenLP Version Updated + Version d'OpenLP mis a jours + + + + OpenLP Main Display Blanked + OpenLP affichage principale noirci + + + + The Main Display has been blanked out + L'affichage principale a été noirci + + + + Close OpenLP + Ferme OpenLP + + + + Are you sure you want to close OpenLP? + Êtes vous sur de vouloir fermer OpenLP ? + + + + Default Theme: %s + Thème par défaut : %s + + + + English + Please add the name of your language here + Anglais + + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + + + + OpenLP.MediaManagerItem + + + No Items Selected + Pas d'éléments sélectionné + + + + &Add to selected Service Item + &Ajoute à l'élément sélectionné du service + + + + You must select one or more items to preview. + Vous devez sélectionner un ou plusieurs éléments a prévisualiser. + + + + You must select one or more items to send live. + Vous devez sélectionner un ou plusieurs éléments pour les envoyer en direct. + + + + You must select one or more items. + Vous devez sélectionner un ou plusieurs éléments. + + + + You must select an existing service item to add to. + Vous devez sélectionner un élément existant du service pour l'ajouter. + + + + Invalid Service Item + Élément du service invalide + + + + You must select a %s service item. + Vous devez sélectionner un %s élément du service. + + + + OpenLP.PluginForm + + + Plugin List + Liste des modules + + + + Plugin Details + Détails du module + + + + Status: + Statu : + + + + Active + Actif + + + + Inactive + Inactif + + + + %s (Disabled) + %s (Désactivé) + + + + %s (Active) + %s (Actif) + + + + %s (Inactive) + %s (Inactif) + + + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Réordonne les éléments du service + + + + OpenLP.ServiceManager + + + Load an existing service + Cherche un service existant + + + + Save this service + Enregistre ce service + + + + Select a theme for the service + Selecte un thème pour le service + + + + Move to &top + Place en &premier + + + + Move item to the top of the service. + Place l'élément au début du service. + + + + Move &up + Déplace en &haut + + + + Move item up one position in the service. + Déplace l'élément d'une position en haut. + + + + Move &down + Déplace en %bas + + + + Move item down one position in the service. + Déplace l'élément d'une position en bas. + + + + Move to &bottom + Place en &dernier + + + + Move item to the end of the service. + Place l'élément a la fin du service. + + + + Moves the selection up the window. + + + + + Move up + Déplace en haut + + + + &Delete From Service + &Efface du service + + + + Delete the selected item from the service. + Efface l'élément sélectionner du service. + + + + &Expand all + &Développer tous + + + + Expand all the service items. + Développe tous les éléments du service. + + + + &Collapse all + &Réduire tous + + + + Collapse all the service items. + Réduit tous les élément du service. + + + + Go Live + Lance le direct + + + + Send the selected item to Live. + Envoie l'élément sélectionné en direct. + + + + &Add New Item + &Ajoute un nouvel élément + + + + &Add to Selected Item + &Ajoute a l'élément sélectionné + + + + &Edit Item + &Édite l'élément + + + + &Reorder Item + &Réordonne l'élément + + + + &Notes + &Remarques + + + + &Change Item Theme + &Change le thème de l'élément + + + + Open File + Ouvre un fichier + + + + OpenLP Service Files (*.osz) + Fichier service OpenLP (*.osz) + + + + File is not a valid service. +The content encoding is not UTF-8. + Le fichier n'est un service valide. +Le contenu n'est pas de l'UTF-8. + + + + File is not a valid service. + Le fichier n'est pas un service valide. + + + + Missing Display Handler + Délégué d'affichage manquent + + + + Your item cannot be displayed as there is no handler to display it + Votre élément ne peut pas être affiché il n'y a pas de délégué pour l'afficher + + + + Your item cannot be displayed as the plugin required to display it is missing or inactive + Votre élément ne peut pas être affiché le module nécessaire pour l'afficher est manquant ou inactif + + + + Moves the selection down the window. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Remarque sur l'élément du service + + + + OpenLP.SettingsForm + + + Configure OpenLP + Configuration d'OpenLP + + + + OpenLP.ShortcutListDialog + + + Customize Shortcuts + Personnalise les raccourci. + + + + Action + Action + + + + Shortcut + Raccourci + + + + Default: %s + Défaut : %s + + + + Custom: + + + + + None + Aucun + + + + Duplicate Shortcut + Raccourci dupliqué + + + + The shortcut "%s" is already assigned to another action, please use a different shortcut. + Le raccourci "%s" est déjà assigner a une autre action, veillez utiliser un raccourci diffèrent. + + + + Alternate + + + + + OpenLP.SlideController + + + Previous Slide + Diapositive précédente + + + + Move to previous + Aller au précédent + + + + Next Slide + Aller au suivant + + + + Move to next + Aller au suivant + + + + Hide + Cache + + + + Blank Screen + Écran noir + + + + Blank to Theme + Thème vide + + + + Show Desktop + Affiche le bureau + + + + Start continuous loop + Démarre une boucle continue + + + + Stop continuous loop + Arrête la boucle continue + + + + Delay between slides in seconds + Délais entre les diapositives en secondes + + + + Move to live + Déplace en direct + + + + Edit and reload song preview + Édite et recharge le chant prévisualisé + + + + Start playing media + Démarre la lecture de média + + + + Go To + Aller à + + + + Previous Service + Service précédent + + + + Next Service + Service suivant + + + + Escape Item + + + + + OpenLP.SpellTextEdit + + + Spelling Suggestions + Suggestions orthographique + + + + Formatting Tags + Tags de formatage + + + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + + (%d lines per slide) + (%d lignes pas diapositive) + + + + Select Image + Sélectionne l'image + + + + Theme Name Missing + Nom du thème manquant + + + + There is no name for this theme. Please enter one. + Il n'y a pas ne nom pour ce thème, Veillez en introduire un. + + + + Theme Name Invalid + Nom du thème invalide + + + + Invalid theme name. Please enter one. + Nom du thème invalide. Veuillez en introduire un. + + + + OpenLP.ThemeManager + + + Create a new theme. + Crée un nouveau thème. + + + + Edit Theme + Édite thème + + + + Edit a theme. + Édite un thème. + + + + Delete Theme + Efface thème + + + + Delete a theme. + Efface un thème. + + + + Import Theme + Import thème + + + + Import a theme. + Import un thème. + + + + Export Theme + Export thème + + + + Export a theme. + Export un thème. + + + + &Edit Theme + &Édite thème + + + + &Copy Theme + &Copier le thème + + + + &Rename Theme + &Renomme le thème + + + + &Delete Theme + &Efface le thème + + + + Set As &Global Default + Établir comme défaut &globale + + + + &Export Theme + &Exporte le thème + + + + %s (default) + %s (défaut) + + + + You must select a theme to rename. + Vous devez sélectionner a thème à renommer. + + + + Rename Confirmation + Confirme le renommage + + + + Rename %s theme? + Renomme le thème %s ? + + + + You must select a theme to edit. + Vous devez sélectionner un thème a éditer. + + + + You must select a theme to delete. + Vous devez sélectionner un thème à effacer. + + + + Delete Confirmation + Confirmation d'effacement + + + + Delete %s theme? + Efface le thème %s ? + + + + You have not selected a theme. + Vous n'avez pas sélectionner de thème. + + + + Save Theme - (%s) + Enregistre le thème - (%s) + + + + Theme Exported + Thème exporté + + + + Your theme has been successfully exported. + Votre thème a été exporter avec succès. + + + + Theme Export Failed + L'export du thème a échoué + + + + Your theme could not be exported due to an error. + Votre thème ne peut pas être exporter a cause d'une erreur. + + + + Select Theme Import File + Select le fichier thème à importer + + + + File is not a valid theme. +The content encoding is not UTF-8. + Le fichier n'est pas un thème. +Le contenu n'est pas de l'UTF-8. + + + + Validation Error + Erreur de validation + + + + File is not a valid theme. + Le fichier n'est pas un thème valide. + + + + A theme with this name already exists. + Le thème avec ce nom existe déjà. + + + + You are unable to delete the default theme. + Vous ne pouvez pas supprimer le thème par défaut. + + + + Theme %s is used in the %s plugin. + Thème %s est utiliser par le module %s. + + + + OpenLP Themes (*.theme *.otz) + + + + + OpenLP.ThemeWizard + + + Edit Theme - %s + Édite le thème - %s + + + + Theme Wizard + Assistant thème + + + + Welcome to the Theme Wizard + Bienvenue dans l'assistant thème + + + + 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. + 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. + + + + Set Up Background + Établir le font + + + + Set up your theme's background according to the parameters below. + Établir le fond de votre thème en fonction des paramètre si dessous. + + + + Background type: + Type de font : + + + + Solid Color + Couleur unie + + + + Gradient + Dégrader + + + + Color: + Couleur : + + + + Gradient: + Dégrader : + + + + Horizontal + Horizontal + + + + Vertical + Vertical + + + + Circular + Circulaire + + + + Top Left - Bottom Right + Haut gauche - Bas droite + + + + Bottom Left - Top Right + Bas gauche - Haut droite + + + + Main Area Font Details + Aire principale détails de police + + + + Define the font and display characteristics for the Display text + Définir la police et les caractéristique d'affichage pour afficher le text + + + + Font: + Police : + + + + Size: + Taille : + + + + Line Spacing: + Espace des lignes : + + + + &Outline: + &Contour : + + + + &Shadow: + &Ombre : + + + + Bold + Gras + + + + Italic + Italique + + + + Footer Area Font Details + Détailles de la police du pied de page + + + + Define the font and display characteristics for the Footer text + Définir la police et les caractéristiques d'affichage du texte en pied de page + + + + Text Formatting Details + Détails de formatage du texte + + + + Allows additional display formatting information to be defined + Permet de définir des paramètre d'affichage supplémentaire + + + + Horizontal Align: + Alignement horizontal : + + + + Left + Gauche + + + + Right + Droite + + + + Center + Centrer + + + + Transitions: + Traductions : + + + + Output Area Locations + Emplacement de la zone d'affichage + + + + Allows you to change and move the main and footer areas. + Vous permettre de déplacer les zone principale et de pied de page + + + + &Main Area + Zone &principale + + + + &Use default location + &Utilise l'emplacement par défaut + + + + X position: + Position x : + + + + px + px + + + + Y position: + Position y : + + + + Width: + Largeur : + + + + Height: + Hauteur : + + + + &Footer Area + Zone de &pied de page + + + + Use default location + Utilise l'emplacement pas défaut + + + + Save and Preview + Enregistre et prévisualise + + + + View the theme and save it replacing the current one or change the name to create a new theme + Visualise le thème et l'enregistre a la place du thème courent, ou change le nom pour en créer un nouveau + + + + Theme name: + Nom du thème : + + + + OpenLP.ThemesTab + + + Global Theme + Thème global + + + + Theme Level + Politique d'application du thème + + + + S&ong Level + Niveau &chant + + + + 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. + 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. + + + + &Service Level + Niveau service + + + + 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. + 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. + + + + &Global Level + Niveau &global + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Utilise un thème global, surcharge tous les thèmes associer aux services et aux chants. + + + + OpenLP.Ui + + + Error + Erreur + + + + &Delete + + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + + + + + Advanced + Avancé + + + + All Files + + + + + Create a new service. + Crée un nouveau service. + + + + &Edit + + + + + Import + Import + + + + Length %s + + + + + Live + + + + + Load + Charge + + + + New + Nouveau + + + + New Service + Nouveau service + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Ouvre un service + + + + Preview + + + + + Replace Background + Remplace le fond + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + Remettre de fond du direct + + + + Save Service + Enregistre le service + + + + Service + Service + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Haut + + + + Middle + Milieux + + + + Bottom + Bas + + + + About + À propos + + + + Browse... + + + + + Cancel + + + + + CCLI number: + Numéro CCLI : + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Image + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + Nouveau thème + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Pas d'éléments sélectionné + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Sauve && prévisualise + + + + Search + Recherche + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + + + + + Themes + Plural + Thèmes + + + + Version + + + + + Finished import. + Import terminé. + + + + Format: + Format : + + + + Importing + Import en cours + + + + Importing "%s"... + + + + + Select Import Source + Sélectionne la source a importer + + + + Select the import format and the location to import from. + + + + + 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. + 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". + + + + Open %s File + + + + + %p% + + + + + Ready. + Prêt. + + + + Starting import... + Commence l'import... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Bienvenue dans l'assistant d'import de Bibles + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + + + + + Topics + Plural + + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + + + + PresentationPlugin + + + <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. + <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.. + + + + Presentation + name singular + Présentation + + + + Presentations + name plural + Présentations + + + + Presentations + container title + Présentations + + + + Load a new Presentation + + + + + Delete the selected Presentation + + + + + Preview the selected Presentation + + + + + Send the selected Presentation live + + + + + Add the selected Presentation to the service + + + + + PresentationPlugin.MediaItem + + + Select Presentation(s) + + + + + Automatic + + + + + Present using: + + + + + Presentations (%s) + + + + + File Exists + + + + + A presentation with that filename already exists. + + + + + Unsupported File + + + + + This type of presentation is not supported. + + + + + Missing Presentation + + + + + The Presentation %s is incomplete, please reload. + + + + + The Presentation %s no longer exists. + + + + + PresentationPlugin.PresentationTab + + + Available Controllers + + + + + Allow presentation application to be overriden + + + + + %s (unavailable) + + + + + RemotePlugin + + + <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. + + + + + Remote + name singular + + + + + Remotes + name plural + + + + + Remote + container title + + + + + RemotePlugin.RemoteTab + + + Server Settings + + + + + Serve on IP address: + + + + + Port number: + + + + + SongUsagePlugin + + + &Song Usage Tracking + + + + + &Delete Tracking Data + + + + + Delete song usage data up to a specified date. + + + + + &Extract Tracking Data + + + + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + + + + + SongUsage + name singular + + + + + SongUsage + name plural + + + + + SongUsage + container title + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Song Usage Data + + + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + + + + SongUsagePlugin.SongUsageDetailForm + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + Output File Location + + + + + usage_detail_%s_%s.txt + + + + + Report Creation + + + + + Report +%s +has been successfully created. + + + + + SongsPlugin + + + Arabic (CP-1256) + + + + + Baltic (CP-1257) + + + + + Central European (CP-1250) + + + + + Cyrillic (CP-1251) + + + + + Greek (CP-1253) + + + + + Hebrew (CP-1255) + + + + + Japanese (CP-932) + + + + + Korean (CP-949) + + + + + Simplified Chinese (CP-936) + + + + + Thai (CP-874) + + + + + Traditional Chinese (CP-950) + + + + + Turkish (CP-1254) + + + + + Vietnam (CP-1258) + + + + + Western European (CP-1252) + + + + + Character Encoding + + + + + The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice. + + + + + Please choose the character encoding. +The encoding is responsible for the correct character representation. + + + + + &Song + + + + + Import songs using the import wizard. + + + + + &Re-index Songs + + + + + Re-index the songs database to improve searching and ordering. + + + + + Reindexing songs... + + + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + + + + + Song + name singular + + + + + Songs + name plural + + + + + Songs + container title + + + + + Add a new Song + + + + + Edit the selected Song + + + + + Delete the selected Song + + + + + Preview the selected Song + + + + + Send the selected Song live + + + + + Add the selected Song to the service + + + + + Exports songs using the export wizard. + + + + + SongsPlugin.AuthorsForm + + + Author Maintenance + + + + + Display name: + + + + + First name: + + + + + Last name: + + + + + You need to type in the first name of the author. + + + + + You need to type in the last name of the author. + + + + + You have not set a display name for the author, combine the first and last names? + + + + + SongsPlugin.CCLIFileImport + + + Importing song %d of %d + + + + + SongsPlugin.EditSongForm + + + Song Editor + + + + + &Title: + &Titre : + + + + Alt&ernate title: + + + + + &Lyrics: + + + + + &Verse order: + + + + + Ed&it All + Édite &tous + + + + Title && Lyrics + + + + + &Add to Song + + + + + &Remove + + + + + &Manage Authors, Topics, Song Books + + + + + A&dd to Song + + + + + R&emove + + + + + Book: + Livre : + + + + Number: + + + + + Authors, Topics && Song Book + + + + + New &Theme + + + + + Copyright Information + + + + + Comments + + + + + Theme, Copyright Info && Comments + + + + + Add Author + + + + + This author does not exist, do you want to add them? + + + + + This author is already in the list. + + + + + 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. + + + + + Add Topic + + + + + This topic does not exist, do you want to add it? + + + + + This topic is already in the list. + + + + + 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. + + + + + You need to type in a song title. + + + + + You need to type in at least one verse. + + + + + You need to have an author for this song. + + + + + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. + + + + + Warning + + + + + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + + + Add Book + + + + + This song book does not exist, do you want to add it? + + + + + You need to type some text in to the verse. + + + + + SongsPlugin.EditVerseForm + + + Edit Verse + + + + + &Verse type: + + + + + &Insert + + + + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + + + SongsPlugin.ImportWizardForm + + + Song Import Wizard + + + + + 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. + + + + + Generic Document/Presentation + + + + + Filename: + + + + + Add Files... + + + + + Remove File(s) + + + + + 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. + + + + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + + Please wait while your songs are imported. + + + + + OpenLP 2.0 Databases + + + + + openlp.org v1.x Databases + + + + + Words Of Worship Song Files + + + + + Select Document/Presentation Files + + + + + Administered by %s + + + + + Songs Of Fellowship Song Files + + + + + SongBeamer Files + + + + + SongShow Plus Song Files + + + + + You need to specify at least one document or presentation file to import from. + + + + + Foilpresenter Song Files + + + + + SongsPlugin.MediaItem + + + Maintain the lists of authors, topics and books + + + + + Entire Song + + + + + Titles + + + + + Lyrics + + + + + Delete Song(s)? + + + + + Are you sure you want to delete the %n selected song(s)? + + + + + + + + CCLI License: + + + + + SongsPlugin.OpenLPSongImport + + + Importing song %d of %d. + + + + + SongsPlugin.OpenLyricsExport + + + Exporting "%s"... + + + + + SongsPlugin.SongBookForm + + + Song Book Maintenance + + + + + &Name: + + + + + &Publisher: + + + + + You need to type in a name for the book. + + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + + + SongsPlugin.SongImport + + + copyright + + + + + SongsPlugin.SongImportForm + + + Your song import failed. + + + + + SongsPlugin.SongMaintenanceForm + + + Could not add your author. + + + + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + The author %s already exists. Would you like to make songs with author %s use the existing author %s? + + + + + Could not save your modified author, because the author already exists. + + + + + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? + + + + + Could not save your modified topic, because it already exists. + + + + + The book %s already exists. Would you like to make songs with book %s use the existing book %s? + + + + + Delete Author + + + + + Are you sure you want to delete the selected author? + + + + + This author cannot be deleted, they are currently assigned to at least one song. + + + + + Delete Topic + + + + + Are you sure you want to delete the selected topic? + + + + + This topic cannot be deleted, it is currently assigned to at least one song. + + + + + Delete Book + + + + + Are you sure you want to delete the selected book? + + + + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + SongsPlugin.SongsTab + + + Songs Mode + + + + + Enable search as you type + + + + + Display verses on live tool bar + + + + + Update service from song edit + + + + + Add missing songs when opening service + + + + + SongsPlugin.TopicsForm + + + Topic Maintenance + + + + + Topic name: + + + + + You need to type in a topic name. + + + + + SongsPlugin.VerseType + + + Verse + + + + + Chorus + + + + + Bridge + + + + + Pre-Chorus + + + + + Intro + + + + + Ending + + + + + Other + + + + 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 @@ AlertPlugin.AlertForm - + No Parameter found Nem található a paraméter - + You have not entered a parameter to be replaced. Do you want to continue anyway? Nincs megadva a cserélendő paraméter. Folytatható? - + No Placeholder found Nem található a helyjelölő - + The alert text does not contain '<>'. Do want to continue anyway? A figyelmeztető szöveg nem tartalmaz „<>” karaktereket. @@ -29,34 +29,34 @@ Folytatható? AlertsPlugin - + &Alert &Figyelmeztetés - + Show an alert message. Figyelmeztetést jelenít meg. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <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 - + Alert name singular Figyelmeztetés - + Alerts name plural Figyelmeztetések - + Alerts container title Figyelmeztetések @@ -65,30 +65,25 @@ Folytatható? AlertsPlugin.AlertForm - + Alert Message Figyelmeztetés - + Alert &text: Figyelmeztető &szöveg: - + &New &Új - + &Save &Mentés - - - &Delete - &Törlés - Displ&ay @@ -100,17 +95,17 @@ Folytatható? M&egjelenítés és bezárás - + New Alert Új figyelmeztetés - + You haven't specified any text for your alert. Please type in some text before clicking New. A figyelmeztető szöveg nincs megadva. Adj meg valamilyen szöveget az Új gombra való kattintás előtt. - + &Parameter: &Paraméter: @@ -126,95 +121,84 @@ Folytatható? AlertsPlugin.AlertsTab - + Font Betűkészlet - + Font name: Betűkészlet neve: - + Font color: Betűszín: - + Background color: Háttérszín: - + Font size: Betűméret: - - pt - - - - + Alert timeout: Figyelmeztetés késleltetése: + + + BibleDB.Wizard - - s - mp + + Importing testaments... %s + - - Location: - Hely: + + Importing testaments... done. + - - Preview - Előnézet + + Importing books... %s + - - OpenLP 2.0 - + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Felülre - - - - Middle - Középre - - - - Bottom - Alulra + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -222,12 +206,12 @@ Folytatható? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? 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? - + Bible not fully loaded @@ -235,110 +219,75 @@ Folytatható? BiblesPlugin - + &Bible &Biblia - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <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. - + Import a Bible Biblia importálása - + Add a new Bible Biblia hozzáadása - + Edit the selected Bible A kijelölt Biblia szerkesztése - + Delete the selected Bible A kijelölt Biblia törlése - - Preview - Előnézet - - - + Preview the selected Bible A kijelölt Biblia előnézete - - Live - Élő adás - - - + Send the selected Bible live A kijelölt Biblia élő adásba küldése - - Service - Szolgálat - - - + Add the selected Bible to the service A kijelölt Biblia hozzáadása a szolgálathoz - + Bible name singular Biblia - + Bibles name plural Bibliák - + Bibles container title Bibliák - - &Import - &Importálás - - - - &Add - &Hozzáadás - - - - &Edit - &Szerkesztés - - - - &Delete - &Törlés - - - + No Book Found Nincs ilyen könyv - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -346,39 +295,39 @@ Folytatható? BiblesPlugin.BibleManager - + Scripture Reference Error Igehely hivatkozási hiba - + Web Bible cannot be used Online Biblia nem használható - + Text Search is not available with Web Bibles. A keresés nem érhető el online Biblián. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Vers megjelenítés - + Only show new chapter numbers Csak az új fejezetszámok megjelenítése - + Layout style: Elrendezési stílus: - + Display style: Megjelenítési stílus: - + Bible theme: Biblia téma: - + Verse Per Slide Egy vers diánként - + Verse Per Line Egy vers soronként - + Continuous Folytonos - + No Brackets Nincsenek zárójelek - + ( And ) ( és ) - + { And } { és } - + [ And ] [ és ] - + Note: Changes do not affect verses already in the service. Megjegyzés: A módosítások nem érintik a már a szolgálatban lévő verseket. - + Display second Bible verses Kettőzött bibliaversek megjelenítése - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bibliaimportáló tündér - - Welcome to the Bible Import Wizard - Üdvözlet a Bibliaimportáló tündérben - - - + 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. 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. - - Select Import Source - Válaszd ki az importálandó forrást - - - - Select the import format, and where to import from. - Válaszd ki az importálandó forrást és a helyet, ahonnan importálja. - - - - Format: - Formátum: - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - + Web Download Web letöltés - - File location: - Fájl helye: - - - - Books location: - Könyvek helye: - - - - Verse location: - Vers helye: - - - - Bible filename: - Biblia fájl: - - - + Location: Hely: - + Crosswalk - + BibleGateway - + Bible: Biblia: - + Download Options Letöltési beállítások - + Server: Szerver: - + Username: Felhasználói név: - + Password: Jelszó: - + Proxy Server (Optional) Proxy szerver (választható) - + License Details Licenc részletek - + Set up the Bible's license details. Állítsd be a Biblia licenc részleteit. - + Version name: Verzió neve: - + Copyright: Szerzői jog: - - Importing - Importálás - - - + Please wait while your Bible is imported. Kérlek, várj, míg a Biblia importálás alatt áll. - - Ready. - Kész. - - - - Invalid Bible Location - Érvénytelen a Biblia elérési útvonala - - - - You need to specify a file to import your Bible from. - Meg kell adni egy fájlt, amelyből a Bibliát importálni lehet. - - - - Invalid Books File - Érvénytelen könyv fájl - - - + You need to specify a file with books of the Bible to use in the import. Meg kell adni egy fájlt a bibliai könyvekről az importáláshoz. - - Invalid Verse File - Érvénytelen versszak fájl - - - + You need to specify a file of Bible verses to import. Meg kell adni egy fájlt a bibliai versekről az importáláshoz. - - Invalid OpenSong Bible - Érvénytelen OpenSong Biblia - - - - You need to specify an OpenSong Bible file to import. - Meg kell adni egy OpenSong Biblia fájlt az importáláshoz. - - - - Empty Version Name - Üres verziónév - - - + You need to specify a version name for your Bible. Meg kell adni a Biblia verziószámát. - - Empty Copyright - Üres a szerzői jog - - - + Bible Exists Biblia létezik - - Open OSIS File - OSIS fájl megnyitása - - - - Open Books CSV File - Könyv CSV fájl megnyitása - - - - Open Verses CSV File - Versszak CSV fájl megnyitása - - - - Open OpenSong Bible - OpenSong Biblia megnyitása - - - - Starting import... - Importálás indítása... - - - - Finished import. - Az importálás befejeződött. - - - + Your Bible import failed. A Biblia importálása nem sikerült. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Meg kell adni a Biblia szerzői jogait. A közkincs Bibliákat meg kell jelölni ilyennek. - + This Bible already exists. Please import a different Bible or first delete the existing one. 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. - - Open openlp.org 1.x Bible - openlp.org 1.x Biblia importálása - - - + Starting Registering bible... A Biblia regisztrálása elkezdődött... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Biblia regisztrálva. Megjegyzés: a versek csak kérésre lesznek letöltve és ekkor internet kapcsolat szükségeltetik. - - openlp.org 1.x - - - - + Permissions: Engedélyek: - - 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. - 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. - - - + CSV File - + openlp.org 1.x bible - - All Files - Minden fájl + + Bibleserver + - - Bibleserver + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick Gyors - - Advanced - Haladó - - - - Version: - Verzió: - - - - Search type: - Keresés típusa: - - - + Find: Keresés: - - Search - Keresés - - - + Results: Eredmények: - + Book: Könyv: - + Chapter: Fejezet: - + Verse: Vers: - + From: Innentől: - + To: Idáig: - - Verse Search - Vers keresése - - - + Text Search Szöveg keresése - + Clear Törlés - + Keep Megtartása - + Second: Második: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - Importálás %s... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -890,12 +672,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... Kódolás észlelése (ez eltarthat pár percig)... - + Importing %s %s... Importing <book name> <chapter>... @@ -904,7 +686,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. <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. @@ -925,210 +707,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Egyedi diák szerkesztése - - Move slide up one position. - A dia eggyel feljebb helyezése. - - - - Move slide down one position. - A dia eggyel lejjebb helyezése. - - - + &Title: &Cím: - + Add a new slide at bottom. Új dia hozzáadása alulra. - + Edit the selected slide. Kijelölt dia szerkesztése. - + Edit all the slides at once. Minden kijelölt dia szerkesztése egyszerre. - - Delete the selected slide. - Kijelölt dia törlése. - - - + Split Slide Kettéválasztás - + Split a slide into two by inserting a slide splitter. Dia ketté vágása egy diaelválasztó beszúrásával. - + The&me: &Téma: - + &Credits: &Közreműködők: - - Save && Preview - Mentés és előnézet - - - + You need to type in a title. Meg kell adnod a címet. - + You need to add at least one slide Meg kell adnod legalább egy diát - - &Add - &Hozzáadás - - - - &Edit - &Szerkesztés - - - + Ed&it All &Összes szerkesztése - - - &Delete - &Törlés - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Nincs kijelölt elem a szerkesztéshez. - - - - You haven't selected an item to delete. - Nincs kijelölt elem a törléshez. - CustomsPlugin - - Import - Importálás - - - + Import a Custom Egyedi dia importálása - - Load - Betöltés - - - + Load a new Custom Új egyedi dia betöltése - - Add - Hozzáadás - - - + Add a new Custom Új egyedi dia hozzáadása - - Edit - Szerkesztés - - - + Edit the selected Custom A kijelölt egyedi dia szerkesztése - - Delete - Törlés - - - + Delete the selected Custom A kijelölt egyedi dia törlése - - Preview - Előnézet - - - + Preview the selected Custom A kijelölt egyedi dia előnézete - - Live - Élő adás - - - + Send the selected Custom live A kijelölt egyedi dia élő adásba küldése - - Service - Szolgálat - - - + Add the selected Custom to the service A kijelölt egyedi dia hozzáadása a szolgálathoz - + Custom name singular Egyedi dia - + Customs name plural Egyedi diák - + Custom container title Egyedi dia @@ -1137,169 +831,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. <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. - - Load - Betöltés - - - + Load a new Image Új kép betöltése - - Add - Hozzáadás - - - + Add a new Image Új kép hozzáadása - - Edit - Szerkesztés - - - + Edit the selected Image A kijelölt kép szerkesztése - - Delete - Törlés - - - + Delete the selected Image A kijelölt kép törlése - - Preview - Előnézet - - - + Preview the selected Image A kijelölt kép előnézete - - Live - Élő adás - - - + Send the selected Image live A kijelölt kép élő adásba küldése - - Service - Szolgálat - - - + Add the selected Image to the service A kijelölt kép hozzáadása a szolgálathoz - + Image name singular Kép - + Images name plural Képek - + Images container title Képek + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Kép(ek) kiválasztása - - All Files - Minden fájl - - - - Replace Live Background - Élő adás hátterének cseréje - - - - Replace Background - Háttér cseréje - - - - Reset Live Background - Élő adás hátterének visszaállítása - - - + You must select an image to delete. Ki kell választani egy képet a törléshez. - - Image(s) - Kép(ek) - - - + You must select an image to replace the background with. Ki kell választani egy képet a háttér cseréjéhez. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1307,94 +939,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <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é. - - Load - Betöltés - - - + Load a new Media Új médiaállomány betöltése - - Add - Hozzáadás - - - + Add a new Media Új médiaállomány hozzáadása - - Edit - Szerkesztés - - - + Edit the selected Media A kijelölt médiaállomány szerkesztése - - Delete - Törlés - - - + Delete the selected Media A kijelölt médiaállomány törlése - - Preview - Előnézet - - - + Preview the selected Media A kijelölt médiaállomány előnézete - - Live - Élő adás - - - + Send the selected Media live A kijelölt médiaállomány élő adásba küldése - - Service - Szolgálat - - - + Add the selected Media to the service A kijelölt médiaállomány hozzáadása a szolgálathoz - + Media name singular Média - + Media name plural Média - + Media container title Média @@ -1403,50 +1000,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - Média - - - + Select Media Médiaállomány kijelölése - - Replace Live Background - Élő adás hátterének cseréje - - - - Replace Background - Háttér cseréje - - - + You must select a media file to delete. Ki kell választani egy média fájlt a törléshez. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1454,12 +1026,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1467,16 +1039,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Média - - - Media Display Média megjelenés - + Use Phonon for video playback @@ -1484,18 +1051,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files Kép fájlok OpenLP.AboutForm - - - About OpenLP - Az OpenLP névjegye - 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. - - About - Névjegy - - - + Credits Közreműködők @@ -1539,7 +1096,7 @@ Az OpenLP-t önkéntesek készítették és tartják karban. Ha szeretnél több - + Project Lead Raoul "superfly" Snyman @@ -1592,9 +1149,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Haladó - - - + UI Settings Felhasználói felület beállításai - + Number of recent files to display: Előzmények megjelenítésének hossza: - + Remember active media manager tab on startup Újraindításkor visszaállítsa az aktív médiakezelő fülét - + Double-click to send items straight to live Duplakattintás azonnal élő adásba küldi az elemet - + Expand new service items on creation Új szolgálat elemek kibontása létrehozáskor - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Háttérszín: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Törlés - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1856,40 +1423,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. 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. - + Error Occurred Hiba történt - + Send E-Mail E-mail küldése - + Save to File Mentés fájlba + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1899,24 +1496,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename Fájl átnevezése - + New File Name: Új fájl neve: - + File Copy @@ -1948,130 +1536,130 @@ Version: %s OpenLP.GeneralTab - + General Általános - + Monitors Monitorok - + Select monitor for output display: Válaszd ki a vetítési képernyőt: - + Display if a single screen Megjelenítés egy képernyő esetén - + Application Startup Alkalmazás indítása - + Show blank screen warning Figyelmeztetés megjelenítése a fekete képernyőről - + Automatically open the last service Utolsó szolgálat automatikus megnyitása - + Show the splash screen Indító képernyő megjelenítése - + Application Settings Alkalmazás beállítások - + Prompt to save before starting a new service Rákérdezés mentésre új szolgálat kezdése előtt - + Automatically preview next item in service Következő elem automatikus előnézete a szolgálatban - + Slide loop delay: Időzített diák késleltetése: - + sec mp - + CCLI Details CCLI részletek - - CCLI number: - CCLI szám: - - - + SongSelect username: SongSelect felhasználói név: - + SongSelect password: SongSelect jelszó: - + Display Position Megjelenítés pozíciója - + X - + Y - + Height Magasság - + Width Szélesség - + Override display position Megjelenítési pozíció felülírása - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2089,7 +1677,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2097,377 +1685,352 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - - - - + &File &Fájl - + &Import &Importálás - + &Export &Exportálás - + &View &Nézet - + M&ode &Mód - + &Tools &Eszközök - + &Settings &Beállítások - + &Language &Nyelv - + &Help &Súgó - + Media Manager Médiakezelő - + Service Manager Szolgálatkezelő - + Theme Manager Témakezelő - + &New &Új - - New Service - Új szolgálat - - - - Create a new service. - Új szolgálat létrehozása. - - - + Ctrl+N - + &Open Meg&nyitás - - Open Service - Szolgálat megnyitása - - - + Open an existing service. Meglévő szolgálat megnyitása. - + Ctrl+O - + &Save &Mentés - - Save Service - Szolgálat mentése - - - + Save the current service to disk. Aktuális szolgálat mentése lemezre. - + Ctrl+S - + Save &As... Mentés má&sként... - + Save Service As Szolgálat mentése másként - + Save the current service under a new name. Az aktuális szolgálat más néven való mentése. - + Ctrl+Shift+S - + E&xit &Kilépés - + Quit OpenLP OpenLP bezárása - + Alt+F4 - + &Theme &Téma - + &Configure OpenLP... OpenLP &beállítása... - + &Media Manager &Médiakezelő - + Toggle Media Manager Médiakezelő átváltása - + Toggle the visibility of the media manager. A médiakezelő láthatóságának átváltása. - + F8 - + &Theme Manager &Témakezelő - + Toggle Theme Manager Témakezelő átváltása - + Toggle the visibility of the theme manager. A témakezelő láthatóságának átváltása. - + F10 - + &Service Manager &Szolgálatkezelő - + Toggle Service Manager Szolgálatkezelő átváltása - + Toggle the visibility of the service manager. A szolgálatkezelő láthatóságának átváltása. - + F9 - + &Preview Panel &Előnézet panel - + Toggle Preview Panel Előnézet panel átváltása - + Toggle the visibility of the preview panel. Az előnézet panel láthatóságának átváltása. - + F11 - + &Live Panel &Élő adás panel - + Toggle Live Panel Élő adás panel átváltása - + Toggle the visibility of the live panel. Az élő adás panel láthatóságának átváltása. - + F12 - + &Plugin List &Bővítménylista - + List the Plugins Bővítmények listája - + Alt+F7 - + &User Guide &Felhasználói kézikönyv - + &About &Névjegy - + More information about OpenLP További információ az OpenLP-ről - + Ctrl+F1 - + &Online Help &Online súgó - + &Web Site &Weboldal - + &Auto Detect &Automatikus felismerés - + Use the system language, if available. Rendszernyelv használata, ha elérhető. - + Set the interface language to %s A felhasználói felület nyelvének átváltása erre: %s - + Add &Tool... &Eszköz hozzáadása... - + Add an application to the list of tools. Egy alkalmazás hozzáadása az eszközök listához. - + &Default &Alapértelmezett - + Set the view mode back to the default. Nézetmód visszaállítása az alapértelmezettre. - + &Setup &Szerkesztés - + Set the view mode to Setup. Nézetmód váltása a Beállítás módra. - + &Live &Élő adás - + Set the view mode to Live. Nézetmód váltása a Élő módra. - + 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/. @@ -2476,37 +2039,27 @@ You can download the latest version from http://openlp.org/. A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be. - + OpenLP Version Updated OpenLP verziófrissítés - + OpenLP Main Display Blanked Sötét OpenLP fő képernyő - + The Main Display has been blanked out A fő képernyő el lett sötétítve - - Save Changes to Service? - Mentsük a változásokat a szolgálatban? - - - - Your service has changed. Do you want to save those changes? - A szolgálat módosult. Szeretné elmenteni? - - - + Default Theme: %s Alapértelmezett téma: %s - + Configure &Shortcuts... &Gyorsbillentyűk beállítása... @@ -2517,70 +2070,80 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.Magyar - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected Nincs kijelölt elem - + &Add to selected Service Item &Hozzáadás a kijelölt szolgálat elemhez - + You must select one or more items to preview. Ki kell választani egy elemet az előnézethez. - + You must select one or more items to send live. Ki kell választani egy élő adásba küldendő elemet. - + You must select one or more items. Ki kell választani egy vagy több elemet. - - No items selected - Nincs kijelölt elem - - - - You must select one or more items - Ki kell választani egy vagy több elemet - - - - No Service Item Selected - Nincs kijelölt szolgálat elem - - - + You must select an existing service item to add to. Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni. - + Invalid Service Item Érvénytelen szolgálat elem - + You must select a %s service item. Ki kell választani egy %s szolgálati elemet. @@ -2588,25 +2151,15 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be. OpenLP.PluginForm - + Plugin List Bővítménylista - + Plugin Details Bővítmény részletei - - - Version: - Verzió: - - - - About: - Névjegy: - Status: @@ -2623,238 +2176,319 @@ A legfrissebb verzió a http://openlp.org/ oldalról szerezhető be.Inaktív - + %s (Inactive) %s (inaktív) - + %s (Active) %s (aktív) - + %s (Disabled) %s (letiltott) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Szolgálati elemek újrarendezése + + Fit Page + - - Delete - Törlés + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Szolgálati elemek újrarendezése OpenLP.ServiceManager - - New Service - Új szolgálat - - - - Create a new service - Új szolgálat létrehozása - - - - Open Service - Szolgálat megnyitása - - - + Load an existing service Egy meglévő szolgálat betöltése - - Save Service - Szolgálat mentése - - - + Save this service Aktuális szolgálat mentése - - Theme: - Téma: - - - + Select a theme for the service Válasszon egy témát a szolgálathoz - + Move to &top Mozgatás &felülre - + Move item to the top of the service. Elem mozgatása a szolgálat elejére. - + Move &up Mozgatás f&eljebb - + Move item up one position in the service. Elem mozgatása a szolgálatban eggyel feljebb. - + Move &down Mozgatás &lejjebb - + Move item down one position in the service. Elem mozgatása a szolgálatban eggyel lejjebb. - + Move to &bottom Mozgatás &alulra - + Move item to the end of the service. Elem mozgatása a szolgálat végére. - + &Delete From Service &Törlés a szolgálatból - + Delete the selected item from the service. Kijelölt elem törlése a szolgálatból. - + &Add New Item Új elem &hozzáadása - + &Add to Selected Item &Hozzáadás a kijelölt elemhez - + &Edit Item &Elem szerkesztése - + &Reorder Item Elem újra&rendezése - + &Notes &Jegyzetek - - &Preview Verse - Versszak &előnézete - - - - &Live Verse - &Adásban lévő versszak - - - + &Change Item Theme Elem témájának &módosítása - + File is not a valid service. The content encoding is not UTF-8. A fájl nem érvényes szolgálat. A tartalom kódolása nem UTF-8. - + File is not a valid service. A fájl nem érvényes szolgálat. - + Missing Display Handler Hiányzó képernyő kezelő - + Your item cannot be displayed as there is no handler to display it Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené - + Your item cannot be displayed as the plugin required to display it is missing or inactive Az elemet nem lehet megjeleníteni, mert a bővítmény, amely kezelné, hiányzik vagy inaktív - + &Expand all Mind &kibontása - + Expand all the service items. Minden szolgálat elemet kibont. - + &Collapse all Mind össze&csukása - + Collapse all the service items. Minden szolgálat elemet összecsuk. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Szolgálat elem jegyzetek @@ -2862,7 +2496,7 @@ A tartalom kódolása nem UTF-8. OpenLP.SettingsForm - + Configure OpenLP OpenLP beállítása @@ -2885,17 +2519,17 @@ A tartalom kódolása nem UTF-8. Gyorsbillentyű - + Default: %s Alapértelmezett: %s - + Custom: Egyedi: - + None Nincs @@ -2909,137 +2543,180 @@ A tartalom kódolása nem UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. A „%s” gyorsbillentyű már foglalt. + + + Alternate + + OpenLP.SlideController - - Live - Élő adás - - - - Preview - Előnézet - - - + Move to previous Mozgatás az előzőre - + Move to next Mozgatás a következőre - + Hide Elrejtés - + Move to live Élő adásba küldés - + Start continuous loop Folyamatos vetítés indítása - + Stop continuous loop Folyamatos vetítés leállítása - - s - mp - - - + Delay between slides in seconds Diák közötti késleltetés másodpercben - + Start playing media Médialejátszás indítása - + Go To Ugrás erre - + Edit and reload song preview Szerkesztés és az dal előnézetének újraolvasása - + Blank Screen Üres képernyő - + Blank to Theme Üres téma - + Show Desktop Asztal megjelenítése + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions Helyesírási javaslatok - + Formatting Tags Formázó címkék - OpenLP.ThemeForm + OpenLP.StartTimeForm - - All Files - Minden fájl + + Item Start Time + - + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + Select Image Kép kijelölése - + Theme Name Missing Téma neve nincs megadva - + There is no name for this theme. Please enter one. A témának nincs neve, meg kell adni. - + Theme Name Invalid Érvénytelen téma név - + Invalid theme name. Please enter one. A téma neve érvénytelen, érvényeset kell megadni. - + (%d lines per slide) (%d sor diánként) @@ -3047,477 +2724,432 @@ A tartalom kódolása nem UTF-8. OpenLP.ThemeManager - - New Theme - Új téma - - - + Create a new theme. Új téma létrehozása. - + Edit Theme Téma szerkesztése - + Edit a theme. Egy téma szerkesztése. - + Delete Theme Téma törlése - + Delete a theme. Egy téma törlése. - + Import Theme Téma importálása - + Import a theme. Egy téma importálása. - + Export Theme Téma exportálása - + Export a theme. Egy téma exportálása. - + &Edit Theme Téma sz&erkesztése - + &Delete Theme Téma &törlése - + Set As &Global Default Beállítás &globális alapértelmezetté - + %s (default) %s (alapértelmezett) - + You must select a theme to edit. Ki kell választani témát a szerkesztéshez. - + You are unable to delete the default theme. Az alapértelmezett témát nem lehet törölni. - + You have not selected a theme. Nincs kiválasztva egy téma sem. - + Save Theme - (%s) Téma mentése – (%s) - + Theme Exported Téma exportálva - + Your theme has been successfully exported. A téma sikeresen exportálásra került. - + Theme Export Failed A téma exportálása nem sikerült - + Your theme could not be exported due to an error. A témát nem sikerült exportálni egy hiba miatt. - + Select Theme Import File Importálandó téma fájl kiválasztása - + File is not a valid theme. The content encoding is not UTF-8. Nem érvényes témafájl. A tartalom kódolása nem UTF-8. - + File is not a valid theme. Nem érvényes témafájl. - + Theme %s is used in the %s plugin. A(z) %s témát a(z) %s bővítmény használja. - + &Copy Theme Téma &másolása - + &Rename Theme Téma át&nevezése - + &Export Theme Téma e&xportálása - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard Téma tündér - + Welcome to the Theme Wizard Üdvözlet a téma tündérben - + Set Up Background Háttér beállítása - + Set up your theme's background according to the parameters below. A téma háttere az alábbi paraméterekkel állítható be. - + Background type: Háttér típusa: - + Solid Color Homogén szín - + Gradient Színátmenet - - Image - Kép - - - + Color: Szín: - + Gradient: Színátmenet: - + Horizontal Vízszintes - + Vertical Függőleges - + Circular Körkörös - + Top Left - Bottom Right Bal felső sarokból jobb alsó sarokba - + Bottom Left - Top Right Bal alső sarokbó jobb felső sarokba - - Image: - Kép: - - - + Main Area Font Details Fő tartalom betűkészlet jellemzői - + Define the font and display characteristics for the Display text A fő szöveg betűkészlete és a megjelenési tulajdonságai - + Font: Betűkészlet: - + Size: Méret: - - pt - - - - + Line Spacing: Sorköz: - + &Outline: &Körvonal: - + &Shadow: &Árnyék: - + Bold Félkövér - + Italic Dőlt - + Footer Area Font Details Lábléc betűkészlet jellemzői - + Define the font and display characteristics for the Footer text A lábléc szöveg betűkészlete és a megjelenési tulajdonságai - + Text Formatting Details Szövegformázás jellemzői - + Allows additional display formatting information to be defined További megjelenési formázások - + Horizontal Align: Vízszintes igazítás: - + Left Balra zárt - + Right Jobbra zárt - + Center Középre igazított - - Vertical Align: - Függőleges igazítás: - - - - Top - Felülre - - - - Middle - Középre - - - - Bottom - Alulra - - - + Output Area Locations Pozíciók - + Allows you to change and move the main and footer areas. A fő szöveg és a lábléc helyzetének mozgatása. - + &Main Area &Fő szöveg - + &Use default location &Alapértelmezett helyen - + X position: X pozíció: - + px - + Y position: Y pozíció: - + Width: Szélesség: - + Height: Magasság: - + Use default location Alapértelmezett helyen - + Save and Preview Mentés és előnézet - + View the theme and save it replacing the current one or change the name to create a new theme 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 - + Theme name: Téma neve: - - New Theme - Új téma - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3525,47 +3157,42 @@ A tartalom kódolása nem UTF-8. OpenLP.ThemesTab - - Themes - Témák - - - + Global Theme Globális téma - + Theme Level Téma szint - + S&ong Level Dal &szint - + 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. 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. - + &Service Level Szolgálati &szint - + 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. 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. - + &Global Level &Globális szint - + Use the global theme, overriding any themes associated with either the service or the songs. A globális téma alkalmazása, vagyis a szolgálathoz, ill. a dalokhoz beállított témák felülírása. @@ -3573,82 +3200,471 @@ A tartalom kódolása nem UTF-8. OpenLP.Ui - + Error Hiba + + + &Delete + &Törlés + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Hozzáadás + + + + Advanced + Haladó + + + + All Files + Minden fájl + + + + Create a new service. + Új szolgálat létrehozása. + + + + &Edit + &Szerkesztés + + + + Import + Importálás + + + + Length %s + + + + + Live + Élő adás + + + + Load + Betöltés + + + + New + + + + + New Service + Új szolgálat + + + + OpenLP 2.0 + + + + + Open Service + Szolgálat megnyitása + + + + Preview + Előnézet + + + + Replace Background + Háttér cseréje + + + + Replace Live Background + Élő adás hátterének cseréje + + + + Reset Background + + + + + Reset Live Background + Élő adás hátterének visszaállítása + + + + Save Service + Szolgálat mentése + + + + Service + Szolgálat + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Felülre + + + + Middle + Középre + + + + Bottom + Alulra + + + + About + Névjegy + + + + Browse... + Tallózás... + + + + Cancel + Mégsem + + + + CCLI number: + CCLI szám: + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + Kép + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + Új téma + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Nincs kijelölt elem + + + + openlp.org 1.x + + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + mp + + + + Save && Preview + Mentés és előnézet + + + + Search + Keresés + + + + You must select an item to delete. + Ki kell választani egy törlendő elemet. + + + + You must select an item to edit. + Ki kell választani egy szerkesztendő elemet. + + + + Theme + Singular + Téma + + + + Themes + Plural + Témák + + + + Version + + + + + Finished import. + Az importálás befejeződött. + + + + Format: + Formátum: + + + + Importing + Importálás + + + + Importing "%s"... + Importálás „%s”... + + + + Select Import Source + Válaszd ki az importálandó forrást + + + + Select the import format and the location to import from. + + + + + 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. + 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. + + + + Open %s File + + + + + %p% + + + + + Ready. + Kész. + + + + Starting import... + Importálás indítása... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Üdvözlet a Bibliaimportáló tündérben + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Üdvözlet a dalimportáló tündérben + + + + Author + Singular + + + + + Authors + Plural + Szerzők + + + + © + Copyright symbol. + + + + + Song Book + Singular + Énekeskönyv + + + + Song Books + Plural + Énekeskönyvek + + + + Song Maintenance + Dalok kezelése + + + + Topic + Singular + Témakör + + + + Topics + Plural + Témakörök + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. <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. - - Load - Betöltés - - - + Load a new Presentation Új bemutató betöltése - - - Delete - Törlés - Delete the selected Presentation A kijelölt bemutató törlése - - Preview - Előnézet - - - + Preview the selected Presentation A kijelölt bemutató előnézete - - Live - Élő adás - - - + Send the selected Presentation live A kijelölt bemutató élő adásba küldése - - Service - Szolgálat - - - + Add the selected Presentation to the service A kijelölt bemutató hozzáadása a szolgálathoz - + Presentation name singular Bemutató - + Presentations name plural Bemutatók - + Presentations container title Bemutatók @@ -3657,105 +3673,100 @@ A tartalom kódolása nem UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Bemutató(k) kiválasztása - + Automatic Automatikus - + Present using: Bemutató ezzel: - + File Exists A fájl létezik - + A presentation with that filename already exists. Ilyen fájlnéven már létezik egy bemutató. - + Unsupported File Nem támogatott fájl - + This type of presentation is not supported. Ez a bemutató típus nem támogatott. - - You must select an item to delete. - Ki kell választani egy törlendő elemet. - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Elérhető vezérlők - - Advanced - Haladó - - - + Allow presentation application to be overriden A bemutató program felülírásának engedélyezése - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <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. - + Remote name singular Távvezérlő - + Remotes name plural Távvezérlők - + Remote container title Távvezérlő @@ -3843,7 +3854,7 @@ A tartalom kódolása nem UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Dalstatisztika adatok törlése @@ -3857,263 +3868,255 @@ A tartalom kódolása nem UTF-8. Are you sure you want to delete selected Song Usage data? Valóban törölhetők a kijelölt dalstatisztika adatok? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Dalstatisztika kicsomagolása - + Select Date Range Időintervallum megadása - + to - + Report Location Helyszín jelentése - + Output File Location Kimeneti fájl elérési útvonala - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Dal - + Import songs using the import wizard. Dalok importálása az importálás tündérrel. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <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é. - + &Re-index Songs Dalok újra&indexelése - + Re-index the songs database to improve searching and ordering. Dal adatbázis újraindexelése a keresés és a rendezés javításához. - + Reindexing songs... Dalok indexelése folyamatban... - - Cancel - Mégsem - - - - Add - Hozzáadás - - - + Add a new Song Új dal hozzáadása - - Edit - Szerkesztés - - - + Edit the selected Song A kijelölt dal szerkesztése - - Delete - Törlés - - - + Delete the selected Song A kijelölt dal törlése - - Preview - Előnézet - - - + Preview the selected Song A kijelölt dal előnézete - - Live - Élő adás - - - + Send the selected Song live A kijelölt dal élő adásba küldése - - Service - Szolgálat - - - + Add the selected Song to the service A kijelölt dal hozzáadása a szolgálathoz - + Song name singular Dal - + Songs name plural Dalok - + Songs container title Dalok - + Arabic (CP-1256) Arab (CP-1256) - + Baltic (CP-1257) Balti (CP-1257) - + Central European (CP-1250) Közép-európai (CP-1250) - + Cyrillic (CP-1251) Cirill (CP-1251) - + Greek (CP-1253) Görög (CP-1253) - + Hebrew (CP-1255) Héber (CP-1255) - + Japanese (CP-932) Japán (CP-932) - + Korean (CP-949) Koreai (CP-949) - + Simplified Chinese (CP-936) Egyszerűsített kínai (CP-936) - + Thai (CP-874) Thai (CP-874) - + Traditional Chinese (CP-950) Hagyományos kínai (CP-950) - + Turkish (CP-1254) Török (CP-1254) - + Vietnam (CP-1258) Vietnámi (CP-1258) - + Western European (CP-1252) Nyugat-európai (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Szerzők kezelése - + Display name: Megjelenített név: - + First name: Keresztnév: - + Last name: Vezetéknév: @@ -4123,12 +4126,12 @@ The encoding is responsible for the correct character representation. Meg kell adni a szerző vezetéknevét. - + You need to type in the last name of the author. Meg kell adni a szerző keresztnevét. - + You have not set a display name for the author, combine the first and last names? Nincs megadva a szerző megjelenített neve, legyen előállítva a vezeték és keresztnevéből? @@ -4136,7 +4139,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4144,242 +4147,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Dalszerkesztő - + &Title: &Cím: - + Alt&ernate title: &Alternatív cím: - + &Lyrics: &Dalszöveg: - + &Verse order: Versszak &sorrend: - - &Add - &Hozzáadás - - - - &Edit - &Szerkesztés - - - + Ed&it All &Összes szerkesztése - - &Delete - &Törlés - - - + Title && Lyrics Cím és dalszöveg - - Authors - Szerzők - - - + &Add to Song &Hozzáadás dalhoz - + &Remove &Eltávolítás - + &Manage Authors, Topics, Song Books Szerzők, témakörök, énekeskönyvek &kezelése - - Topic - Témakör - - - + A&dd to Song &Hozzáadás dalhoz - + R&emove &Eltávolítás - - Song Book - Énekeskönyv - - - + Book: Könyv: - + Number: Szám: - + Authors, Topics && Song Book Szerzők, témakörök és énekeskönyvek - - Theme - Téma - - - + New &Theme Új &téma - + Copyright Information Szerzői jogi információ - - © - - - - - CCLI number: - CCLI szám: - - - + Comments Megjegyzések - + Theme, Copyright Info && Comments Téma, szerzői jogi infók és megjegyzések - - Save && Preview - Mentés és előnézet - - - + Add Author Szerző hozzáadása - + This author does not exist, do you want to add them? Ez a szerző még nem létezik, valóban hozzá kívánja adni? - + This author is already in the list. A szerző már benne van a listában. - - No Author Selected - Nincs kijelölt szerző - - - + 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. 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. - + Add Topic Témakör hozzáadása - + This topic does not exist, do you want to add it? Ez a témakör még nem létezik, szeretnéd hozzáadni? - + This topic is already in the list. A témakör már benne van a listában. - - No Topic Selected - Nincs kijelölt témakör - - - + 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. 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. - + You need to type in a song title. Add meg a dal címét. - + You need to type in at least one verse. Legalább egy versszakot meg kell adnod. - + Warning Figyelmeztetés - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. A versszaksorrend hibás. Nincs ilyen versszak: %s. Az érvényes elemek ezek: %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? Ez a versszak sehol nem lett megadva a sorrendben: %s. Biztosan így kívánod elmenteni a dalt? - + Add Book Könyv hozzáadása - + This song book does not exist, do you want to add it? Ez az énekeskönyv még nem létezik, szeretnéd hozzáadni a listához? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4387,381 +4330,204 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Versszak szerkesztése - + &Verse type: Versszak &típusa: - + &Insert &Beszúrás + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - Nincs kijelölt OpenLP 2.0 adatbázis - - - - You need to select an OpenLP 2.0 song database file to import from. - Ki kell választani egy OpenLP 2.0 adatbázis fájlt az importáláshoz. - - - - No openlp.org 1.x Song Database Selected - Nincs kijelölt openlp.org 1.x adatbázis - - - - You need to select an openlp.org 1.x song database file to import from. - Ki kell választani egy openlp.org 1.x adatbázis fájlt az importáláshoz. - - - - No OpenSong Files Selected - Nincsenek kijelölt OpenSong fájlok - - - - You need to add at least one OpenSong song file to import from. - Ki kell választani legalább egy OpenSong dal fájlt az importáláshoz. - - - - No Words of Worship Files Selected - Nincsenek kijelölt Words of Worship fájlok - - - - You need to add at least one Words of Worship file to import from. - Ki kell választani legalább egy Words of Worship dal fájlt az importáláshoz. - - - - No CCLI Files Selected - Nincsenek kijelölt CCLI fájlok - - - - You need to add at least one CCLI file to import from. - Ki kell választani legalább egy CCLI fájlt az importáláshoz. - - - - No Songs of Fellowship File Selected - Nincs kijelölt Songs of Fellowship fájl - - - - You need to add at least one Songs of Fellowship file to import from. - Ki kell választani legalább egy Songs of Fellowship fájlt az importáláshoz. - - - - No Document/Presentation Selected - Nincs kijelölt dokumentum vagy bemutató - - - - You need to add at least one document or presentation file to import from. - Ki kell választani legalább egy dokumentumot vagy bemutatót az importáláshoz. - - - - Select OpenLP 2.0 Database File - Válassz egy OpenLP 2.0 adatbázis fájlt - - - - Select openlp.org 1.x Database File - Válassz egy openlp.org 1.x adatbázis fájlt - - - - Select Open Song Files - Válassz OpenSong fájlokat - - - - Select Words of Worship Files - Válassz Words of Worship fájlokat - - - - Select CCLI Files - Válassz CCLI fájlokat - - - - Select Songs of Fellowship Files - Válassz Songs of Fellowship fájlokat - - - + Select Document/Presentation Files Válassz dokumentum vagy bemutató fájlokat - - Starting import... - Importálás indítása... - - - + Song Import Wizard Dalimportáló tündér - - Welcome to the Song Import Wizard - Üdvözlet a dalimportáló tündérben - - - + 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. 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. - - Select Import Source - Válaszd ki az importálandó forrást - - - - Select the import format, and where to import from. - Válaszd ki a importálandó forrást és a helyet. - - - - Format: - Formátum: - - - - OpenLP 2.0 - - - - - openlp.org 1.x - - - - - OpenLyrics - - - - - OpenSong - - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation Általános dokumentum vagy bemutató - + Filename: Fájlnév: - - Browse... - Tallózás... - - - - 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. - 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. - - - + Add Files... Fájlok hozzáadása... - + Remove File(s) Fájl(ok) törlése - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. 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. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. 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. - - Importing - Importálás - - - + Please wait while your songs are imported. Kérlek, várj, míg a dalok importálás alatt állnak. - - Ready. - Kész. - - - - %p% - - - - - Importing "%s"... - Importálás „%s”... - - - - Importing %s... - Importálás %s... - - - - No EasyWorship Song Database Selected - Nincs kijelölt EasyWorship dal adatbázis - - - - You need to select an EasyWorship song database file to import from. - Ki kell választani egy EasyWorship dal adatbázis fájlt az importáláshoz. - - - - Select EasyWorship Database File - Válassz egy EasyWorship adatbázis fájlt - - - - EasyWorship - - - - + 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. 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. - - No SongBeamer File Selected - Nincs kijelölt SongBeamer fájl - - - - You need to add at least one SongBeamer file to import from. - Ki kell választani legalább egy SongBeamer dal fájlt az importáláshoz. - - - - All Files - Minden fájl - - - + OpenLP 2.0 Databases OpenLP 2.0 adatbázisok - + openlp.org v1.x Databases openlp.org v1.x adatbázisok - + Words Of Worship Song Files Words of Worship dal fájlok - - - Songs Of Felloship Song Files - Songs Of Felloship dal fájlok - - - - Select SongBeamer Files - Válassz SongBeamer fájlokat - - - - SongBeamer - - Administered by %s Adminisztrálta: %s - - SongBeamer files + + Songs Of Fellowship Song Files - - EasiSlides + + SongBeamer Files - - No OpenLyrics Files Selected + + SongShow Plus Song Files - - You need to add at least one OpenLyrics song file to import from. + + You need to specify at least one document or presentation file to import from. - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4769,115 +4535,72 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Dalok kezelése - - - Maintain the lists of authors, topics and books Szerzők, témakörök, könyvek listájának kezelése - - Search: - Keresés: - - - - Search - Keresés - - - + Titles Címek - + Lyrics Dalszöveg - - Authors - Szerzők - - - - You must select an item to edit. - Ki kell választani egy szerkesztendő elemet. - - - - You must select an item to delete. - Ki kell választani egy törlendő elemet. - - - + Delete Song(s)? Törölhető(ek) a dal(ok)? - + CCLI License: CCLI licenc: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - Témák - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - Importálás %s... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - Importálás %s... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance Énekeskönyvek kezelése - + &Name: &Név: - + &Publisher: &Kiadó: @@ -4887,33 +4610,31 @@ The encoding is responsible for the correct character representation. Meg kell adni a könyv nevét. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright szerzői jog - - - © - - - - - Author unknown - Ismeretlen szerző - SongsPlugin.SongImportForm - - Finished import. - Az importálás befejeződött. - - - + Your song import failed. Az importálás meghiúsult. @@ -4921,157 +4642,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Dalok kezelése - - - - Authors - Szerzők - - - - Topics - Témakörök - - - - Song Books - Énekeskönyvek - - - - &Add - &Hozzáadás - - - - &Edit - &Szerkesztés - - - - &Delete - &Törlés - - - + Could not add your author. A szerzőt nem lehet hozzáadni. - + This author already exists. Ez a szerző már létezik. - + Could not add your topic. A témakört nem lehet hozzáadni. - + This topic already exists. Ez a témakör már létezik. - + Could not add your book. A könyvet nem lehet hozzáadni. - + This book already exists. Ez a könyv már létezik. - + Could not save your changes. A módosításokat nem lehet elmenteni. - + Could not save your modified topic, because it already exists. A módosított témakört nem lehet elmenteni, mivel már létezik. - + Delete Author Szerző törlése - + Are you sure you want to delete the selected author? A kijelölt szerző biztosan törölhető? - + This author cannot be deleted, they are currently assigned to at least one song. Ezt a szerzőt nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve. - - No author selected! - Nincs szerző kijelölve. - - - + Delete Topic Témakör törlése - + Are you sure you want to delete the selected topic? A kijelölt témakör biztosan törölhető? - + This topic cannot be deleted, it is currently assigned to at least one song. Ezt a témakört nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve. - - No topic selected! - Nincs témakör kijelölve. - - - + Delete Book Könyv törlése - + Are you sure you want to delete the selected book? A kijelölt könyv biztosan törölhető? - + This book cannot be deleted, it is currently assigned to at least one song. Ezt a könyvet nem lehet törölni, mivel jelenleg legalább egy dalhoz hozzá van rendelve. - - No book selected! - Nincs könyv kijelölve. - - - + Could not save your modified author, because the author already exists. A módosított szerzőt nem lehet elmenteni, mivel már a szerző létezik. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5107,12 +4778,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Témakörök kezelése - + Topic name: Témakör neve: @@ -5125,7 +4796,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Versszak @@ -5135,37 +4806,29 @@ The encoding is responsible for the correct character representation. Refrén - + Bridge Mellékdal - + Pre-Chorus Elő-refrén - + Intro Bevezetés - + Ending Befejezés - + Other Egyéb - - SongsPlugin.XML - - - Author unknown - Ismeretlen szerző - - 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 @@ + + + + AlertPlugin.AlertForm + + + No Parameter found + Parameter tidak ditemukan + + + + You have not entered a parameter to be replaced. +Do you want to continue anyway? + Anda belum memasukkan parameter baru. +Tetap lanjutkan? + + + + No Placeholder found + Placeholder tidak ditemukan + + + + The alert text does not contain '<>'. +Do want to continue anyway? + Teks peringatan tidak mengandung '<>'. +Tetap lanjutkan? + + + + AlertsPlugin + + + &Alert + Per&ingatan + + + + Show an alert message. + Menampilkan pesan peringatan. + + + + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + <strong>Plugin Peringatan</strong><br />Plugin peringatan mengendalikan tampilan pesan pada layar. + + + + Alert + name singular + Peringatan + + + + Alerts + name plural + Peringatan + + + + Alerts + container title + Peringatan + + + + AlertsPlugin.AlertForm + + + Alert Message + Pesan Peringatan + + + + Alert &text: + Peringatan &teks: + + + + &New + &Baru + + + + &Save + &Simpan + + + + Displ&ay + &Tampilan + + + + Display && Cl&ose + Tampilkan dan &Tutup + + + + New Alert + Peringatan Baru + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + Teks isi peringatan belum dispesifikasi. Harap masukkan teks sebelum memilih Baru. + + + + &Parameter: + &Parameter: + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + Pesan peringatan telah dibuat dan ditampilkan. + + + + AlertsPlugin.AlertsTab + + + Font + Fon + + + + Font name: + Nama fon: + + + + Font color: + Warna fon: + + + + Background color: + Warna latar: + + + + Font size: + Ukuran fon: + + + + Alert timeout: + Waktu-habis untuk peringatan: + + + + BibleDB.Wizard + + + Importing testaments... %s + + + + + Importing testaments... done. + + + + + Importing books... %s + + + + + Importing verses from %s... + Importing verses from <book name>... + + + + + Importing verses... done. + + + + + BiblePlugin.HTTPBible + + + Download Error + Unduhan Gagal + + + + 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. + Ada masalah dalam mengunduh ayat yang terpilih. Mohon periksa sambungan internet Anda dan jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu. + + + + Parse Error + + + + + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. + Ada masalah dalam mengekstrak ayat yang terpilih. Jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu. + + + + BiblePlugin.MediaItem + + + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? + + + + + Bible not fully loaded + Alkitab belum termuat sepenuhnya + + + + BiblesPlugin + + + &Bible + &Alkitab + + + + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + <strong>Plugin Alkitab</strong><br />Plugin Alkitab memungkinkan program untuk menampilkan ayat-ayat dari berbagai sumber selama kebaktian. + + + + Import a Bible + Impor Alkitab + + + + Add a new Bible + Tambahkan Alkitab + + + + Edit the selected Bible + Sunting Alkitab terpilih + + + + Delete the selected Bible + Hapus Alkitab terpilih + + + + Preview the selected Bible + Pratinjau Alkitab terpilih + + + + Send the selected Bible live + Tampilkan Alkitab terpilih + + + + Add the selected Bible to the service + Tambahkan Alkitab terpilih untuk kebaktian + + + + Bible + name singular + Alkitab + + + + Bibles + name plural + Alkitab + + + + Bibles + container title + Alkitab + + + + No Book Found + Kitab Tidak Ditemukan + + + + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. + Kitab tidak ditemukan dalam Alkitab ini. Periksa apakah Anda telah mengeja nama kitab dengan benar. + + + + BiblesPlugin.BibleManager + + + Scripture Reference Error + Referensi Kitab Suci Galat + + + + Web Bible cannot be used + Alkitab Web tidak dapat digunakan + + + + Text Search is not available with Web Bibles. + Pencarian teks tidak dapat dilakukan untuk Alkitab Web. + + + + 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. + + + + + No Bibles available + Alkitab tidak tersedia + + + + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. + TIdak ada Alkitab terpasang. Harap gunakan Import Wizard untuk memasang sebuah atau beberapa Alkitab. + + + + 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 + + + + + BiblesPlugin.BiblesTab + + + Verse Display + Tampilan Ayat + + + + Only show new chapter numbers + + + + + Layout style: + Gaya tata letak: + + + + Display style: + Gaya tampilan: + + + + Bible theme: + Tema Alkitab: + + + + Verse Per Slide + Ayat Tiap Slide + + + + Verse Per Line + Ayat Tiap Baris + + + + Continuous + Sinambung + + + + No Brackets + + + + + ( And ) + ( Dan ) + + + + { And } + { Dan } + + + + [ And ] + [ Dan ] + + + + Note: +Changes do not affect verses already in the service. + Catatan: +Perubahan tidak akan mempengaruhi ayat yang kini tampil. + + + + Display second Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + + + + + 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. + + + + + Web Download + + + + + Location: + Lokasi: + + + + Crosswalk + + + + + BibleGateway + + + + + Bible: + + + + + Download Options + + + + + Server: + Server: + + + + Username: + Nama Pengguna: + + + + Password: + Sandi-lewat: + + + + Proxy Server (Optional) + + + + + License Details + + + + + Set up the Bible's license details. + + + + + Version name: + + + + + Copyright: + + + + + Please wait while your Bible is imported. + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + You need to specify a file of Bible verses to import. + + + + + You need to specify a version name for your Bible. + + + + + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. + + + + + Bible Exists + + + + + This Bible already exists. Please import a different Bible or first delete the existing one. + + + + + Your Bible import failed. + + + + + CSV File + + + + + openlp.org 1.x bible + + + + + Starting Registering bible... + + + + + Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required. + + + + + Bibleserver + + + + + Permissions: + + + + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? + + + + + BiblesPlugin.MediaItem + + + Quick + + + + + Find: + + + + + Results: + + + + + Book: + + + + + Chapter: + + + + + Verse: + + + + + From: + + + + + To: + + + + + Text Search + + + + + Clear + + + + + Keep + + + + + Second: + + + + + Scripture Reference + + + + + BiblesPlugin.Opensong + + + Importing %s %s... + Importing <book name> <chapter>... + Mengimpor %s %s... + + + + BiblesPlugin.OsisImport + + + Detecting encoding (this may take a few minutes)... + + + + + Importing %s %s... + Importing <book name> <chapter>... + Mengimpor %s %s... + + + + CustomPlugin + + + <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. + + + + + CustomPlugin.CustomTab + + + Custom Display + + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + + + + + &Title: + + + + + Add a new slide at bottom. + + + + + Edit the selected slide. + + + + + Edit all the slides at once. + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + Ed&it All + + + + + CustomsPlugin + + + Import a Custom + + + + + Load a new Custom + + + + + Add a new Custom + + + + + Edit the selected Custom + + + + + Delete the selected Custom + + + + + Preview the selected Custom + + + + + Send the selected Custom live + + + + + Add the selected Custom to the service + + + + + Custom + name singular + + + + + Customs + name plural + + + + + Custom + container title + + + + + ImagePlugin + + + <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. + + + + + Load a new Image + + + + + Add a new Image + + + + + Edit the selected Image + + + + + Delete the selected Image + + + + + Preview the selected Image + + + + + Send the selected Image live + + + + + Add the selected Image to the service + + + + + Image + name singular + + + + + Images + name plural + + + + + Images + container title + + + + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + + + ImagePlugin.MediaItem + + + Select Image(s) + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + + + + Missing Image(s) + + + + + The following image(s) no longer exist: %s + + + + + The following image(s) no longer exist: %s +Do you want to add the other images anyway? + + + + + There was a problem replacing your background, the image file "%s" no longer exists. + + + + + MediaPlugin + + + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + + + + + Load a new Media + + + + + Add a new Media + + + + + Edit the selected Media + + + + + Delete the selected Media + + + + + Preview the selected Media + + + + + Send the selected Media live + + + + + Add the selected Media to the service + + + + + Media + name singular + + + + + Media + name plural + + + + + Media + container title + + + + + MediaPlugin.MediaItem + + + Select Media + + + + + You must select a media file to delete. + + + + + You must select a media file to replace the background with. + + + + + There was a problem replacing your background, the media file "%s" no longer exists. + + + + + Missing Media File + + + + + The file %s no longer exists. + + + + + Videos (%s);;Audio (%s);;%s (*) + + + + + MediaPlugin.MediaTab + + + Media Display + + + + + Use Phonon for video playback + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + + 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. + + + + + Credits + + + + + License + + + + + Contribute + + + + + build %s + + + + + 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. + + + + + 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. + + + + + OpenLP.AdvancedTab + + + UI Settings + + + + + Number of recent files to display: + + + + + Remember active media manager tab on startup + + + + + Double-click to send items straight to live + + + + + Expand new service items on creation + + + + + Enable application exit confirmation + + + + + Mouse Cursor + + + + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Warna latar: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html + + + + + OpenLP.DisplayTagTab + + + Update Error + + + + + Tag "n" already defined. + + + + + Tag %s already defined. + + + + + OpenLP.ExceptionDialog + + + Error Occurred + + + + + 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. + + + + + Send E-Mail + + + + + Save to File + + + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + + + + OpenLP.ExceptionForm + + + Platform: %s + + + + + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + + **OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + + + + + *OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + Please add the information that bug reports are favoured written in English. + + + + + OpenLP.FileRenameForm + + + File Rename + + + + + New File Name: + + + + + File Copy + + + + + OpenLP.GeneralTab + + + General + + + + + Monitors + + + + + Select monitor for output display: + + + + + Display if a single screen + + + + + Application Startup + + + + + Show blank screen warning + + + + + Automatically open the last service + + + + + Show the splash screen + + + + + Application Settings + + + + + Prompt to save before starting a new service + + + + + Automatically preview next item in service + + + + + Slide loop delay: + + + + + sec + + + + + CCLI Details + + + + + SongSelect username: + + + + + SongSelect password: + + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + Screen + + + + + primary + + + + + Check for updates to OpenLP + + + + + OpenLP.LanguageManager + + + Language + + + + + Please restart OpenLP to use your new language setting. + + + + + OpenLP.MainDisplay + + + OpenLP Display + + + + + OpenLP.MainWindow + + + &File + + + + + &Import + &Impor + + + + &Export + + + + + &View + + + + + M&ode + + + + + &Tools + + + + + &Settings + + + + + &Language + + + + + &Help + + + + + Media Manager + + + + + Service Manager + + + + + Theme Manager + + + + + &New + &Baru + + + + Ctrl+N + + + + + &Open + + + + + Open an existing service. + + + + + Ctrl+O + + + + + &Save + &Simpan + + + + Save the current service to disk. + + + + + Ctrl+S + + + + + Save &As... + + + + + Save Service As + + + + + Save the current service under a new name. + + + + + Ctrl+Shift+S + + + + + E&xit + + + + + Quit OpenLP + + + + + Alt+F4 + + + + + &Theme + + + + + &Configure OpenLP... + + + + + &Media Manager + + + + + Toggle Media Manager + + + + + Toggle the visibility of the media manager. + + + + + F8 + + + + + &Theme Manager + + + + + Toggle Theme Manager + + + + + Toggle the visibility of the theme manager. + + + + + F10 + + + + + &Service Manager + + + + + Toggle Service Manager + + + + + Toggle the visibility of the service manager. + + + + + F9 + + + + + &Preview Panel + + + + + Toggle Preview Panel + + + + + Toggle the visibility of the preview panel. + + + + + F11 + + + + + &Live Panel + + + + + Toggle Live Panel + + + + + Toggle the visibility of the live panel. + + + + + F12 + + + + + &Plugin List + + + + + List the Plugins + + + + + Alt+F7 + + + + + &User Guide + + + + + &About + + + + + More information about OpenLP + + + + + Ctrl+F1 + + + + + &Online Help + + + + + &Web Site + + + + + &Auto Detect + + + + + Use the system language, if available. + + + + + Set the interface language to %s + + + + + Add &Tool... + + + + + Add an application to the list of tools. + + + + + &Default + + + + + Set the view mode back to the default. + + + + + &Setup + + + + + Set the view mode to Setup. + + + + + &Live + + + + + Set the view mode to Live. + + + + + 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/. + + + + + OpenLP Version Updated + + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + + + + + Default Theme: %s + + + + + English + Please add the name of your language here + + + + + Configure &Shortcuts... + + + + + Close OpenLP + + + + + Are you sure you want to close OpenLP? + + + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + + + + OpenLP.MediaManagerItem + + + No Items Selected + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm + + + Plugin List + + + + + Plugin Details + + + + + Status: + + + + + Active + + + + + Inactive + + + + + %s (Inactive) + + + + + %s (Active) + + + + + %s (Disabled) + + + + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + OpenLP.ServiceManager + + + Load an existing service + + + + + Save this service + + + + + Select a theme for the service + + + + + Move to &top + + + + + Move item to the top of the service. + + + + + Move &up + + + + + Move item up one position in the service. + + + + + Move &down + + + + + Move item down one position in the service. + + + + + Move to &bottom + + + + + Move item to the end of the service. + + + + + &Delete From Service + + + + + Delete the selected item from the service. + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + + + + + &Change Item Theme + + + + + OpenLP Service Files (*.osz) + + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Your item cannot be displayed as the plugin required to display it is missing or inactive + + + + + &Expand all + + + + + Expand all the service items. + + + + + &Collapse all + + + + + Collapse all the service items. + + + + + Open File + + + + + Notes: + + + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + Modified Service + + + + + The current service has been modified. Would you like to save this service? + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.ShortcutListDialog + + + Customize Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default: %s + + + + + Custom: + + + + + None + + + + + Duplicate Shortcut + + + + + The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + + + Alternate + + + + + OpenLP.SlideController + + + Move to previous + + + + + Move to next + + + + + Hide + + + + + Move to live + + + + + Edit and reload song preview + + + + + Start continuous loop + + + + + Stop continuous loop + + + + + Delay between slides in seconds + + + + + Start playing media + + + + + Go To + + + + + Blank Screen + + + + + Blank to Theme + + + + + Show Desktop + + + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + + + + OpenLP.SpellTextEdit + + + Spelling Suggestions + + + + + Formatting Tags + + + + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + + Select Image + + + + + Theme Name Missing + + + + + There is no name for this theme. Please enter one. + + + + + Theme Name Invalid + + + + + Invalid theme name. Please enter one. + + + + + (%d lines per slide) + + + + + OpenLP.ThemeManager + + + Create a new theme. + + + + + Edit Theme + + + + + Edit a theme. + + + + + Delete Theme + + + + + Delete a theme. + + + + + Import Theme + + + + + Import a theme. + + + + + Export Theme + + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You are unable to delete the default theme. + + + + + Theme %s is used in the %s plugin. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + &Copy Theme + + + + + &Rename Theme + + + + + &Export Theme + + + + + You must select a theme to rename. + + + + + Rename Confirmation + + + + + Rename %s theme? + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete %s theme? + + + + + Validation Error + + + + + A theme with this name already exists. + + + + + OpenLP Themes (*.theme *.otz) + + + + + OpenLP.ThemeWizard + + + Theme Wizard + + + + + Welcome to the Theme Wizard + + + + + Set Up Background + + + + + Set up your theme's background according to the parameters below. + + + + + Background type: + + + + + Solid Color + + + + + Gradient + + + + + Color: + + + + + Gradient: + + + + + Horizontal + + + + + Vertical + + + + + Circular + + + + + Top Left - Bottom Right + + + + + Bottom Left - Top Right + + + + + Main Area Font Details + + + + + Define the font and display characteristics for the Display text + + + + + Font: + + + + + Size: + + + + + Line Spacing: + + + + + &Outline: + + + + + &Shadow: + + + + + Bold + + + + + Italic + + + + + Footer Area Font Details + + + + + Define the font and display characteristics for the Footer text + + + + + Text Formatting Details + + + + + Allows additional display formatting information to be defined + + + + + Horizontal Align: + + + + + Left + + + + + Right + + + + + Center + + + + + Output Area Locations + + + + + Allows you to change and move the main and footer areas. + + + + + &Main Area + + + + + &Use default location + + + + + X position: + + + + + px + + + + + Y position: + + + + + Width: + + + + + Height: + + + + + Use default location + + + + + Save and Preview + + + + + View the theme and save it replacing the current one or change the name to create a new theme + + + + + Theme name: + + + + + Edit Theme - %s + + + + + 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. + + + + + Transitions: + + + + + &Footer Area + + + + + OpenLP.ThemesTab + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + + &Service Level + + + + + 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. + + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + + + + + OpenLP.Ui + + + Error + + + + + &Add + + + + + Advanced + + + + + All Files + + + + + Create a new service. + + + + + &Delete + + + + + &Edit + + + + + Import + + + + + Length %s + + + + + Live + + + + + Load + + + + + New + + + + + New Service + + + + + OpenLP 2.0 + + + + + Open Service + + + + + Preview + + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + Save Service + + + + + Service + + + + + Start %s + + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Vertical Align: + + + + + Top + + + + + Middle + + + + + Bottom + + + + + About + + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pn + + + + Image + + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + + + + + Search + + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + + + + + Themes + Plural + + + + + Version + + + + + Finished import. + + + + + Format: + + + + + Importing + + + + + Importing "%s"... + + + + + Select Import Source + + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + + + + + Ready. + + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + + + + + Topics + Plural + + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + + + + PresentationPlugin + + + <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. + + + + + Load a new Presentation + + + + + Delete the selected Presentation + + + + + Preview the selected Presentation + + + + + Send the selected Presentation live + + + + + Add the selected Presentation to the service + + + + + Presentation + name singular + + + + + Presentations + name plural + + + + + Presentations + container title + + + + + PresentationPlugin.MediaItem + + + Select Presentation(s) + + + + + Automatic + + + + + Present using: + + + + + File Exists + + + + + A presentation with that filename already exists. + + + + + Unsupported File + + + + + This type of presentation is not supported. + + + + + Presentations (%s) + + + + + Missing Presentation + + + + + The Presentation %s no longer exists. + + + + + The Presentation %s is incomplete, please reload. + + + + + PresentationPlugin.PresentationTab + + + Available Controllers + + + + + Allow presentation application to be overriden + + + + + %s (unavailable) + + + + + RemotePlugin + + + <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. + + + + + Remote + name singular + + + + + Remotes + name plural + + + + + Remote + container title + + + + + RemotePlugin.RemoteTab + + + Serve on IP address: + + + + + Port number: + + + + + Server Settings + + + + + SongUsagePlugin + + + &Song Usage Tracking + + + + + &Delete Tracking Data + + + + + Delete song usage data up to a specified date. + + + + + &Extract Tracking Data + + + + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + + + + + SongUsage + name singular + + + + + SongUsage + name plural + + + + + SongUsage + container title + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Song Usage Data + + + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + + + + SongUsagePlugin.SongUsageDetailForm + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + Output File Location + + + + + usage_detail_%s_%s.txt + + + + + Report Creation + + + + + Report +%s +has been successfully created. + + + + + SongsPlugin + + + &Song + + + + + Import songs using the import wizard. + + + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + + + + + &Re-index Songs + + + + + Re-index the songs database to improve searching and ordering. + + + + + Reindexing songs... + + + + + Add a new Song + + + + + Edit the selected Song + + + + + Delete the selected Song + + + + + Preview the selected Song + + + + + Send the selected Song live + + + + + Add the selected Song to the service + + + + + Arabic (CP-1256) + + + + + Baltic (CP-1257) + + + + + Central European (CP-1250) + + + + + Cyrillic (CP-1251) + + + + + Greek (CP-1253) + + + + + Hebrew (CP-1255) + + + + + Japanese (CP-932) + + + + + Korean (CP-949) + + + + + Simplified Chinese (CP-936) + + + + + Thai (CP-874) + + + + + Traditional Chinese (CP-950) + + + + + Turkish (CP-1254) + + + + + Vietnam (CP-1258) + + + + + Western European (CP-1252) + + + + + Character Encoding + + + + + The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice. + + + + + Please choose the character encoding. +The encoding is responsible for the correct character representation. + + + + + Song + name singular + + + + + Songs + name plural + + + + + Songs + container title + + + + + Exports songs using the export wizard. + + + + + SongsPlugin.AuthorsForm + + + Author Maintenance + + + + + Display name: + + + + + First name: + + + + + Last name: + + + + + You need to type in the first name of the author. + + + + + You need to type in the last name of the author. + + + + + You have not set a display name for the author, combine the first and last names? + + + + + SongsPlugin.CCLIFileImport + + + Importing song %d of %d + + + + + SongsPlugin.EditSongForm + + + Song Editor + + + + + &Title: + + + + + Alt&ernate title: + + + + + &Lyrics: + + + + + &Verse order: + + + + + Ed&it All + + + + + Title && Lyrics + + + + + &Add to Song + + + + + &Remove + + + + + &Manage Authors, Topics, Song Books + + + + + A&dd to Song + + + + + R&emove + + + + + Book: + + + + + Number: + + + + + Authors, Topics && Song Book + + + + + New &Theme + + + + + Copyright Information + + + + + Comments + + + + + Theme, Copyright Info && Comments + + + + + Add Author + + + + + This author does not exist, do you want to add them? + + + + + This author is already in the list. + + + + + 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. + + + + + Add Topic + + + + + This topic does not exist, do you want to add it? + + + + + This topic is already in the list. + + + + + 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. + + + + + You need to type in a song title. + + + + + You need to type in at least one verse. + + + + + Warning + + + + + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. + + + + + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + + + Add Book + + + + + This song book does not exist, do you want to add it? + + + + + You need to have an author for this song. + + + + + You need to type some text in to the verse. + + + + + SongsPlugin.EditVerseForm + + + Edit Verse + + + + + &Verse type: + + + + + &Insert + + + + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + + + SongsPlugin.ImportWizardForm + + + Select Document/Presentation Files + + + + + Song Import Wizard + + + + + 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. + + + + + Generic Document/Presentation + + + + + Filename: + + + + + 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. + + + + + Add Files... + + + + + Remove File(s) + + + + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + + Please wait while your songs are imported. + + + + + Administered by %s + + + + + OpenLP 2.0 Databases + + + + + openlp.org v1.x Databases + + + + + Words Of Worship Song Files + + + + + Songs Of Fellowship Song Files + + + + + SongBeamer Files + + + + + SongShow Plus Song Files + + + + + You need to specify at least one document or presentation file to import from. + + + + + Foilpresenter Song Files + + + + + SongsPlugin.MediaItem + + + Maintain the lists of authors, topics and books + + + + + Titles + + + + + Lyrics + + + + + Delete Song(s)? + + + + + CCLI License: + + + + + Entire Song + + + + + Are you sure you want to delete the %n selected song(s)? + + + + + + + SongsPlugin.OpenLPSongImport + + + Importing song %d of %d. + + + + + SongsPlugin.OpenLyricsExport + + + Exporting "%s"... + + + + + SongsPlugin.SongBookForm + + + Song Book Maintenance + + + + + &Name: + + + + + &Publisher: + + + + + You need to type in a name for the book. + + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + + + SongsPlugin.SongImport + + + copyright + + + + + SongsPlugin.SongImportForm + + + Your song import failed. + + + + + SongsPlugin.SongMaintenanceForm + + + Could not add your author. + + + + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + Could not save your modified author, because the author already exists. + + + + + Could not save your modified topic, because it already exists. + + + + + Delete Author + + + + + Are you sure you want to delete the selected author? + + + + + This author cannot be deleted, they are currently assigned to at least one song. + + + + + Delete Topic + + + + + Are you sure you want to delete the selected topic? + + + + + This topic cannot be deleted, it is currently assigned to at least one song. + + + + + Delete Book + + + + + Are you sure you want to delete the selected book? + + + + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + The author %s already exists. Would you like to make songs with author %s use the existing author %s? + + + + + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? + + + + + The book %s already exists. Would you like to make songs with book %s use the existing book %s? + + + + + SongsPlugin.SongsTab + + + Songs Mode + + + + + Enable search as you type + + + + + Display verses on live tool bar + + + + + Update service from song edit + + + + + Add missing songs when opening service + + + + + SongsPlugin.TopicsForm + + + Topic Maintenance + + + + + Topic name: + + + + + You need to type in a topic name. + + + + + SongsPlugin.VerseType + + + Verse + + + + + Chorus + + + + + Bridge + + + + + Pre-Chorus + + + + + Intro + + + + + Ending + + + + + Other + Lainnya + + + 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 @@ AlertPlugin.AlertForm - + No Parameter found 引数がみつかりません - + You have not entered a parameter to be replaced. Do you want to continue anyway? 引数が入力されていません。 続けますか? - + No Placeholder found 代入場所がみつかりません - + The alert text does not contain '<>'. Do want to continue anyway? 警告文に「<>」が含まれていません。 @@ -30,34 +30,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert 警告(&A) - + Show an alert message. 警告メッセージを表示する。 - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen - <strong>警告プラグイン</strong><br />警告プラグインは、画面に警告文を表示する機能を提供します。 + <strong>警告プラグイン</strong><br />警告プラグインは、画面に警告文を表示する機能を提供します - + Alert name singular 警告 - + Alerts name plural 警告 - + Alerts container title 警告 @@ -66,30 +66,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message 警告メッセージ - + Alert &text: 警告文(&T): - + &New 新規作成(&N) - + &Save 保存(&S) - - - &Delete - 削除(&D) - Displ&ay @@ -101,17 +96,17 @@ Do want to continue anyway? 表示して閉じる(&O) - + New Alert 新しい警告 - + You haven't specified any text for your alert. Please type in some text before clicking New. 警告文が何も設定されていません。新規作成をクリックする前にメッセージを入力してください。 - + &Parameter: 引数(&P): @@ -127,219 +122,173 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font フォント - + Font name: フォント名: - + Font color: 文字色: - + Background color: 背景色: - + Font size: 大きさ: - - pt - - - - + Alert timeout: 警告タイムアウト: + + + BibleDB.Wizard - - s - + + Importing testaments... %s + 新旧訳を取込み中...%s - - Location: - 表示位置: + + Importing testaments... done. + 新旧訳の取込み...完了。 - - Preview - プレビュー + + Importing books... %s + 書簡の取込み中...%s - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + 節の取込み中 %s... - - Top - - - - - Middle - 中央 - - - - Bottom - + + Importing verses... done. + 節の取込み....完了。 BiblePlugin.HTTPBible - + Download Error ダウンロードエラー - + Parse Error HTML構文エラー - + 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. - + 選択された聖書のダウンロードに失敗しました。インターネット接続を確認し、エラーが再び起こったときは、バグ報告を検討してください。 - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. - + 選択された聖書の展開に失敗しました。エラーが再び起こったときは、バグ報告を検討してください。 BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + 二つの訳を一つの礼拝項目に合わせる事はできません。検索結果を削除して、始めから検索しますか? - + Bible not fully loaded - + 聖書データは完全に読み込まれていません BiblesPlugin - + &Bible 聖書(&B) - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>聖書プラグイン</strong><br />聖書プラグインは、礼拝で様々な訳の御言葉を表示する機能を提供します。 - + Import a Bible 聖書をインポート - + Add a new Bible 聖書を追加 - + Edit the selected Bible 選択した聖書を編集 - + Delete the selected Bible 選択した聖書を削除 - - Preview - プレビュー - - - + Preview the selected Bible 選択した聖書をプレビュー - - Live - ライブ - - - + Send the selected Bible live 選択した聖書をライブへ送る - - Service - 礼拝 - - - + Add the selected Bible to the service 選択した聖書を礼拝に追加 - + Bible name singular 聖書 - + Bibles name plural 聖書 - + Bibles container title 聖書 - - &Import - インポート(&I) - - - - &Add - 追加(&A) - - - - &Edit - 編集(&E) - - - - &Delete - 削除(&D) - - - + No Book Found 書名がみつかりません - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. 該当する書名がこの聖書に見つかりません。書名が正しいか確認してください。 @@ -347,39 +296,40 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error 書名章節番号エラー - + Web Bible cannot be used ウェブ聖書は使用できません - + Text Search is not available with Web Bibles. 本文検索はウェブ聖書では使用できません。 - + 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. - + 検索語句が入力されていません。 +複数の語句をスペースで区切ると全てに該当する箇所を検索し、コンマ(,)で区切るといずれかに該当する箇所を検索します。 - + No Bibles available - + 利用可能な聖書データがありません - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - + 利用可能な聖書がありません。インポートガイドを利用して、一つ以上の聖書をインストールしてください。 - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display - 御言葉の表示 + 聖句の表示 - + Only show new chapter numbers 初めの章番号のみを表示 - + Layout style: - レイアウトスタイル: + レイアウトスタイル: - + Display style: - 表示スタイル: + 表示スタイル: - + Bible theme: 聖書のテーマ: - + Verse Per Slide スライドに1節 - + Verse Per Line 1行に1節 - + Continuous 連続 - + No Brackets なし - + ( And ) ( と ) - + { And } { と } - + [ And ] [ と ] - + Note: Changes do not affect verses already in the service. 注意: 既に礼拝に含まれる御言葉は変更されません。 - + Display second Bible verses - 2つの御言葉を表示 - - - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - %s %sをインポートしています... + 2つの聖句を表示 BiblesPlugin.ImportWizardForm - + Bible Import Wizard 聖書インポートウィザード - - Welcome to the Bible Import Wizard - 選択した聖書を礼拝に追加へようこそ - - - + 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. - + この一連の手順を通じて、様々な聖書のデータを取り込む事ができます。次へボタンをクリックし、取り込む聖書のフォーマットを選択してください。 - - Select Import Source - - - - - Select the import format, and where to import from. - 取り込む書式とどこから取り込み元を選択してください。 - - - - Format: - 書式: - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - + Web Download - + ウェブからダウンロード - - File location: - + + Location: + サイト: - - Books location: - + + Crosswalk + - - Verse location: - + + BibleGateway + + + + + Bible: + 訳: + + + + Download Options + ダウンロードオプション - Bible filename: - - - - - Location: - サイト: - - - - Crosswalk - - - - - BibleGateway - - - - - Bible: - 訳: - - - - Download Options - - - - Server: サーバ: - + Username: ユーザ名: - + Password: パスワード: - + Proxy Server (Optional) プロキシサーバ (任意) - + License Details - + ライセンス詳細 - + Set up the Bible's license details. - + ライセンス詳細を設定してください。 - + Version name: 訳名: - + Copyright: 著作権: - - Importing - インポート中 - - - + Please wait while your Bible is imported. - + 聖書データの取り込みが完了するまでしばらくお待ちください。 - - Ready. - 完了。 - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - + You need to specify a file with books of the Bible to use in the import. - + 取り込む聖書データの書簡を指定する必要があります。 - - Invalid Verse File - - - - + You need to specify a file of Bible verses to import. - + 取り込む節の指定が必要です。 - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - + You need to specify a version name for your Bible. - + 聖書データのバージョン名を指定する必要があります。 - - Empty Copyright - - - - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + 著作権情報を入力してください。公共のサイトからの聖書もそのように入力ください。 - + Bible Exists - + 聖書が存在します - + This Bible already exists. Please import a different Bible or first delete the existing one. - + すでにこの聖書データは取り込み済みです。他の聖書データを取り込むか既に取り込まれた聖書を削除してください。 - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - - - - + Your Bible import failed. - + 聖書データの取り込みに失敗しました。 - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + 聖書を登録しています... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - + 聖書が登録されました。節ごとに必要に応じてダウンロードされますので、インターネットへの接続が要求される事を留意しておいてください。 - - openlp.org 1.x - - - - + Permissions: - + 使用許可: - + CSV File - + CSVファイル - + openlp.org 1.x bible - + - - All Files - 全てのファイル - - - + Bibleserver - + - - 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. - + + Bible file: + 聖書訳: + + + + Testaments file: + 新旧訳: + + + + Books file: + 書簡: + + + + Verses file: + 節: + + + + You have not specified a testaments file. Do you want to proceed with the import? + BiblesPlugin.MediaItem - + Quick 高速 - - Advanced - 詳細 - - - - Version: - 訳名: - - - - Search type: - 検索方法: - - - + Find: 検索: - - Search - 検索 - - - + Results: 結果: - + Book: 書名: - + Chapter: 章: - + Verse: 節: - + From: 開始: - + To: 終了: - - Verse Search - 書名章節検索 - - - + Text Search キーワード検索 - + Clear 消去 - + Keep 追加 - + Second: 第二訳: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - %s をインポートしています... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... %s %sをインポートしています... @@ -890,12 +673,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... エンコードの検出中です(数分かかることがあります)... - + Importing %s %s... Importing <book name> <chapter>... %s %sをインポートしています... @@ -904,7 +687,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. <strong>カスタムプラグイン</strong><br />カスタムプラグインは、カスタムのテキストを歌などと同様に表示する機能を提供します。 @@ -914,221 +697,133 @@ demand and thus an internet connection is required. Custom Display - + カスタム表示 Display footer - + フッター表示 CustomPlugin.EditCustomForm - + Edit Custom Slides - + カスタムスライドを編集 + + + + &Title: + タイトル(&T): - Move slide up one position. - - - - - Move slide down one position. - - - - - &Title: - - - - Add a new slide at bottom. - + 一番下に新規スライドを追加。 - + Edit the selected slide. - + 選択したスライドを編集。 - + Edit all the slides at once. - + すべてのスライドを一括編集。 - - Delete the selected slide. - - - - + Split Slide - + スライドを分割 - + Split a slide into two by inserting a slide splitter. - + スライド分割機能を用い、スライドを分割してください。 - + The&me: - + テーマ(&m): - - &Credits: - - - - - Save && Preview - - - - + You need to type in a title. - + タイトルの入力が必要です。 - + You need to add at least one slide - + 最低一枚のスライドが必要です - - &Add - 追加(&A) - - - - &Edit - 編集(&E) - - - + Ed&it All 全て編集(&I) - - &Delete - 削除(&D) - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - 編集する項目が選択されていません。 - - - - You haven't selected an item to delete. - 削除する項目が選択されていません。 + + &Credits: + CustomsPlugin - - Import - インポート + + Import a Custom + カスタムをインポート + + + + Load a new Custom + 新しいカスタムを読み込む + + + + Add a new Custom + 新しいカスタムを追加 + + + + Edit the selected Custom + 選択したカスタムを編集 + + + + Delete the selected Custom + 選択したカスタムを削除 + + + + Preview the selected Custom + 選択したカスタムをプレビュー + + + + Send the selected Custom live + 選択したカスタムをライブへ送る - Import a Custom - カスタムをインポート - - - - Load - 読み込み - - - - Load a new Custom - 新しいカスタムを読み込み - - - - Add - 追加 - - - - Add a new Custom - 新しいカスタムを追加 - - - - Edit - 編集 - - - - Edit the selected Custom - 選択したカスタムを編集 - - - - Delete - 削除 - - - - Delete the selected Custom - 選択したカスタムを削除 - - - - Preview - プレビュー - - - - Preview the selected Custom - 選択したカスタムをプレビュー - - - - Live - ライブ - - - - Send the selected Custom live - 選択したカスタムをライブへ送る - - - - Service - 礼拝 - - - Add the selected Custom to the service - 選択したカスタムを礼拝に追加 + 選択したカスタムを礼拝に追加 - + Custom name singular カスタム - + Customs name plural カスタム - + Custom container title カスタム @@ -1137,264 +832,168 @@ demand and thus an internet connection is required. ImagePlugin - + <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. <strong>画像プラグイン</strong><br />画像プラグインは、画像を表示する機能を提供します。<br />礼拝マネージャで複数の画像をグループ化したり、複数の画像を簡単に表示することができます。タイムアウトループの機能を使用してスライドショーを自動的に表示することもできます。さらに、歌などのテキストベースの項目の背景を、テーマで指定されたものからこのプラグインの画像に変更することもできます。 - - Load - 読み込み - - - + Load a new Image 新しい画像を読み込み - - Add - 追加 - - - + Add a new Image 新しい画像を追加 - - Edit - 編集 - - - + Edit the selected Image 選択した画像を編集 - - Delete - 削除 - - - + Delete the selected Image 選択した画像を削除 - - Preview - プレビュー - - - + Preview the selected Image 選択した画像をプレビュー - - Live - ライブ - - - + Send the selected Image live 選択した画像をライブへ送る - - Service - 礼拝 - - - + Add the selected Image to the service 選択した画像を礼拝に追加 - + Image name singular 画像 - + Images name plural 画像 - + Images container title 画像 + + ImagePlugin.ExceptionDialog + + + Select Attachment + 添付を選択 + + ImagePlugin.MediaItem - + Select Image(s) - 画像を選択 + 画像を選択 - - All Files - 全てのファイル - - - - Replace Live Background - ライブの背景を置換 - - - - Replace Background - 背景を置換 - - - - Reset Live Background - ライブの背景をリセット - - - + You must select an image to delete. 削除する画像を選択してください。 - - Image(s) - 画像 + + You must select an image to replace the background with. + 置き換える画像を選択してください。 + + + + Missing Image(s) + 画像が見つかりません + + + + The following image(s) no longer exist: %s + 以下の画像は既に存在しません + + + + The following image(s) no longer exist: %s +Do you want to add the other images anyway? + 以下の画像は既に存在しません:%s +それでも他の画像を追加しますか? - You must select an image to replace the background with. - 置き換える画像を選択してください。 - - - - Reset Background - 背景をリセット - - - - Missing Image(s) - - - - - The following image(s) no longer exist: %s - - - - - The following image(s) no longer exist: %s -Do you want to add the other images anyway? - - - - - Live Background Error - - - - There was a problem replacing your background, the image file "%s" no longer exists. - + 背景画像を置換する際に問題が発生しました。画像ファイル"%s"が存在しません。 MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>メディアプラグイン</strong><br />メディアプラグインは、音声や動画を再生する機能を提供します。 - - Load - 読み込み - - - + Load a new Media 新しいメディアを読み込み - - Add - 追加 - - - + Add a new Media 新しいメディアを追加 - - Edit - 編集 - - - + Edit the selected Media 選択したメディアを編集 - - Delete - 削除 - - - + Delete the selected Media 選択したメディアを削除 - - Preview - プレビュー - - - + Preview the selected Media 選択したメディアをプレビュー - - Live - ライブ - - - + Send the selected Media live 選択したメディアをライブへ送る - - Service - 礼拝 - - - + Add the selected Media to the service 選択したメディアを礼拝に追加 - + Media name singular メディア - + Media name plural メディア - + Media container title メディア @@ -1403,63 +1002,38 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - メディア - - - + Select Media - + メディア選択 - - Replace Live Background - ライブの背景を置換 - - - - Replace Background - - - - + You must select a media file to delete. - + 削除するメディアファイルを選択してください。 - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + メディアファイルが見つかりません - + The file %s no longer exists. - + ファイル %s が見つかりません。 You must select a media file to replace the background with. - - - - - Live Background Error - - - - - Reset Background - + 背景を置換するメディアファイルを選択してください。 There was a problem replacing your background, the media file "%s" no longer exists. + 背景を置き換えする際に問題が発生しました。メディアファイル"%s"は既に存在しません。 + + + + Videos (%s);;Audio (%s);;%s (*) @@ -1467,35 +1041,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - メディア - - - Media Display - + メディア表示 - + Use Phonon for video playback - + 音響量子をビデオ再生に使用する OpenLP - + Image Files 画像ファイル OpenLP.AboutForm - - - About OpenLP - OpenLPについて - 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. - + OpenLPは、教会専用のフリー(無償及び利用に関して)のプレゼンテーション及び歌詞投射ソフトウェアです。 + +パソコンとプロジェクターを用いて、聖書箇所、画像また他プレゼンテーションデータ(OpenOffice.orgやPowerPoint/Viewerが必要)をスライド表示する事ができます。 + +http://openlp.org/にて詳しくご紹介しております。 + +OpenLPは、ボランティアの手により開発保守されています。もっと多くのクリスチャンの手によるフリーのソフトウェア開発に興味がある方は、以下のボタンからどうぞ。 - - About - 情報 - - - + Credits - 情報 + 著作情報 @@ -1533,7 +1098,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr ビルド %s - + Project Lead Raoul "superfly" Snyman @@ -1634,9 +1199,11 @@ Final Credit このソフトウェアも無償で配布します。 - + 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. - 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 ライブラリ一般公衆利用許諾契約書を適用してください。 - + OpenLP.AdvancedTab - - Advanced - 詳細設定 - - - + UI Settings ユーザインターフェイス設定 - + Number of recent files to display: 最近のファイルの表示数: - + Remember active media manager tab on startup 起動時に前回のメディアマネージャを開く - + Double-click to send items straight to live ダブルクリックで項目を直接ライブへ送る - + Expand new service items on creation 礼拝の項目の作成時に展開する - + Enable application exit confirmation 終了時に確認する - + Mouse Cursor + マウスカーソル + + + + Hide mouse cursor when over display window - - Hide the mouse cursor when moved over the display window + + Default Image + + + Background color: + 背景色: + + + + Image file: + + + + + Open File + ファイルを開く + + + + OpenLP.DisplayTagDialog + + + Edit Selection + 選択項目を編集 + + + + Update + 更新 + + + + Description + 説明 + + + + Tag + タグ + + + + Start tag + 開始HTML + + + + End tag + 終了HTML + + + + Default + 初期設定 + + + + Tag id + タグID + + + + Start Html + 開始HTML + + + + End Html + 終了HTML + OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - 削除 - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + 更新エラー - + Tag "n" already defined. - + タグ「n」は既に定義されています。 - + Tag %s already defined. - + タグ「%s」は既に定義されています。 OpenLP.ExceptionDialog - + Error Occurred - + エラーが発生しました - + 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. - + OpenLPは問題に直面し、復旧する事ができませんでした。以下に表示される情報は、開発者が問題を修正するのに役に立つかも知れません。bugs@openlp.orgに以下のエラーメッセージと問題が発生するまでの手順を送ってくださると光栄です。 - + Send E-Mail Eメールで送る - + Save to File ファイルに保存 + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + この問題が発生するまで何をしていたかをご入力ください。 +(20文字以内。お手数ですが、英語でお願い致します。) + + + + Attach File + ファイルを添付 + + + + Description characters to enter : %s + 説明 : %s + OpenLP.ExceptionForm - + Platform: %s - + プラットフォーム - + + Save Crash Report + クラッシュ報告の保存 + + + + Text files (*.txt *.log *.text) + テキストファイル (*.txt *.log *.text) + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s - + (英語での入力をお願い致します) +**OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s - - Save Crash Report - クラッシュ報告の保存 - - - - Text files (*.txt *.log *.text) - テキストファイル (*.txt *.log *.text) - - - + *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 Please add the information that bug reports are favoured written in English. - + (お手数ですが、英語での入力をお願い致します) +*OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s OpenLP.FileRenameForm - + File Rename - + ファイル名 - + New File Name: - + 新しいファイル名: - + File Copy - + ファイルをコピー OpenLP.GeneralTab - + General 一般 - + Monitors モニタ - + Select monitor for output display: - 画面出力に使用するスクリーン: + 画面出力に使用するスクリーン: - + Display if a single screen スクリーンが1つしかなくても表示する - + Application Startup - + アプリケーションの起動 - + Show blank screen warning - + 警告中には、ブランク画面を表示する - + Automatically open the last service - 自動的に前回の礼拝を開く + 自動的に前回の礼拝を開く - + Show the splash screen スプラッシュスクリーンを表示 - + Application Settings - + アプリケーションの設定 - + Prompt to save before starting a new service - + 新しい礼拝を開く前に保存を確認する - + Automatically preview next item in service - 自動的に次の項目をプレビューする + 自動的に次の項目をプレビューする - + Slide loop delay: - + スライド繰返の遅延: - + sec - + CCLI Details - + CCLI詳細 - - CCLI number: - - - - + SongSelect username: - + SongSelect ユーザー名: - + SongSelect password: - + SongSelect パスワード: - + Display Position 表示位置 - + X - + - + Y - + - + Height - + Width - + Override display position 表示位置を変更する - + Screen - + スクリーン - + primary - + プライマリ + + + + Check for updates to OpenLP + OpenLPのバージョン更新の確認 @@ -2294,419 +1754,386 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display - + OpenLP ディスプレイ OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File ファイル(&F) - + &Import インポート(&I) - + &Export エクスポート(&E) - + &View 表示(&V) - + M&ode モード(&O) - + &Tools ツール(&T) - + &Settings 設定(&S) - + &Language 言語(&L) - + &Help ヘルプ(&H) - + Media Manager メディアマネージャ - + Service Manager 礼拝マネージャ - + Theme Manager テーママネージャ - + &New 新規作成(&N) - - New Service - 新しい礼拝 - - - - Create a new service. - - - - + Ctrl+N - + - + &Open 開く(&O) - - Open Service - - - - + Open an existing service. - + 存在する礼拝を開きます。 - + Ctrl+O - + - + &Save 保存(&S) - - Save Service - 礼拝の保存 - - - + Save the current service to disk. - 現在の礼拝をディスクに保存します。 + 現在の礼拝をディスクに保存します。 - + Ctrl+S - + - + Save &As... 名前を付けて保存(&A)... - + Save Service As - + 名前をつけて礼拝を保存 - + Save the current service under a new name. - + 現在の礼拝を新しい名前で保存します。 - + Ctrl+Shift+S - + - + E&xit 終了(&X) - + Quit OpenLP - + Open LPを終了 - + Alt+F4 - + - + &Theme テーマ(&T) - + &Configure OpenLP... OpenLPの設定(&C)... - + &Media Manager メディアマネージャ(&M) - + Toggle Media Manager - + メディアマネジャーを切り替える - + Toggle the visibility of the media manager. - + メディアマネジャーの可視性を切り替える。 - + F8 - + - + &Theme Manager テーママネージャ(&T) - + Toggle Theme Manager - + テーママネジャーの切り替え - + Toggle the visibility of the theme manager. - + テーママネジャーの可視性を切り替える。 - + F10 - + - + &Service Manager - 礼拝マネージャ(&S) + 礼拝マネジャー(&S) - + Toggle Service Manager - + 礼拝マネジャーを切り替え - + Toggle the visibility of the service manager. - + 礼拝マネジャーの可視性を切り替える。 - + F9 - + 礼拝マネジャー - + &Preview Panel - プレビューパネル(&P) + プレビューパネル(&P) - + Toggle Preview Panel - + プレビューパネルの切り替え - + Toggle the visibility of the preview panel. - + プレビューパネルの可視性を切り替える。 - + F11 - + - + &Live Panel - ライブパネル(&L) + ライブパネル(&L) - + Toggle Live Panel - + ライブパネルの切り替え - + Toggle the visibility of the live panel. - + ライブパネルの可視性を切り替える。 - + F12 - + - + &Plugin List プラグイン一覧(&P) - + List the Plugins - + プラグイン一覧 - + Alt+F7 - + - + &User Guide - ユーザガイド(&U) + ユーザガイド(&U) - + &About バージョン情報(&A) - + More information about OpenLP - + OpenLPの詳細情報 - + Ctrl+F1 - + - + &Online Help オンラインヘルプ(&O) - + &Web Site ウェブサイト(&W) - + &Auto Detect 自動検出(&A) - + Use the system language, if available. - + システム言語を可能であれば使用します。 - + Set the interface language to %s - + インターフェイス言語を%sに設定 - + Add &Tool... ツールの追加(&T)... - + Add an application to the list of tools. - + ツールの一覧にアプリケーションを追加。 - + &Default - デフォルト(&D) + デフォルト(&D) - + Set the view mode back to the default. - + 表示モードを既定に戻す。 - + &Setup 設定(&S) - + Set the view mode to Setup. - + ビューモードに設定します。 - + &Live ライブ(&L) - + Set the view mode to Live. - 表示モードをライブにします。 + 表示モードをライブにします。 - + 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/. - + OpenLPのバージョン%sがダウンロード可能です。(現在ご利用のバージョンは%Sです。) + +http://openlp.org/から最新版がダウンロード可能です。 - + OpenLP Version Updated - + OpenLPのバージョンアップ完了 - + OpenLP Main Display Blanked - + OpenLPのプライマリディスプレイがブランクです - + The Main Display has been blanked out - + OpenLPのプライマリディスプレイがブランクになりました - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - + Default Theme: %s - + 既定テーマ @@ -2715,101 +2142,101 @@ You can download the latest version from http://openlp.org/. 日本語 - + Configure &Shortcuts... - ショートカットの設定(&S)... + ショートカットの設定(&S)... - + Close OpenLP OpenLPの終了 - + Are you sure you want to close OpenLP? 本当にOpenLPを終了してもよろしいですか? + + + Print the current Service Order. + 現在の礼拝順序を印刷します。 + + + + Ctrl+P + + + + + &Configure Display Tags + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + OpenLP.MediaManagerItem - + No Items Selected - + 項目の選択がありません - + &Add to selected Service Item - + 選択された礼拝項目を追加(&A - + You must select one or more items to preview. - + プレビューを見るには、一つ以上の項目を選択してください。 - + You must select one or more items to send live. - + ライブビューを見るには、一つ以上の項目を選択してください。 - + You must select one or more items. - + 一つ以上の項目を選択してください。 - - No items selected - - - - - You must select one or more items - - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + 追加するには、既存の礼拝項目を選択してください。 - + Invalid Service Item - + 無効な礼拝項目 - + You must select a %s service item. - %sの項目を選択してください。 + %sの項目を選択してください。 OpenLP.PluginForm - + Plugin List プラグイン一覧 - + Plugin Details プラグイン詳細 - - - Version: - バージョン: - - - - About: - 情報: - Status: @@ -2826,246 +2253,327 @@ You can download the latest version from http://openlp.org/. 無効 - + %s (Inactive) %s (無効) - + %s (Active) %s (有効) - + %s (Disabled) - %s (不能) + %s (無効) + + + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + 礼拝順序シート OpenLP.ServiceItemEditForm - + Reorder Service Item 礼拝項目を並べ替え - - - Delete - 削除 - OpenLP.ServiceManager - - New Service - 新しい礼拝 - - - - Create a new service - 新しい礼拝を作成 - - - - Open Service - 礼拝を開く - - - + Load an existing service - + 既存の礼拝を読み込む - - Save Service - 礼拝の保存 - - - + Save this service - 礼拝を保存 + 礼拝を保存 - - Theme: - テーマ: - - - + Select a theme for the service - 礼拝のテーマを選択 + 礼拝のテーマを選択 - + Move to &top - + 一番上に移動(&t) - + Move item to the top of the service. - 選択した項目を最も上に移動 + 選択した項目を最も上に移動する。 - + Move &up - + 一つ上に移動(&u) - + Move item up one position in the service. - 選択した項目を1つ上に移動 + 選択した項目を1つ上に移動する。 - + Move &down - + 一つ下に移動(&d) - + Move item down one position in the service. - 選択した項目を1つ下に移動 + 選択した項目を1つ下に移動する。 - + Move to &bottom - + 一番下に移動(&b) - + Move item to the end of the service. - 選択した項目を最も下に移動 + 選択した項目を最も下に移動する。 - + &Delete From Service - 削除(&D) + 削除(&D) - + Delete the selected item from the service. - 選択した項目を礼拝から削除 + 選択した項目を礼拝から削除する。 - + &Add New Item - + 新しい項目を追加(&A) - + &Add to Selected Item - + 選択された項目を追加(&A) - + &Edit Item 項目の編集(&E) - + &Reorder Item - 項目を並べ替え(&R) + 項目を並べ替え(&R) - + &Notes - ノート(&N) + メモ(&N) - - &Preview Verse - プレビュー(&P) - - - - &Live Verse - ライブ(&L) - - - + &Change Item Theme 項目のテーマを変更(&C) - + File is not a valid service. The content encoding is not UTF-8. 礼拝ファイルが有効でありません。 エンコードがUTF-8でありません。 - + File is not a valid service. 礼拝ファイルが有効でありません。 - + Missing Display Handler - + ディスプレイハンドラが見つかりません - + Your item cannot be displayed as there is no handler to display it - + ディスプレイハンドラが見つからないため項目を表示する事ができません - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + 必要なプラグインが見つからないか無効なため、項目を表示する事ができません - + &Expand all - + すべて展開(&E) - + Expand all the service items. - 全ての項目を展開する + 全ての項目を展開する。 - + &Collapse all - + すべて折り畳む(&C) - + Collapse all the service items. - 全ての項目を折り畳む + 全ての項目を折り畳みます。 - - Save Changes - 変更を保存 - - - - The current service has been modified, would you like to save it? - 現在の礼拝は変更されています。保存しますか? - - - + Open File ファイルを開く - + OpenLP Service Files (*.osz) OpenLP 礼拝ファイル (*.osz) + + + Moves the selection down the window. + 選択をウィンドウの下に移動する。 + + + + Move up + 上に移動 + + + + Moves the selection up the window. + 選択をウィンドウの上に移動する。 + + + + Go Live + ライブへGO + + + + Send the selected item to Live. + 選択された項目をライブ表示する。 + + + + Modified Service + 礼拝の編集 + + + + Notes: + メモ: + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes - 礼拝項目ノート + 礼拝項目メモ OpenLP.SettingsForm - + Configure OpenLP OpenLPの設定 @@ -3075,782 +2583,1164 @@ The content encoding is not UTF-8. Customize Shortcuts - + ショートカットのカスタマイズ Action - 動作 + 動作 Shortcut - ショートカット + ショートカット - + Default: %s - + 既定: %s - + Custom: - + カスタム: - + None - + 指定なし Duplicate Shortcut - + ショートカットの重複 The shortcut "%s" is already assigned to another action, please use a different shortcut. + このショートカット"%s"は既に他の動作に割り振られています。他のショートカットをご利用ください。 + + + + Alternate OpenLP.SlideController - - Live - ライブ - - - - Preview - プレビュー - - - + Move to previous 前へ移動 - + Move to next 次へ移動 - + Hide - + 隠す - + Move to live ライブへ移動 - + Edit and reload song preview 編集し再読み込み - + Start continuous loop - + 繰り返し再生を開始 - + Stop continuous loop - - - - - s - - - - - Delay between slides in seconds - - - - - Start playing media - - - - - Go To - - - - - Blank Screen - - - - - Blank to Theme - テーマの背景 + 繰り返し再生を停止 + Delay between slides in seconds + 次のスライドまでの遅延 + + + + Start playing media + メディア再生を開始 + + + + Go To + + + + + Blank Screen + スクリーンをブランク + + + + Blank to Theme + テーマをブランク + + + Show Desktop - デスクトップ + デスクトップを表示 + + + + Previous Slide + 前スライド + + + + Next Slide + 次スライド + + + + Previous Service + 前の礼拝 + + + + Next Service + 次の礼拝 + + + + Escape Item + 項目をエスケープ OpenLP.SpellTextEdit - + Spelling Suggestions + 綴りの推奨 + + + + Formatting Tags + タグフォーマット + + + + OpenLP.StartTimeForm + + + Item Start Time - - Formatting Tags + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: OpenLP.ThemeForm - - All Files - 全てのファイル - - - + Select Image - + 画像の選択 - + Theme Name Missing - + テーマ名が不明です - + There is no name for this theme. Please enter one. - + テーマ名がありません。入力してください。 - + Theme Name Invalid - + 無効なテーマ名 - + Invalid theme name. Please enter one. - + 無効なテーマ名です。入力してください。 - + (%d lines per slide) - + (一枚のスライドに付き%d行) OpenLP.ThemeManager - - New Theme - 新しいテーマ - - - + Create a new theme. - + 新しいテーマを作成する。 - + Edit Theme - + テーマ編集 - + Edit a theme. - + テーマの編集する。 - + Delete Theme - + テーマ削除 - + Delete a theme. - + テーマの削除する。 - + Import Theme - + テーマインポート - + Import a theme. - + テーマのインポートをする。 - + Export Theme - + テーマのエキスポート - + Export a theme. - + テーマのエキスポートをする。 - + &Edit Theme - + テーマの編集(&E) - + &Delete Theme - + テーマの削除(&D) - + Set As &Global Default - + 全体の既定として設定(&G)) - + %s (default) - + %s (既定) - + You must select a theme to edit. - + 編集するテーマを選択してください。 - + You are unable to delete the default theme. - + 既定のテーマを削除する事はできません。 - + Theme %s is used in the %s plugin. - + %s プラグインでこのテーマは利用されています。 - + You have not selected a theme. - + テーマの選択がありません。 - + Save Theme - (%s) - + テーマを保存 - (%s) - + Theme Exported - + テーマエキスポート - + Your theme has been successfully exported. - + テーマは正常にエキスポートされました。 - + Theme Export Failed - + テーマのエキスポート失敗 - + Your theme could not be exported due to an error. - + エラーが発生したためテーマは、エキスポートされませんでした。 - + Select Theme Import File - + インポート対象のテーマファイル選択 - + File is not a valid theme. The content encoding is not UTF-8. - + ファイルは無効なテーマです。文字コードがUTF-8ではありません。 - + File is not a valid theme. - + 無効なテーマファイルです。 - + &Copy Theme - + テーマのコピー(&C) - + &Rename Theme - + テーマの名前を変更(&N) - + &Export Theme - + テーマのエキスポート(&E) - + You must select a theme to rename. - + 名前を変更するテーマを選択してください。 - + Rename Confirmation - + 名前変更確認 - + Rename %s theme? - + %sテーマの名前を変更します。宜しいですか? - + You must select a theme to delete. - + 削除するテーマを選択してください。 - + Delete Confirmation - + 削除確認 - + Delete %s theme? - + %s テーマを削除します。宜しいですか? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + 検証エラー - + A theme with this name already exists. + 同名のテーマが既に存在します。 + + + + OpenLP Themes (*.theme *.otz) OpenLP.ThemeWizard - + Theme Wizard - + テーマガイド - + Welcome to the Theme Wizard - + テーマガイドをようこそ - + Set Up Background - + 背景設定 - + Set up your theme's background according to the parameters below. - + 以下の項目に応じて、テーマに使用する背景を設定してください。 - + Background type: 背景の種類: - + Solid Color 単色 - + Gradient グラデーション - - Image - 画像 - - - + Color: 色: - + Gradient: - グラデーション: + グラデーション: - + Horizontal - + Vertical - + Circular 放射状 - + Top Left - Bottom Right 左上 - 右下 - + Bottom Left - Top Right 左下 - 右上 - - Image: - 画像: - - - + Main Area Font Details - + 中央表示エリアのフォント詳細 - + Define the font and display characteristics for the Display text - + 中央エリアの表示のための文字設定とフォントを定義してください - + Font: フォント: - + Size: - 大きさ: + 文字サイズ: - - pt - - - - + Line Spacing: - + 文字間: - + &Outline: - + アウトライン(&O): - + &Shadow: - + 影(&S): - + Bold 太字 - + Italic 斜体 - + Footer Area Font Details - + フッターフォント詳細 - + Define the font and display characteristics for the Footer text - + フッター表示のための文字設定とフォントを定義してください - + Text Formatting Details - + テキストフォーマット詳細 - + Allows additional display formatting information to be defined - + 追加の表示フォーマット情報が定義される事を許可する - + Horizontal Align: 水平位置: - + Left 左揃え - + Right 右揃え - + Center 中央揃え - - Vertical Align: - 垂直位置: - - - - Top - 上揃え - - - - Middle - 中央揃え - - - - Bottom - 下揃え - - - + Output Area Locations - + 出力エリアの場所 - + Allows you to change and move the main and footer areas. - + 中央エリアとフッターエリアの場所が変更される事を許可する。 - + &Main Area - + 中央エリア(&M) - + &Use default location - + 既定の場所を使う(&U) - + X position: X位置: - + px - + - + Y position: Y位置: - + Width: 幅: - + Height: 高: - + Use default location - + 既定の場所を使う - + Save and Preview - + 保存とプレビュー - + View the theme and save it replacing the current one or change the name to create a new theme - + テーマを表示し、現在のテーマを置き換えるか名前を変更して新しいテーマを作成し、保存する - + Theme name: テーマ名: - - New Theme - 新しいテーマ - - - + 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. - + このガイドは、あなたのテーマを作成編集する手助けをします。次へをクリックして、背景を選択してください。 - + Transitions: - + 切り替え: - + &Footer Area - + フッター(&F) - + Edit Theme - %s - + テーマ編集 - %s OpenLP.ThemesTab - - - Themes - テーマ - - - - Global Theme - - - Theme Level - + Global Theme + 全体テーマ - S&ong Level - + Theme Level + テーマレベル - 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. - + S&ong Level + 歌レベル(&O) - - &Service Level - + + 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. + データベース内のそれぞれの歌のテーマを使用します。歌にテーマが設定されていない場合、礼拝のテーマを使用します。礼拝にテーマが設定されていなければ、全体設定のテーマを使用します。 - 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. - + &Service Level + 礼拝レベル(&S) - - &Global Level - + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + 礼拝のテーマを用い、歌個々のテーマを上書きします。礼拝にテーマが設定されていなければ、全体設定のテーマを使用します。 + &Global Level + 全体レベル(&G) + + + Use the global theme, overriding any themes associated with either the service or the songs. - + 全体テーマを用い、すべての礼拝や歌に関連付けられたテーマを上書きします。 OpenLP.Ui - + Error - エラー + エラー + + + + &Delete + 削除(&D) + + + + Delete the selected item. + 選択された項目を削除。 + + + + Move selection up one position. + 選択された項目を一つ上げる。 + + + + Move selection down one position. + 選択された項目を一つ下げる。 + + + + About + 情報 + + + + &Add + 追加(&A) + + + + Advanced + + + + + All Files + 全てのファイル + + + + Bottom + + + + + Browse... + 参照... + + + + Cancel + キャンセル + + + + CCLI number: + CCLI番号: + + + + Create a new service. + 新規礼拝を作成します。 + + + + &Edit + 編集(&E) + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + 画像 + + + + Import + インポート + + + + Length %s + + + + + Live + ライブ + + + + Live Background Error + ライブ背景エラー + + + + Live Panel + + + + + Load + 読み込み + + + + Middle + + + + + New + 新規 + + + + New Service + 新しい礼拝 + + + + New Theme + 新しいテーマ + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + 項目の選択がありません + + + + openlp.org 1.x + + + + + OpenLP 2.0 + + + + + Open Service + 礼拝を開く + + + + Preview + プレビュー + + + + Preview Panel + + + + + Print Service Order + 礼拝順序を印刷 + + + + Replace Background + + + + + Replace Live Background + ライブの背景を置換 + + + + Reset Background + 背景をリセット + + + + Reset Live Background + ライブの背景をリセット + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + + + + + Search + 検索 + + + + You must select an item to delete. + 削除する項目を選択してください。 + + + + You must select an item to edit. + 項目を編集してください。 + + + + Save Service + 礼拝の保存 + + + + Service + 礼拝 + + + + Start %s + + + + + Theme + Singular + テーマ + + + + Themes + Plural + テーマ + + + + Top + + + + + Version + + + + + &Vertical Align: + + + + + Finished import. + + + + + Format: + 書式: + + + + Importing + + + + + Importing "%s"... + "%s"をインポート中... + + + + Select Import Source + + + + + Select the import format and the location to import from. + + + + + 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. + The openlp.org 1.xの取込機能が、Pythonの拡張機能がないためオフになっています。取込機能をお使いになられる場合、python-sqlite拡張機能をインストール必要があります。 + + + + Open %s File + + + + + %p% + + + + + Ready. + 完了。 + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + 選択した聖書を礼拝に追加へようこそ + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + 歌インポートガイドへようこそ + + + + Author + Singular + + + + + Authors + Plural + アーティスト + + + + © + Copyright symbol. + + + + + Song Book + Singular + アルバム + + + + Song Books + Plural + アルバム + + + + Song Maintenance + 歌の保守 + + + + Topic + Singular + 題目 + + + + Topics + Plural + 題目 + + + + OpenLP.displayTagDialog + + + Configure Display Tags + PresentationPlugin - + <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. <strong>プレゼンテーションプラグイン</strong><br />プレゼンテーションプラグインは、外部のプログラムを使用してプレゼンテーションを表示する機能を提供します。使用可能なプログラムは、ドロップダウンボックスから選択できます。 - - Load - 読み込み - - - + Load a new Presentation 新しいプレゼンテーションを読み込み - - - Delete - 削除 - Delete the selected Presentation 選択したプレゼンテーションを削除 - - Preview - プレビュー - - - + Preview the selected Presentation 選択したプレゼンテーションをプレビュー - - Live - ライブ - - - + Send the selected Presentation live 選択したプレゼンテーションをライブへ送る - - Service - 礼拝 - - - + Add the selected Presentation to the service 選択したプレゼンテーションを礼拝に追加 - + Presentation name singular プレゼンテーション - + Presentations name plural プレゼンテーション - + Presentations container title プレゼンテーション @@ -3859,105 +3749,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + プレゼンテーション選択 - + Automatic - + 自動 - + Present using: - + 使用プレゼン: - + File Exists - + ファイルが存在します - + A presentation with that filename already exists. - + そのファイル名のプレゼンテーションは既に存在します。 - + Unsupported File - + サポートされていないファイル - + This type of presentation is not supported. - + このタイプのプレゼンテーションはサポートされておりません。 - - You must select an item to delete. - - - - + Presentations (%s) - プレゼンテーション (%s) + プレゼンテーション (%s) - + Missing Presentation - + 不明なプレゼンテーション - + The Presentation %s no longer exists. - + プレゼンテーション%sが見つかりません。 + + + + The Presentation %s is incomplete, please reload. + プレゼンテーション%sは不完全です。再度読み込んでください。 PresentationPlugin.PresentationTab - + Available Controllers 使用可能なコントローラ - - Advanced - 詳細設定 - - - + Allow presentation application to be overriden - + プレゼンテーションアプリケーションに上書きを許可 - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. <strong>遠隔操作プラグイン</strong><br />遠隔操作プラグインは、ウェブブラウザや遠隔操作APIを使用して、他のコンピュータ上のOpenLPを操作する機能を提供します。 - + Remote name singular 遠隔操作 - + Remotes name plural 遠隔操作 - + Remote container title 遠隔操作 @@ -3986,984 +3871,741 @@ The content encoding is not UTF-8. &Song Usage Tracking - + 歌の利用記録(&S) &Delete Tracking Data - + 利用記録を削除(&D) Delete song usage data up to a specified date. - + 削除する利用記録の対象となるまでの日付を指定してください。 &Extract Tracking Data - + 利用記録の抽出(&E) Generate a report on song usage. - + 利用記録のレポートを出力する。 Toggle Tracking - + 記録の切り替え Toggle the tracking of song usage. - + 歌の利用記録の切り替える。 <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. - + <strong>SongUsage Plugin</strong><br />このプラグインは、歌の利用頻度を記録します。 SongUsage name singular - + 利用記録 SongUsage name plural - + 利用記録 SongUsage container title - + 利用記録 SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data - + 利用記録削除 Delete Selected Song Usage Events? - + 選択された歌の利用記録を削除しますか? Are you sure you want to delete selected Song Usage data? - + 選択された歌の利用記録を削除します。よろしいですか? + + + + Deletion Successful + 正常に削除されました + + + + All requested data has been deleted successfully. + 正常に削除されました。 SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + 歌利用記録の抽出 - + Select Date Range - + 歌利用の期間 - + to - + から - + Report Location - - - - - Output File Location - + レポートの出力 + Output File Location + レポートの出力場所 + + + usage_detail_%s_%s.txt - + + + + + Report Creation + レポート生成 + + + + Report +%s +has been successfully created. + レポート + %s + - は正常に生成されました。 SongsPlugin - + &Song 歌(&S) - + Import songs using the import wizard. インポートウィザードを使用して歌をインポートします。 - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. <strong>歌プラグイン</strong><br />歌プラグインは、歌を表示し管理する機能を提供します。 - + &Re-index Songs 歌のインデックスを再作成(&R) - + Re-index the songs database to improve searching and ordering. 歌データベースのインデックスを再作成し、検索や並べ替えを速くします。 - + Reindexing songs... 歌のインデックスを再作成中... - - Cancel - キャンセル - - - - Add - 追加 - - - + Add a new Song 歌を追加 - - Edit - 編集 - - - + Edit the selected Song 選択した歌を編集 - - Delete - 削除 - - - + Delete the selected Song 選択した歌を削除 - - Preview - プレビュー - - - + Preview the selected Song 選択した歌をプレビュー - - Live - ライブ - - - + Send the selected Song live 選択した歌をライブへ送る - - Service - 礼拝 - - - + Add the selected Song to the service 選択した歌を礼拝に追加 - + Song name singular - + Songs name plural - + Songs container title - + Arabic (CP-1256) - + - + Baltic (CP-1257) - + - + Central European (CP-1250) - + - + Cyrillic (CP-1251) - + - + Greek (CP-1253) - + - + Hebrew (CP-1255) - + - + Japanese (CP-932) - + - + Korean (CP-949) - + - + Simplified Chinese (CP-936) - + - + Thai (CP-874) - + - + Traditional Chinese (CP-950) - + - + Turkish (CP-1254) - + - + Vietnam (CP-1258) - + - + Western European (CP-1252) - + - + Character Encoding - + 文字コード - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + 文字コード設定は、文字が正常に表示されるのに必要な設定です。通常、既定設定で問題ありません。 - + Please choose the character encoding. The encoding is responsible for the correct character representation. + 文字コードを選択してください。文字が正常に表示されるのに必要な設定です。 + + + + Exports songs using the export wizard. SongsPlugin.AuthorsForm - + Author Maintenance - + アーティストを保守 - + Display name: - + 表示名: - + First name: - + 名: - + Last name: - + 姓: You need to type in the first name of the author. - + 名を入力してください。 - + You need to type in the last name of the author. - + 姓を入力してください。 - + You have not set a display name for the author, combine the first and last names? - + 表示名が設定されていません。名と姓を合わせますか? SongsPlugin.CCLIFileImport - + Importing song %d of %d - 歌(%d/%d)をインポートしています... + 歌(%d/%d)をインポートしています SongsPlugin.EditSongForm - + Song Editor - + ソングエディタ - + &Title: - + タイトル(&T): - + Alt&ernate title: - + サブタイトル(&e): - + &Lyrics: - + 歌詞(&L): - + &Verse order: - + 節順(&V): - - &Add - 追加(&A) - - - - &Edit - 編集(&E) - - - + Ed&it All 全て編集(&E) - - &Delete - 削除(&D) - - - + Title && Lyrics - + タイトル && 歌詞 - - Authors - - - - + &Add to Song - + 歌に追加(&A) - + &Remove - + 削除(&R) - + &Manage Authors, Topics, Song Books - + アーティスト、題目、アルバムを管理(&M) - - Topic - - - - + A&dd to Song - + 歌に追加(&A) - + R&emove - + 削除(&e) - - Song Book - - - - + Book: - 書名: + 書名: - + Number: - + ナンバー: - + Authors, Topics && Song Book - + アーティスト、題目 && アルバム - - Theme - テーマ - - - + New &Theme 新しいテーマ(&N) - + Copyright Information - 著作権情報 + 著作権情報 - - © - - - - - CCLI number: - - - - + Comments コメント - + Theme, Copyright Info && Comments - + テーマ、著作情報 && コメント - - Save && Preview - - - - + Add Author - + アーティストを追加 - + This author does not exist, do you want to add them? - + アーティストが存在しません。追加しますか? - + This author is already in the list. - + 既にアーティストは一覧に存在します。 - - No Author Selected - - - - + 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. - + 有効なアーティストを選択してください。一覧から選択するか新しいアーティストを入力し、"歌にアーティストを追加"をクリックしてください。 - + Add Topic - + トピックを追加 - + This topic does not exist, do you want to add it? - + このトピックは存在しません。追加しますか? - + This topic is already in the list. - + このトピックは既に存在します。 - - No Topic Selected - - - - + 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. - + 有効なトピックを選択してください。一覧から選択するか新しいトピックを入力し、"歌にトピックを追加"をクリックしてください。 - + You need to type in a song title. - + 歌のタイトルを入力する必要があります。 - + You need to type in at least one verse. - + 最低一つのバースを入力する必要があります。 - + Warning - + 警告 - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + バース順序が無効です。%sに対応するバースはありません。%sは有効です。 - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + %sはバース順序で使われていません。本当にこの歌を保存しても宜しいですか? - + Add Book - + アルバムを追加 - + This song book does not exist, do you want to add it? - + アルバムが存在しません、追加しますか? - + You need to have an author for this song. - + アーティストを入力する必要があります。 - + You need to type some text in to the verse. - + バースにテキストを入力する必要があります。 SongsPlugin.EditVerseForm - + Edit Verse - + バース編集 - + &Verse type: - + バースのタイプ(&): - + &Insert 挿入(&I) + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Check the songs you want to export. + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - - - - Starting import... - - - - - Song Import Wizard - - - - - Welcome to the Song Import Wizard - - - - - 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. - - - - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - 書式: + ドキュメント/プレゼンテーションファイル選択 - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - + Song Import Wizard + 歌インポートガイド - OpenLyrics - + 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. + このガイドは、様々なフォーマットの歌をインポートする手助けをします。次へをクリックし、インポートするファイルのフォーマットを選択してください。 - - OpenSong - - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - + 汎用ドキュメント/プレゼンテーション - + Filename: ファイル名: - - Browse... - - - - - 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. - - - - + 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. - + OpenLyricsのインポートは未開発です。次のバージョンにご期待ください。 - + Add Files... - - - - - Remove File(s) - - - - - The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - Importing - - - - - Please wait while your songs are imported. - + ファイルの追加... - Ready. - 完了。 + Remove File(s) + ファイルの削除 - - %p% - + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + Songs of Fellowshipの取込み機能は、お使いのパソコンにOpenOffice.orgがインストールされていないためご利用になれません。 - - Importing "%s"... - + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + 汎用的なドキュメント/プレゼンテーション取込機能は、お使いのパソコンにOpenOffice.orgがインストールされていないためご利用になれません。 - - Importing %s... - %s をインポートしています... - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - + + Please wait while your songs are imported. + 歌がインポートされるまでしばらくお待ちください。 Administered by %s - + %s によって管理されています - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - 全てのファイル - - - + OpenLP 2.0 Databases OpenLP 2.0 データベース - + openlp.org v1.x Databases openlp.org v1.x データベース - + Words Of Worship Song Files + + + + + You need to specify at least one document or presentation file to import from. - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files - SongBeamer ファイル - - - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4971,311 +4613,216 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - - - - Maintain the lists of authors, topics and books - + アーティスト、トピックとアルバムの一覧を保守 - - Search: - 検索: - - - - Search - 検索 - - - + Titles - + タイトル - + Lyrics - + 歌詞 - - Authors - - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + これらの歌を削除しますか? - + CCLI License: - + CCLI ライセンス: - + Entire Song - + 歌全体 - + Are you sure you want to delete the %n selected song(s)? - - + + 選択された%n件の歌を削除します。宜しいですか? - - - Themes - テーマ - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - 歌(%d/%d)をインポートしています。 + 歌(%d/%d)をインポートしています。 - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - %s をインポートしています... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - %s をインポートしています... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance - + アルバムの保守 - + &Name: - + 名前(&N): - + &Publisher: - + 発行元(&P): You need to type in a name for the book. + アルバム名を入力してください。 + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. SongsPlugin.SongImport - + copyright - - - - - © - - - - - Author unknown - + 著作権 SongsPlugin.SongImportForm - - Finished import. - - - - + Your song import failed. - + 歌のインポートに失敗しました。 SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - - - - - Topics - - - - - Song Books - - - - - &Add - 追加(&A) - - - - &Edit - 編集(&E) - - - - &Delete - 削除(&D) - - - + Could not add your author. - + アーティストが追加できませんでした。 - + This author already exists. - + このアーティストは既に登録されています。 - + Could not add your topic. - + トピックの追加に失敗しました。 - + This topic already exists. - + トピックが既に存在します。 - + Could not add your book. - + アルバムが追加できませんでした。 - + This book already exists. - + 既にこのアルバムが存在します。 - + Could not save your changes. - + 変更が保存できませんでした。 - + Could not save your modified author, because the author already exists. - + 既にアーティストが登録されているため、変更を保存できませんでした。 - + Could not save your modified topic, because it already exists. - + 既に題目登録されているため、変更を保存できませんでした。 - + Delete Author - + アーティスト削除 - + Are you sure you want to delete the selected author? - + 選択されたアーティストを削除しますか? - + This author cannot be deleted, they are currently assigned to at least one song. - + 最低一つの歌に割り振られているため、このアーティストを削除できませんでした。 - - No author selected! - - - - + Delete Topic - + トピックの削除 - + Are you sure you want to delete the selected topic? - + 選択されたトピックを削除しますか? - + This topic cannot be deleted, it is currently assigned to at least one song. - + 最低一つの歌に割り振られているため、このトピックを削除できませんでした。 - - No topic selected! - - - - + Delete Book - + アルバム削除 - + Are you sure you want to delete the selected book? - + 選択されたアルバムを削除しますか? - + This book cannot be deleted, it is currently assigned to at least one song. - + 最低一つの歌に割り振られているため、このアルバムを削除できませんでした。 - - No book selected! - - - - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + アーティスト%sは既に存在します。既存のアーティスト%sを用い、アーティスト%sで歌を作りますか? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + 題目%sは既に存在します。既存の題目%sを用い、題目%sで歌を作りますか? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? - + アルバム%sは既に存在します。既存のアルバム%sを用い、アルバム%sで歌を作りますか? @@ -5283,91 +4830,83 @@ The encoding is responsible for the correct character representation. Songs Mode - + 歌モード Enable search as you type - + 入力と同時に検索する Display verses on live tool bar - + ライブツールバーにバースを表示 Update service from song edit - 編集後に礼拝を更新 + 編集後に礼拝を更新 Add missing songs when opening service - + 礼拝を開いたときに存在しない歌を追加 SongsPlugin.TopicsForm - + Topic Maintenance - + 題目保守 - + Topic name: - + 題目名: You need to type in a topic name. - + 題目名を入力してください。 SongsPlugin.VerseType - + Verse - + バース Chorus - + コーラス + + + + Bridge + ブリッジ + + + + Pre-Chorus + 間奏 - Bridge - - - - - Pre-Chorus - - - - Intro - + 序奏 - + Ending - + エンディング - + Other その他 - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? @@ -28,34 +28,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert 경고(&A) - + Show an alert message. 에러 메세지를 보여줍니다. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>경고 플러그인</strong><br />경고 플러그인은 디스플레이 화면에 경고를 출력하는 것을 통제합니다. - + Alert name singular - + Alerts name plural 경고 - + Alerts container title 경고 @@ -64,30 +64,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message 경고 메세지 - + Alert &text: 경고 문구(&T) - + &New 새로 만들기(&N) - + &Save 저장(&S) - - - &Delete - 삭제(&D) - Displ&ay @@ -99,17 +94,17 @@ Do want to continue anyway? 출력 && 닫기(&O) - + New Alert 새 경고 - + You haven't specified any text for your alert. Please type in some text before clicking New. 경고 문구를 입력하지 않았습니다. 새로 만들기를 하려면 문구를 입력해주세요. - + &Parameter: @@ -125,95 +120,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font 글꼴 - + Font name: 글꼴: - + Font color: 글꼴색: - + Background color: 배경색: - + Font size: 글꼴 크기: - - pt - - - - + Alert timeout: 경고 타임아웃: + + + BibleDB.Wizard - - s + + Importing testaments... %s - - Location: - 위치: - - - - Preview - 미리 보기 - - - - OpenLP 2.0 + + Importing testaments... done. - - Top - + + Importing books... %s + - - Middle - 가운데 + + Importing verses from %s... + Importing verses from <book name>... + - - Bottom - 아래 + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +205,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +218,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible 성경(&B) - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>성경 플러그인</strong><br />성경 플러그인은 서비스 중에 성경 구절을 출력할 수 있는 기능을 제공합니다. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - 미리 보기 - - - + Preview the selected Bible - - Live - - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular ?? - + Bibles name plural 성경 - + Bibles container title 성경 - - &Import - - - - - &Add - - - - - &Edit - - - - - &Delete - 삭제(&D) - - - + No Book Found - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +294,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error 성경 참조 오류 - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display 절 출력 - + Only show new chapter numbers 새로운 장번호만 보이기 - + Layout style: 배치 스타일: - + Display style: 출력 스타일: - + Bible theme: 성경 테마: - + Verse Per Slide 슬라이드당 절 수 - + Verse Per Line 줄당 절 수 - + Continuous 연속해서 보기 - + No Brackets 꺽쇠 안보이기 - + ( And ) ( 와 ) - + { And } { 와 } - + [ And ] [ 와 ] - + Note: Changes do not affect verses already in the service. 참고: 이미 서비스 중인 구절에 대해서는 변경사항이 적용되지 않습니다. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard 성경 가져오기 마법사 - - Welcome to the Bible Import Wizard - 성경 가져오기 마법사에 오신 것을 환영합니다. - - - + 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. 이 마법사는 각종 형식의 성경을 가져오도록 안내해드립니다. 다음 버튼을 눌러서 가져올 성경의 형식을 선택해 주세요. - - Select Import Source - 가져올 원본 선택 - - - - Select the import format, and where to import from. - 가져올 형식과 위치를 선택해주세요. - - - - Format: - 형식 - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - + Web Download 웹 다운로드 - - File location: - 파일 위치: - - - - Books location: - 책 위치: - - - - Verse location: - 절 위치: - - - - Bible filename: - 성경 파일 이름: - - - + Location: 위치: - + Crosswalk - + BibleGateway - + Bible: 성경: - + Download Options 다운로드 옵션 - + Server: 서버: - + Username: 사용자 이름: - + Password: 비밀번호: - + Proxy Server (Optional) 프록시 서버 (선택 사항) - + License Details 라이센스 정보 - + Set up the Bible's license details. 성경의 라이센스 정보를 설정하세요. - + Version name: 버전 이름: - + Copyright: 저작권: - - Importing - 가져오는 중 - - - + Please wait while your Bible is imported. 성경 가져오기가 진행되는 동안 기다려주세요. - - Ready. - 준비됨. - - - - Invalid Bible Location - 잘못된 성경 위치 - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - + You need to specify a file with books of the Bible to use in the import. - - Invalid Verse File - - - - + You need to specify a file of Bible verses to import. - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - + You need to specify a version name for your Bible. - - Empty Copyright - - - - + Bible Exists - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - - - - + Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - - - - + Permissions: - + CSV File - + openlp.org 1.x bible - - All Files - - - - + Bibleserver - - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick ?? - - Advanced - - - - - Version: - - - - - Search type: - - - - + Find: - - Search - - - - + Results: - + Book: - + Chapter: - + Verse: - + From: - + To: - - Verse Search - - - - + Text Search - + Clear - + Keep - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -889,12 +671,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -903,7 +685,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. @@ -924,210 +706,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides - - Move slide up one position. - - - - - Move slide down one position. - - - - + &Title: - + Add a new slide at bottom. - + Edit the selected slide. - + Edit all the slides at once. - - Delete the selected slide. - - - - + Split Slide - + Split a slide into two by inserting a slide splitter. - + The&me: - + &Credits: - - Save && Preview - - - - + You need to type in a title. - + You need to add at least one slide - - &Add - - - - - &Edit - - - - + Ed&it All - - - &Delete - 삭제(&D) - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - - - - + Edit the selected Custom - - Delete - - - - + Delete the selected Custom - - Preview - 미리 보기 - - - + Preview the selected Custom - - Live - - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular - + Customs name plural - + Custom container title @@ -1136,169 +830,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - - - - + Edit the selected Image - - Delete - - - - + Delete the selected Image - - Preview - 미리 보기 - - - + Preview the selected Image - - Live - - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) - - All Files - - - - - Replace Live Background - - - - - Replace Background - - - - - Reset Live Background - - - - + You must select an image to delete. - - Image(s) - - - - + You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1306,94 +938,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - - - - + Edit the selected Media - - Delete - - - - + Delete the selected Media - - Preview - 미리 보기 - - - + Preview the selected Media - - Live - - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular - + Media name plural - + Media container title @@ -1402,50 +999,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - - - - + Select Media - - Replace Live Background - - - - - Replace Background - - - - + You must select a media file to delete. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1453,12 +1025,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1466,16 +1038,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - - - - Media Display - + Use Phonon for video playback @@ -1483,18 +1050,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files OpenLP.AboutForm - - - About OpenLP - - 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 - - About - - - - + Credits @@ -1532,7 +1089,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + Project Lead Raoul "superfly" Snyman @@ -1585,9 +1142,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - - - - + UI Settings - + Number of recent files to display: - + Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + 배경색: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1849,40 +1416,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. - + Error Occurred - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1892,24 +1489,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1941,130 +1529,130 @@ Version: %s OpenLP.GeneralTab - + General - + Monitors - + Select monitor for output display: - + Display if a single screen - + Application Startup - + Show blank screen warning - + Automatically open the last service - + Show the splash screen - + Application Settings - + Prompt to save before starting a new service - + Automatically preview next item in service - + Slide loop delay: - + sec - + CCLI Details - - CCLI number: - - - - + SongSelect username: - + SongSelect password: - + Display Position - + X - + Y - + Height - + Width - + Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2082,7 +1670,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2090,409 +1678,374 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - - - - + &File - + &Import - + &Export - + &View - + M&ode - + &Tools - + &Settings - + &Language - + &Help - + Media Manager - + Service Manager - + Theme Manager - + &New 새로 만들기(&N) - - New Service - - - - - Create a new service. - - - - + Ctrl+N - + &Open - - Open Service - - - - + Open an existing service. - + Ctrl+O - + &Save 저장(&S) - - Save Service - - - - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - + 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/. - + OpenLP Version Updated - + OpenLP Main Display Blanked - + The Main Display has been blanked out - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - + Default Theme: %s @@ -2503,75 +2056,85 @@ You can download the latest version from http://openlp.org/. - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected - + &Add to selected Service Item - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - - No items selected - - - - - You must select one or more items - - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. @@ -2579,23 +2142,13 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List - - - Plugin Details - - - Version: - - - - - About: + Plugin Details @@ -2614,237 +2167,318 @@ You can download the latest version from http://openlp.org/. - + %s (Inactive) - + %s (Active) - + %s (Disabled) + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + OpenLP.ServiceItemEditForm - + Reorder Service Item - - - Delete - - OpenLP.ServiceManager - - New Service - - - - - Create a new service - - - - - Open Service - - - - + Load an existing service - - Save Service - - - - + Save this service - - Theme: - - - - + Select a theme for the service - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes - - &Preview Verse - - - - - &Live Verse - - - - + &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes @@ -2852,7 +2486,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP @@ -2875,17 +2509,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2899,137 +2533,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - - - - - Preview - 미리 보기 - - - + Move to previous - + Move to next - + Hide - + Move to live - + Start continuous loop - + Stop continuous loop - - s - - - - + Delay between slides in seconds - + Start playing media - + Go To - + Edit and reload song preview - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions - + Formatting Tags + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + OpenLP.ThemeForm - - All Files - - - - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3037,476 +2714,431 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - - - - + Create a new theme. - + Edit Theme - + Edit a theme. - + Delete Theme - + Delete a theme. - + Import Theme - + Import a theme. - + Export Theme - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + %s (default) - + You must select a theme to edit. - + You are unable to delete the default theme. - + You have not selected a theme. - + Save Theme - (%s) - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + Theme %s is used in the %s plugin. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - - Image - - - - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - - pt - - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - - Vertical Align: - - - - - Top - - - - - Middle - 가운데 - - - - Bottom - 아래 - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3514,47 +3146,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - - - - + Global Theme - + Theme Level - + S&ong Level - + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - + &Service Level - + 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. - + &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. @@ -3562,82 +3189,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error 에러 + + + &Delete + 삭제(&D) + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + + + + + Advanced + + + + + All Files + + + + + Create a new service. + + + + + &Edit + + + + + Import + + + + + Length %s + + + + + Live + + + + + Load + + + + + New + + + + + New Service + + + + + OpenLP 2.0 + + + + + Open Service + + + + + Preview + 미리 보기 + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + Save Service + + + + + Service + + + + + Start %s + + + + + &Vertical Align: + + + + + Top + + + + + Middle + 가운데 + + + + Bottom + 아래 + + + + About + + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + + + + + Search + + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + + + + + Themes + Plural + + + + + Version + + + + + Finished import. + + + + + Format: + 형식 + + + + Importing + 가져오는 중 + + + + Importing "%s"... + + + + + Select Import Source + 가져올 원본 선택 + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + + + + + Ready. + + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + 성경 가져오기 마법사에 오신 것을 환영합니다. + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + + + + + Topics + Plural + + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - Delete - - Delete the selected Presentation - - Preview - 미리 보기 - - - + Preview the selected Presentation - - Live - - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular - + Presentations name plural - + Presentations container title @@ -3646,105 +3662,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported. - - You must select an item to delete. - - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers - - Advanced - - - - + Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural - + Remote container title @@ -3832,7 +3843,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3846,263 +3857,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Select Date Range - + to - + Report Location - + Output File Location - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song - + Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - - - - + Edit the selected Song - - Delete - - - - + Delete the selected Song - - Preview - 미리 보기 - - - + Preview the selected Song - - Live - - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Song name singular - + Songs name plural - + Songs container title - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance - + Display name: - + First name: - + Last name: @@ -4112,12 +4115,12 @@ The encoding is responsible for the correct character representation. - + You need to type in the last name of the author. - + You have not set a display name for the author, combine the first and last names? @@ -4125,7 +4128,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4133,242 +4136,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor - + &Title: - + Alt&ernate title: - + &Lyrics: - + &Verse order: - - &Add - - - - - &Edit - - - - + Ed&it All - - &Delete - 삭제(&D) - - - + Title && Lyrics - - Authors - - - - + &Add to Song - + &Remove - + &Manage Authors, Topics, Song Books - - Topic - - - - + A&dd to Song - + R&emove - - Song Book - - - - + Book: - + Number: - + Authors, Topics && Song Book - - Theme - - - - + New &Theme - + Copyright Information - - © - - - - - CCLI number: - - - - + Comments - + Theme, Copyright Info && Comments - - Save && Preview - - - - + Add Author - + This author does not exist, do you want to add them? - + This author is already in the list. - - No Author Selected - - - - + 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. - + Add Topic - + This topic does not exist, do you want to add it? - + This topic is already in the list. - - No Topic Selected - - - - + 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. - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book - + This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4376,290 +4319,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse - + &Verse type: - + &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - Starting import... - - - - + Song Import Wizard - - Welcome to the Song Import Wizard - - - - + 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. - - Select Import Source - 가져올 원본 선택 - - - - Select the import format, and where to import from. - 가져올 형식과 위치를 선택해주세요. - - - - Format: - 형식 - - - - OpenLP 2.0 - - - - - openlp.org 1.x - - - - - OpenLyrics - - - - - OpenSong - - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - + Filename: - - Browse... - - - - - 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. - - - - + Add Files... - + Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - 가져오는 중 - - - + Please wait while your songs are imported. - - Ready. - - - - - %p% - - - - - Importing "%s"... - - - - - Importing %s... - - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - - - - + 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. @@ -4669,88 +4480,43 @@ The encoding is responsible for the correct character representation. - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4758,115 +4524,72 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - - - - Maintain the lists of authors, topics and books - - Search: - - - - - Search - - - - + Titles - + Lyrics - - Authors - - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -4876,33 +4599,31 @@ The encoding is responsible for the correct character representation. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright - - - © - - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - - - - + Your song import failed. @@ -4910,157 +4631,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - - - - - Topics - - - - - Song Books - - - - - &Add - - - - - &Edit - - - - - &Delete - 삭제(&D) - - - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - - - - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - - - - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - - - - + Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5096,12 +4767,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance - + Topic name: @@ -5114,7 +4785,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse @@ -5124,37 +4795,29 @@ The encoding is responsible for the correct character representation. - + Bridge - + Pre-Chorus - + Intro - + Ending - + Other - - SongsPlugin.XML - - - Author unknown - - - 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 @@ AlertPlugin.AlertForm - + No Parameter found - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? @@ -28,34 +28,34 @@ Do want to continue anyway? AlertsPlugin - + &Alert &Varsel - + Show an alert message. Vis en varselmelding. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Varsel Tilleg</strong><br />Varsels tillegg kontrolleren viser barn-varsel på visnings skjermen - + Alert name singular - + Alerts name plural Varsel - + Alerts container title Varsel @@ -64,30 +64,25 @@ Do want to continue anyway? AlertsPlugin.AlertForm - + Alert Message Varsel-melding - + Alert &text: Varsel &tekst: - + &New &Ny - + &Save &Lagre - - - &Delete - &Slett - Displ&ay @@ -99,17 +94,17 @@ Do want to continue anyway? Vis && Lukk - + New Alert Nytt Varsel - + You haven't specified any text for your alert. Please type in some text before clicking New. Du har ikke spesifisert noen tekst for varselet. Vennligst skriv inn en tekst før du trykker Ny. - + &Parameter: @@ -125,95 +120,84 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Skrifttype - + Font name: Skrift navn: - + Font color: Skrift farge - + Background color: Bakgrunns farge: - + Font size: Skrift størrelse - - pt - pt - - - + Alert timeout: Varsel varighet: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + - - Location: - Plassering: + + Importing testaments... done. + - - Preview - Forhåndsvisning + + Importing books... %s + - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + - - Top - Topp - - - - Middle - Midtstilt - - - - Bottom - Bunn + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error - + Parse Error - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -221,12 +205,12 @@ Do want to continue anyway? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded @@ -234,110 +218,75 @@ Do want to continue anyway? BiblesPlugin - + &Bible &Bibel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. - + Import a Bible - + Add a new Bible - + Edit the selected Bible - + Delete the selected Bible - - Preview - Forhåndsvisning - - - + Preview the selected Bible - - Live - - - - + Send the selected Bible live - - Service - - - - + Add the selected Bible to the service - + Bible name singular Bibel - + Bibles name plural Bibler - + Bibles container title Bibler - - &Import - - - - - &Add - - - - - &Edit - - - - - &Delete - &Slett - - - + No Book Found Ingen bøker funnet - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. @@ -345,39 +294,39 @@ Do want to continue anyway? BiblesPlugin.BibleManager - + Scripture Reference Error - + Web Bible cannot be used - + Text Search is not available with Web Bibles. - + 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. - + No Bibles available - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Vers visning - + Only show new chapter numbers Bare vis nye kapittel nummer - + Layout style: - + Display style: Visningstil: - + Bible theme: Bibel tema: - + Verse Per Slide Vers pr side - + Verse Per Line Vers pr linje - + Continuous Kontinuerlig - + No Brackets - + ( And ) ( og ) - + { And } { og } - + [ And ] [ og ] - + Note: Changes do not affect verses already in the service. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Bibelimporteringsverktøy - - Welcome to the Bible Import Wizard - Velkommen til bibelimporterings-veilederen - - - + 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. 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. - - Select Import Source - Velg importeringskilde - - - - Select the import format, and where to import from. - Velg importeringsformat og hvor du vil importere dem - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Web nedlastning - - File location: - Fil plassering: - - - - Books location: - Bok plassering: - - - - Verse location: - Vers plassering: - - - - Bible filename: - Bibel filnavn: - - - + Location: Plassering: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Bibel: - + Download Options Nedlastingsalternativer - + Server: Server: - + Username: Brukernavn: - + Password: Passord: - + Proxy Server (Optional) Proxy Server (valgfritt) - + License Details Lisensdetaljer - + Set up the Bible's license details. Skriv inn Bibelens lisensdetaljer. - + Version name: Versons navn: - + Copyright: Opphavsrett: - - Importing - Importerer - - - + Please wait while your Bible is imported. Vennligst vent mens bibelen blir importert - - Ready. - Klar. - - - - Invalid Bible Location - Ugyldig Bibelplassering - - - - You need to specify a file to import your Bible from. - Du om spesifisere en fil for å importere bibelen. - - - - Invalid Books File - Ugyldig Book fil - - - + You need to specify a file with books of the Bible to use in the import. Du må angi en fil som inneholder bøkene i Bibelen du vil importere. - - Invalid Verse File - Ugyldig vers fil - - - + You need to specify a file of Bible verses to import. Du må angi en fil med bibelvers som skal importeres. - - Invalid OpenSong Bible - Ugyldig OpenSong Bibel - - - - You need to specify an OpenSong Bible file to import. - Du må spesifisere en OpenSong Bibel fil å importere - - - - Empty Version Name - Tomt versjonnavn - - - + You need to specify a version name for your Bible. Du må spesifisere et versjonsnummer for Bibelen din. - - Empty Copyright - Tom opphavsrett - - - + Bible Exists Bibelen eksisterer - - Open OSIS File - Åpne OSIS fil - - - - Open Books CSV File - Åpne Bøker CSV fil - - - - Open Verses CSV File - Åpne Vers CSV fil - - - - Open OpenSong Bible - Åpne OpenSong Bibel - - - - Starting import... - Starter å importere... - - - - Finished import. - Import fullført. - - - + Your Bible import failed. Bibelimporteringen mislyktes. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - - - - + Permissions: - + CSV File - + openlp.org 1.x bible - - All Files - Alle filer - - - + Bibleserver - - 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. + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick Rask - - Advanced - Avansert - - - - Version: - Versjon: - - - - Search type: - Søk type: - - - + Find: Finn: - - Search - Søk - - - + Results: Resultat: - + Book: Bok: - + Chapter: Kapittel: - + Verse: Vers: - + From: Fra: - + To: Til: - - Verse Search - Søk i vers - - - + Text Search Tekstsøk - + Clear Blank - + Keep Behold - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... @@ -888,12 +670,12 @@ demand and thus an internet connection is required. BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Importing %s %s... Importing <book name> <chapter>... @@ -902,7 +684,7 @@ demand and thus an internet connection is required. CustomPlugin - + <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. @@ -923,210 +705,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Rediger egendefinerte lysbilder - - Move slide up one position. - - - - - Move slide down one position. - - - - + &Title: &Tittel: - + Add a new slide at bottom. - + Edit the selected slide. Rediger merket side - + Edit all the slides at once. Rediger alle sider på en gang. - - Delete the selected slide. - - - - + Split Slide - + Split a slide into two by inserting a slide splitter. - + The&me: - + &Credits: - - Save && Preview - - - - + You need to type in a title. Du må skrive inn en tittel. - + You need to add at least one slide - - &Add - - - - - &Edit - - - - + Ed&it All - - - &Delete - &Slett - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - Rediger - - - + Edit the selected Custom - - Delete - - - - + Delete the selected Custom - - Preview - Forhåndsvisning - - - + Preview the selected Custom - - Live - - - - + Send the selected Custom live - - Service - - - - + Add the selected Custom to the service - + Custom name singular - + Customs name plural - + Custom container title @@ -1135,169 +829,107 @@ demand and thus an internet connection is required. ImagePlugin - + <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. - - Load - - - - + Load a new Image - - Add - - - - + Add a new Image - - Edit - Rediger - - - + Edit the selected Image - - Delete - - - - + Delete the selected Image - - Preview - Forhåndsvisning - - - + Preview the selected Image - - Live - - - - + Send the selected Image live - - Service - - - - + Add the selected Image to the service - + Image name singular - + Images name plural - + Images container title + + ImagePlugin.ExceptionDialog + + + Select Attachment + + + ImagePlugin.MediaItem - + Select Image(s) Velg bilde(r) - - All Files - Alle filer - - - - Replace Live Background - - - - - Replace Background - - - - - Reset Live Background - - - - + You must select an image to delete. - - Image(s) - Bilde(r) - - - + You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + The following image(s) no longer exist: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1305,94 +937,59 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - Rediger - - - + Edit the selected Media - - Delete - - - - + Delete the selected Media - - Preview - Forhåndsvisning - - - + Preview the selected Media - - Live - - - - + Send the selected Media live - - Service - - - - + Add the selected Media to the service - + Media name singular - + Media name plural - + Media container title @@ -1401,50 +998,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaItem - - Media - - - - + Select Media Velg media - - Replace Live Background - - - - - Replace Background - - - - + You must select a media file to delete. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1452,12 +1024,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1465,16 +1037,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - - - - Media Display - + Use Phonon for video playback @@ -1482,18 +1049,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files OpenLP.AboutForm - - - About OpenLP - - 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 - - About - Om - - - + Credits @@ -1531,7 +1088,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + Project Lead Raoul "superfly" Snyman @@ -1584,9 +1141,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Avansert - - - + UI Settings - + Number of recent files to display: - + Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Bakgrunns farge: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1848,40 +1415,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. - + Error Occurred - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1488,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1940,130 +1528,130 @@ Version: %s OpenLP.GeneralTab - + General - + Monitors - + Select monitor for output display: Velg hvilken skjerm som skal brukes til fremvisning: - + Display if a single screen - + Application Startup Programoppstart - + Show blank screen warning - + Automatically open the last service Åpne forrige møteplan automatisk - + Show the splash screen - + Application Settings Programinnstillinger - + Prompt to save before starting a new service - + Automatically preview next item in service - + Slide loop delay: - + sec - + CCLI Details CCLI-detaljer - - CCLI number: - - - - + SongSelect username: - + SongSelect password: - + Display Position - + X - + Y - + Height - + Width - + Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2081,7 +1669,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2089,409 +1677,374 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Fil - + &Import &Import - + &Export &Eksporter - + &View &Vis - + M&ode - + &Tools - + &Settings &Innstillinger - + &Language &Språk - + &Help &Hjelp - + Media Manager Innholdselementer - + Service Manager - + Theme Manager - + &New &Ny - - New Service - - - - - Create a new service. - - - - + Ctrl+N Ctrl+N - + &Open &Åpne - - Open Service - Åpne møteplan - - - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Lagre - - Save Service - - - - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Avslutt - + Quit OpenLP Avslutt OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager - + Toggle Theme Manager Åpne tema-behandler - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager - + Toggle Service Manager Vis møteplanlegger - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Forhåndsvisningspanel - + Toggle Preview Panel Vis forhåndsvisningspanel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Tillegsliste - + List the Plugins Hent liste over tillegg - + Alt+F7 ALT+F7 - + &User Guide &Brukerveiledning - + &About &Om - + More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help - + &Web Site &Internett side - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... Legg til & Verktøy... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Direkte - + Set the view mode to Live. - + 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/. - + OpenLP Version Updated OpenLP versjonen har blitt oppdatert - + OpenLP Main Display Blanked - + The Main Display has been blanked out - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - + Default Theme: %s @@ -2502,75 +2055,85 @@ You can download the latest version from http://openlp.org/. Norsk - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected - + &Add to selected Service Item - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - - No items selected - - - - - You must select one or more items - - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. @@ -2578,25 +2141,15 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List - + Plugin Details - - - Version: - Versjon: - - - - About: - Om: - Status: @@ -2613,237 +2166,318 @@ You can download the latest version from http://openlp.org/. - + %s (Inactive) - + %s (Active) - + %s (Disabled) + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + OpenLP.ServiceItemEditForm - + Reorder Service Item - - - Delete - - OpenLP.ServiceManager - - New Service - - - - - Create a new service - Opprett ny møteplan - - - - Open Service - Åpne møteplan - - - + Load an existing service - - Save Service - - - - + Save this service Lagre møteplan - - Theme: - Tema: - - - + Select a theme for the service - + Move to &top Flytt til &toppen - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes &Notis - - &Preview Verse - &Forhåndsvis vers - - - - &Live Verse - &Direktevers - - - + &Change Item Theme &Bytt objekttema - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes @@ -2851,7 +2485,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP @@ -2874,17 +2508,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2898,137 +2532,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - Direkte - - - - Preview - Forhåndsvisning - - - + Move to previous Flytt til forrige - + Move to next - + Hide - + Move to live - + Start continuous loop Start kontinuerlig løkke - + Stop continuous loop - - s - s - - - + Delay between slides in seconds Forsinkelse mellom lysbilder i sekund - + Start playing media Start avspilling av media - + Go To - + Edit and reload song preview - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions - + Formatting Tags + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + OpenLP.ThemeForm - - All Files - Alle filer - - - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3036,476 +2713,431 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - - - - + Create a new theme. - + Edit Theme Endre tema - + Edit a theme. - + Delete Theme Slett tema - + Delete a theme. - + Import Theme Importer tema - + Import a theme. - + Export Theme Eksporter tema - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + %s (default) - + You must select a theme to edit. - + You are unable to delete the default theme. Du kan ikke slette det globale temaet - + You have not selected a theme. - + Save Theme - (%s) - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. Filen er ikke et gyldig tema. - + Theme %s is used in the %s plugin. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Ensfarget - + Gradient - - Image - - - - + Color: - + Gradient: - + Horizontal - + Vertical Vertikal - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: Størrelse: - - pt - pt - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Fet - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center Sentrert - - Vertical Align: - - - - - Top - Topp - - - - Middle - Midtstilt - - - - Bottom - Bunn - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: Bredde: - + Height: Høyde: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3513,47 +3145,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - Tema - - - + Global Theme - + Theme Level - + S&ong Level - + 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. 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. - + &Service Level - + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - + &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. Bruk det globale temaet, og la det overstyre eventuelle tema som er tilknyttet møteplaner eller sanger. @@ -3561,82 +3188,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error Feil + + + &Delete + &Slett + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + + + + + Advanced + Avansert + + + + All Files + Alle filer + + + + Create a new service. + + + + + &Edit + &Rediger + + + + Import + + + + + Length %s + + + + + Live + + + + + Load + + + + + New + + + + + New Service + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Åpne møteplan + + + + Preview + Forhåndsvisning + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + Save Service + + + + + Service + + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Topp + + + + Middle + Midtstilt + + + + Bottom + Bunn + + + + About + Om + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + + + + + Search + Søk + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + Tema + + + + Themes + Plural + + + + + Version + + + + + Finished import. + Import fullført. + + + + Format: + + + + + Importing + Importerer + + + + Importing "%s"... + + + + + Select Import Source + Velg importeringskilde + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + + + + + Ready. + Klar. + + + + Starting import... + Starter å importere... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Velkommen til bibelimporterings-veilederen + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + Emne + + + + Topics + Plural + Emne + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - Delete - - Delete the selected Presentation - - Preview - Forhåndsvisning - - - + Preview the selected Presentation - - Live - - - - + Send the selected Presentation live - - Service - - - - + Add the selected Presentation to the service - + Presentation name singular Presentasjon - + Presentations name plural - + Presentations container title @@ -3645,105 +3661,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Velg presentasjon(er) - + Automatic Automatisk - + Present using: Presenter ved hjelp av: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported. - - You must select an item to delete. - - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers - - Advanced - Avansert - - - + Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural Fjernmeldinger - + Remote container title @@ -3831,7 +3842,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3845,263 +3856,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Select Date Range Velg dato-område - + to til - + Report Location - + Output File Location - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Sang - + Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - Rediger - - - + Edit the selected Song - - Delete - - - - + Delete the selected Song - - Preview - Forhåndsvisning - - - + Preview the selected Song - - Live - - - - + Send the selected Song live - - Service - - - - + Add the selected Song to the service - + Song name singular Sang - + Songs name plural Sanger - + Songs container title Sanger - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Behandle forfatterdata - + Display name: - + First name: Fornavn: - + Last name: Etternavn: @@ -4111,12 +4114,12 @@ The encoding is responsible for the correct character representation. Du må skrive inn forfatterens fornavn. - + You need to type in the last name of the author. - + You have not set a display name for the author, combine the first and last names? @@ -4124,7 +4127,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4132,242 +4135,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Sangredigeringsverktøy - + &Title: &Tittel: - + Alt&ernate title: - + &Lyrics: - + &Verse order: - - &Add - - - - - &Edit - &Rediger - - - + Ed&it All - - &Delete - &Slett - - - + Title && Lyrics Tittel && Sangtekst - - Authors - - - - + &Add to Song - + &Remove &Fjern - + &Manage Authors, Topics, Song Books - - Topic - Emne - - - + A&dd to Song - + R&emove &Fjern - - Song Book - - - - + Book: Bok: - + Number: - + Authors, Topics && Song Book - - Theme - Tema - - - + New &Theme - + Copyright Information Copyright-informasjon - - © - - - - - CCLI number: - - - - + Comments - + Theme, Copyright Info && Comments - - Save && Preview - - - - + Add Author - + This author does not exist, do you want to add them? - + This author is already in the list. - - No Author Selected - - - - + 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. - + Add Topic - + This topic does not exist, do you want to add it? - + This topic is already in the list. - - No Topic Selected - - - - + 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. - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book - + This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4375,290 +4318,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Rediger Vers - + &Verse type: - + &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - Starting import... - Starter å importere... - - - + Song Import Wizard - - Welcome to the Song Import Wizard - - - - + 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. - - Select Import Source - Velg importeringskilde - - - - Select the import format, and where to import from. - Velg importeringsformat og hvor du vil importere dem - - - - Format: - Format: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - - - - - OpenLyrics - - - - - OpenSong - OpenSong - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - + Filename: - - Browse... - - - - - 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. - - - - + Add Files... - + Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - Importerer - - - + Please wait while your songs are imported. - - Ready. - Klar. - - - - %p% - - - - - Importing "%s"... - - - - - Importing %s... - - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - - - - + 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. @@ -4668,88 +4479,43 @@ The encoding is responsible for the correct character representation. - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - Alle filer - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4757,116 +4523,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - - - - Maintain the lists of authors, topics and books Rediger liste over forfattere, emner og bøker. - - Search: - Søk: - - - - Search - Søk - - - + Titles Titler - + Lyrics - - Authors - - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -4876,33 +4599,31 @@ The encoding is responsible for the correct character representation. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright - - - © - - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Import fullført. - - - + Your song import failed. @@ -4910,157 +4631,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - - - - - Topics - Emne - - - - Song Books - - - - - &Add - - - - - &Edit - &Rediger - - - - &Delete - &Slett - - - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? Er du sikker på at du vil slette den valgte forfatteren? - + This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - Ingen forfatter er valgt! - - - + Delete Topic Slett emne - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - - - - + Delete Book Slett bok - + Are you sure you want to delete the selected book? Er du sikker på at du vil slette den merkede boken? - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - Ingen bok er valgt! - - - + Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5096,12 +4767,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance - + Topic name: Emnenavn: @@ -5114,7 +4785,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Vers @@ -5124,37 +4795,29 @@ The encoding is responsible for the correct character representation. - + Bridge - + Pre-Chorus Pre-Chorus - + Intro - + Ending - + Other Annet - - SongsPlugin.XML - - - Author unknown - - - 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 @@ - + AlertPlugin.AlertForm - + No Parameter found - + Geen parameter gevonden - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + U heeft geen parameter opgegeven die vervangen moeten worden +Toch doorgaan? - + No Placeholder found - + Geen plaatsmarkering gevonden - + The alert text does not contain '<>'. Do want to continue anyway? - + De waarschuwingstekst bevat geen '<>'. +Toch doorgaan? AlertsPlugin - + &Alert - + W&aarschuwing - + Show an alert message. - + Toon waarschuwingsberichten. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen - + <strong>Waarschuwing Plugin</strong><br />Deze plugin regelt de weergave van waarschuwingen op het scherm. - + Alert name singular - + Waarschuwing - + Alerts name plural - + Waarschuwingen - + Alerts container title - + Waarschuwingen AlertsPlugin.AlertForm - - - Alert Message - - - Alert &text: - + Alert Message + Waarschuwing - &Parameter: - - - - - &New - + Alert &text: + Waarschuwings&text: - &Save - + &New + &Nieuw - &Delete - + &Save + Op&slaan Displ&ay - + Wee&rgeven Display && Cl&ose - + &Weergeven en sluiten - + New Alert - + Nieuwe waarschuwing - + You haven't specified any text for your alert. Please type in some text before clicking New. - + De waarschuwing bevat geen tekst. Voer eerst tekst in voordat u op nieuw klikt. + + + + &Parameter: + &Parameter: @@ -119,249 +116,220 @@ Do want to continue anyway? Alert message created and displayed. - + Waarschuwing gemaakt en weergegeven. AlertsPlugin.AlertsTab - + Font - + Font - - Font name: - - - - - Font color: - - - - - Background color: - - - - - Font size: - - - - - pt - - - - + Alert timeout: + Tijdsduur: + + + + Font name: + Naam lettertype: + + + + Font color: + Letterkleur: + + + + Background color: + Achtergrondkleur: + + + + Font size: + Corpsgrootte: + + + + BibleDB.Wizard + + + Importing testaments... %s - - s + + Importing testaments... done. - - Location: + + Importing books... %s - - Preview + + Importing verses from %s... + Importing verses from <book name>... - - OpenLP 2.0 - - - - - Top - - - - - Middle - - - - - Bottom + + Importing verses... done. BiblePlugin.HTTPBible - + Download Error - + Download fout - - 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. - - - - + Parse Error - + Parse fout - + + 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. + 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. + + + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. - + Er ging iets mis bij het uitpakken van de bijbelverzen. Als dit probleem zich blijft herhalen is er misschien sprake van een bug. BiblePlugin.MediaItem - - Bible not fully loaded - + + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? + Enkele en meerdere bijbelverzen kun je niet combineren. Wilt u deze zoekopdracht wissen en opnieuw beginnen? - - You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + + Bible not fully loaded + Bijbel niet helemaal geladen BiblesPlugin - + &Bible - + &Bijbel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. - + <strong>Bijbel plugin</strong><br />De Bijbel plugin maakt het mogelijk bijbelteksten uit verschillende vertalingen tijdens de dienst te gebruiken. - - Bible - name singular - - - - - Bibles - name plural - + + Import a Bible + Importeer een Bijbel - Bibles - container title - + Add a new Bible + Voeg een nieuwe Bijbel toe + + + + Edit the selected Bible + Geselecteerde Bijbel bewerken + + + + Delete the selected Bible + Geselecteerde Bijbel verwijderen + + + + Preview the selected Bible + Voorbeeld geselecteerde bijbeltekst + + + + Send the selected Bible live + Geselecteerde bijbeltekst live tonen - &Import - - - - - Import a Bible - - - - - &Add - - - - - Add a new Bible - - - - - &Edit - - - - - Edit the selected Bible - - - - - &Delete - - - - - Delete the selected Bible - - - - - Preview - - - - - Preview the selected Bible - - - - - Live - - - - - Send the selected Bible live - - - - - Service - - - - Add the selected Bible to the service - + Geselecteerde bijbeltekst aan de liturgie toevoegen - + + Bible + name singular + bijbeltekst + + + + Bibles + name plural + bijbelteksten + + + + Bibles + container title + Bijbelteksten + + + No Book Found - + Geen bijbelboek gevonden - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. - + Er kon geen bijbelboek met die naam gevonden worden. Controleer de spelling. BiblesPlugin.BibleManager - - No Bibles available - - - - - There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - - - - + Scripture Reference Error - + Fouten in schriftverwijzingen - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + Web Bible cannot be used + Online bijbels kunnen niet worden gebruikt + + + + Text Search is not available with Web Bibles. + In online bijbels kunt u niet zoeken op tekst. + + + + 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. + Geen zoekterm opgegeven. +Woorden met een spatie ertussen betekent zoeken naar alle woorden, Woorden met een komma ertussen betekent zoeken naar de afzonderlijke woorden. + + + + No Bibles available + Geen bijbelvertalingen beschikbaar + + + + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. + Er zijn geen bijbels geïnstalleerd. Gebruik de Import assistent om een of meerdere bijbels te installeren. + + + + 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 - - - Web Bible cannot be used - - - - - Text Search is not available with Web Bibles. - - - - - 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. - - BiblesPlugin.BiblesTab - + Verse Display - + Bijbeltekst weergave - + Only show new chapter numbers - + Toon alleen nieuw hoodstuknummer - + Layout style: - + Paginaformaat: - + Display style: - + Weergave stijl: - + Bible theme: - + Bijbel thema: - + Verse Per Slide - + Bijbelvers per dia - + Verse Per Line - + Bijbelvers per regel - + Continuous - + Doorlopend - + No Brackets - + geen haakjes - + ( And ) - + ( en ) - + { And } - + { en } - + [ And ] - + [ en ] - + Note: Changes do not affect verses already in the service. - + Nota Bene: +Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zijn opgenomen. - + Display second Bible verses - - - - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - + Toon tweede bijbelvertaling BiblesPlugin.ImportWizardForm - + Bible Import Wizard - + Bijbel Import Assistent - - Welcome to the Bible Import Wizard - - - - + 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. - + Deze Assistent helpt u bijbels van verschillende bestandsformaten te importeren. Om de Assistent te starten klikt op volgende. - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - + Web Download - + Onlinebijbel - - openlp.org 1.x - + + Location: + Locatie: - - File location: - + + Crosswalk + Crosswalk - - Books location: - + + BibleGateway + BibleGateway - - Verse location: - + + Bible: + Bijbelvertaling: + + + + Download Options + Download opties - Bible filename: - + Server: + Server: - Location: - + Username: + Gebruikersnaam: - Crosswalk - + Password: + Wachtwoord: - BibleGateway - - - - - Bibleserver - + Proxy Server (Optional) + Proxy-Server (optioneel) - Bible: - + License Details + Licentiedetails - Download Options - - - - - Server: - + Set up the Bible's license details. + Geef aan welke licentievoorwaarden gelden voor deze bijbelvertaling. - Username: - + Copyright: + Copyright: + + + + Please wait while your Bible is imported. + Even geduld. De bijbelvertaling wordt geïmporteerd. + + + + You need to specify a file with books of the Bible to use in the import. + Er moet een bestand met beschikbare bijbelboeken opgegeven worden. + + + + You need to specify a file of Bible verses to import. + Er moet een bestand met bijbelverzen opgegeven worden. + + + + You need to specify a version name for your Bible. + Geef de naam van de bijbelvertaling op. + + + + Bible Exists + Deze bijbelvertaling bestaat reeds + + + + Your Bible import failed. + Het importeren is mislukt. + + + + Version name: + Bijbeluitgave: + + + + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. + Copyright moet opgegeven worden. Bijbels in het publieke domein moeten als zodanig gemarkeerd worden. + + + + This Bible already exists. Please import a different Bible or first delete the existing one. + Deze bijbel bestaat reeds. Geef een andere naam of verwijder eerst het bestaande exemplaar. + + + + Starting Registering bible... + Start registreren Bijbel... + + + + Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required. + Registratie afgerond. +N.B. bijbelteksten worden gedownload indien nodig internetverbinding is dus noodzakelijk. - Password: - - - - - Proxy Server (Optional) - - - - - License Details - - - - - Set up the Bible's license details. - - - - - Version name: - - - - - Copyright: - - - - Permissions: - + Rechten: - - Importing - - - - - Please wait while your Bible is imported. - - - - - Ready. - - - - - 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. - - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - - - - - You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - - - - - Bible Exists - - - - - This Bible already exists. Please import a different Bible or first delete the existing one. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - + CSV File - + CSV bestand - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Open openlp.org 1.x Bible - - - - + openlp.org 1.x bible + openlp.org 1.x bijbel + + + + Bibleserver + Bibleserver.com + + + + Bible file: - - All Files + + Testaments file: - - Starting Registering bible... + + Books file: - - Starting import... + + Verses file: - - Registered bible. Please note, that verses will be downloaded on -demand and thus an internet connection is required. - - - - - Finished import. - - - - - Your Bible import failed. + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick - + Snelzoeken - - Advanced - - - - - Version: - - - - - Second: - - - - - Search type: - - - - + Find: - + Vind: - - Search - - - - + Results: - + Resulaten: - + Book: - + Boek: - + Chapter: - + Hoofdstuk: - + Verse: - + Vers: - + From: - + Van: - + To: - + Tot: - - Verse Search - - - - + Text Search - + Zoek op tekst - + Clear - + Wissen - + Keep - + Bewaren - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Second: + Tweede: + + + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... - + %s %s wordt geïmporteerd... BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Tekstcodering detecteren (dat kan even duren)... - + Importing %s %s... Importing <book name> <chapter>... - + %s %s wordt geïmporteerd... CustomPlugin - + <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. - + <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. @@ -912,552 +699,343 @@ demand and thus an internet connection is required. Custom Display - + Aangepaste weergave Display footer - + Voettekst weergeven CustomPlugin.EditCustomForm - + Edit Custom Slides - + Aangepaste dia's bewerken + + + + &Title: + &Titel: + + + + Split Slide + Dia splitsen + + + + The&me: + The&ma: + + + + &Credits: + &Credits: - Move slide up one position. - - - - - Move slide down one position. - - - - - &Title: - - - - - &Add - - - - Add a new slide at bottom. - + Nieuwe dia onderaan invoegen. - - &Edit - - - - + Edit the selected slide. - + Geselecteerde dia bewerken. - - Ed&it All - - - - + Edit all the slides at once. - + Alle dia's tegelijk bewerken. - - &Delete - - - - - Delete the selected slide. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - Split Slide - - - - + Split a slide into two by inserting a slide splitter. - - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - + Dia doormidden delen door een dia 'splitter' in te voegen. - - You haven't selected an item to delete. - + + You need to type in a title. + Geef een titel op. + + + + You need to add at least one slide + Minstens een dia invoegen + + + + Ed&it All + &Alles bewerken CustomsPlugin - - Custom - name singular - + + Import a Custom + Aangepaste dia importeren - - Customs - name plural - + + Load a new Custom + Aangepaste dia laden + + + + Add a new Custom + Aangepaste dia toevoegn - Custom - container title - + Edit the selected Custom + Geselecteerde dia bewerken - - Import - + + Delete the selected Custom + Geselecteerde aangepaste dia verwijderen + + + + Preview the selected Custom + Bekijk voorbeeld aangepaste dia + + + + Send the selected Custom live + Bekijk aangepaste dia live - Import a Custom - - - - - Load - - - - - Load a new Custom - - - - - Add - - - - - Add a new Custom - - - - - Edit - - - - - Edit the selected Custom - - - - - Delete - - - - - Delete the selected Custom - - - - - Preview - - - - - Preview the selected Custom - - - - - Live - - - - - Send the selected Custom live - - - - - Service - - - - Add the selected Custom to the service - + Aangepaste dia aan liturgie toevoegen + + + + Custom + name singular + Sonderfolien + + + + Customs + name plural + Aangepaste dia's + + + + Custom + container title + Aangepaste dia ImagePlugin - + <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. - + <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. - - Image - name singular - + + Load a new Image + Afbeelding laden - - Images - name plural - + + Add a new Image + Afbeelding toevoegen - - Images - container title - + + Edit the selected Image + Afbeelding bewerken - Load - + Delete the selected Image + Geselecteerde afbeeldingen wissen - Load a new Image - - - - - Add - - - - - Add a new Image - - - - - Edit - - - - - Edit the selected Image - - - - - Delete - - - - - Delete the selected Image - - - - - Preview - - - - Preview the selected Image - + Geselecteerde afbeeldingen voorbeeld bekijken - - Live - - - - + Send the selected Image live - + Geselecteerde afbeeldingen Live tonen - - Service - - - - + Add the selected Image to the service + Geselecteerde afbeeldingen aan liturgie toevoegen + + + + Image + name singular + Afbeelding + + + + Images + name plural + Bilder + + + + Images + container title + Afbeeldingen + + + + ImagePlugin.ExceptionDialog + + + Select Attachment ImagePlugin.MediaItem - + Select Image(s) - + Selecteer afbeelding(en) - - All Files - - - - - Replace Background - - - - - Replace Live Background - - - - - Reset Background - - - - - Reset Live Background - - - - + You must select an image to delete. - + Selecteer een afbeelding om te verwijderen. - - Image(s) - + + You must select an image to replace the background with. + Selecteer een afbeelding om de achtergrond te vervangen. - + Missing Image(s) - + Ontbrekende afbeelding(en) - + The following image(s) no longer exist: %s - + De volgende afbeelding(en) ontbreken: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - + De volgende afbeelding(en) ontbreken: %s +De andere afbeeldingen alsnog toevoegen? - You must select an image to replace the background with. - - - - - Live Background Error - - - - There was a problem replacing your background, the image file "%s" no longer exists. - + Achtergrond kan niet vervangen worden, omdat de afbeelding "%s" ontbreekt. MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - + <strong>Media Plugin</strong><br />De media plugin voorziet in mogelijkheden audio en video af te spelen. + + + + Load a new Media + Laad nieuw media bestand + + + + Add a new Media + Voeg nieuwe media toe + + + + Edit the selected Media + Bewerk geselecteerd media bestand + + + + Delete the selected Media + Verwijder geselecteerd media bestand + + + + Preview the selected Media + Toon voorbeeld van geselecteerd media bestand + + + + Send the selected Media live + Toon geselecteerd media bestand Live + Add the selected Media to the service + Voeg geselecteerd media bestand aan liturgie toe + + + Media name singular - + Medien - + Media name plural - + Medien - + Media container title - - - - - Load - - - - - Load a new Media - - - - - Add - - - - - Add a new Media - - - - - Edit - - - - - Edit the selected Media - - - - - Delete - - - - - Delete the selected Media - - - - - Preview - - - - - Preview the selected Media - - - - - Live - - - - - Send the selected Media live - - - - - Service - - - - - Add the selected Media to the service - + Media MediaPlugin.MediaItem - + Select Media - + Secteer media bestand - - Videos (%s);;Audio (%s);;All files (*) - + + You must select a media file to delete. + Selecteer een media bestand om te verwijderen. - - Replace Background - + + Missing Media File + Ontbrekend media bestand - - Replace Live Background - - - - - Reset Background - + + The file %s no longer exists. + Media bestand %s bestaat niet meer. You must select a media file to replace the background with. - - - - - Live Background Error - + Selecteer een media bestand om de achtergrond mee te vervangen. There was a problem replacing your background, the media file "%s" no longer exists. - + Probleem met het vervangen van de achtergrond, omdat het bestand "%s" niet meer bestaat. - - Media - - - - - Missing Media File - - - - - The file %s no longer exists. - - - - - You must select a media file to delete. + + Videos (%s);;Audio (%s);;%s (*) @@ -1465,35 +1043,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - - - - Media Display - + Media weergave - + Use Phonon for video playback - + Gebruik Phonon voor het afspelen van video OpenLP - + Image Files - + Afbeeldingsbestanden OpenLP.AboutForm - - - About OpenLP - - 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. - + 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. - - About - + + Credits + Credits - + + License + Licentie + + + + Contribute + Bijdragen + + + + build %s + build %s + + + 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. - + 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. - - Credits - - - - + 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. - - - License - - - - - Contribute - - - - - build %s - - OpenLP.AdvancedTab - - Advanced - - - - + UI Settings - - - - - Number of recent files to display: - - - - - Remember active media manager tab on startup - - - - - Double-click to send items straight to live - - - - - Expand new service items on creation - + Werkomgeving instellingen + Number of recent files to display: + Aantal recent geopende bestanden: + + + + Remember active media manager tab on startup + Laatstgeopende tab opslaan + + + + Double-click to send items straight to live + Dubbelklikken om onderdelen direct aan live toe te voegen + + + + Expand new service items on creation + Nieuwe liturgieonderdelen automatisch uitklappen + + + Enable application exit confirmation - + Afsluiten OpenLP bevestigen - + Mouse Cursor + Muisaanwijzer + + + + Hide mouse cursor when over display window - - Hide the mouse cursor when moved over the display window + + Default Image + + + Background color: + Achtergrondkleur: + + + + Image file: + + + + + Open File + Open bestand + + + + OpenLP.DisplayTagDialog + + + Edit Selection + Bewerk selectie + + + + Update + Update + + + + Description + Omschrijving + + + + Tag + Tag + + + + Start tag + Start tag + + + + End tag + Eind tag + + + + Default + Standaard + + + + Tag id + Tag id + + + + Start Html + Start Html + + + + End Html + Eind Html + OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Update Fout - + Tag "n" already defined. - + Tag "n" bestaat al. - + Tag %s already defined. - + Tag %s bestaat al. OpenLP.ExceptionDialog - - Error Occurred - - - - + 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. - + 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. - + + Error Occurred + Er gaat iets fout + + + Send E-Mail + Stuur e-mail + + + + Save to File + Opslaan als… + + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) - - Save to File + + Attach File + + + + + Description characters to enter : %s OpenLP.ExceptionForm - + Platform: %s - + Plattform: %s + - + + Save Crash Report + Bewaar Bug Report + + + + Text files (*.txt *.log *.text) + Tekstbestand (*.txt *.log *.text) + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1891,24 +1550,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - - New File Name: - - - - - File Copy - - - - + File Rename - + Bestand hernoemen + + + + New File Name: + Nieuwe bestandsnaam: + + + + File Copy + Bestand kopiëren OpenLP.GeneralTab - - - General - - - - - Monitors - - - - - Select monitor for output display: - - + General + Algemeen + + + + Monitors + Beeldschermen + + + + Select monitor for output display: + Projectiescherm: + + + Display if a single screen - + Weergeven bij enkel scherm - + Application Startup - + Programma start - + Show blank screen warning - + Toon zwart scherm waarschuwing - + Automatically open the last service - + Automatisch laatste liturgie openen - + Show the splash screen - + Toon splash screen - + Application Settings - + Programma instellingen - + Prompt to save before starting a new service - + Waarschuw om werk op te slaan bij het beginnen van een nieuwe liturgie - + Automatically preview next item in service - + Automatisch volgend onderdeel van liturgie tonen - + Slide loop delay: - + Vertraging bij doorlopende diavoorstelling: - + sec - + sec - + CCLI Details - + CCLI-details - - CCLI number: - - - - + SongSelect username: - + SongSelect gebruikersnaam: - + SongSelect password: - + SongSelect wachtwoord: - + Display Position - + Weergave positie - + X - + X - + Y - + Y - + Height - + Hoogte + + + + Width + Breedte - Width - - - - Override display position - + Overschrijf scherm positie - + Screen - + Beeldscherm - + primary + primair scherm + + + + Check for updates to OpenLP @@ -2070,790 +1720,839 @@ Version: %s Language - + Taal Please restart OpenLP to use your new language setting. - + Start OpenLP opnieuw op om de nieuwe taalinstellingen te gebruiken. OpenLP.MainDisplay - + OpenLP Display - + OpenLP Weergave OpenLP.MainWindow - - OpenLP 2.0 - - - - + &File - + &Bestand - + &Import - + &Importeren - + &Export - + &Exporteren - + &View - + &Weergave - + M&ode - + M&odus - + &Tools - + &Hulpmiddelen - + &Settings - - - - - &Language - - - - - &Help - - - - - Media Manager - - - - - Service Manager - - - - - Theme Manager - - - - - &New - - - - - New Service - - - - - Create a new service. - + &Instellingen + &Language + Taa&l + + + + &Help + &Help + + + + Media Manager + Mediabeheer + + + + Service Manager + Liturgie beheer + + + + Theme Manager + Thema beheer + + + + &New + &Nieuw + + + Ctrl+N - + Ctrl+N - + &Open - + &Open - - Open Service - - - - + Open an existing service. - + Open een bestaande liturgie. + + + + Ctrl+O + Ctrl+O + + + + &Save + Op&slaan + + + + Save the current service to disk. + Deze liturgie opslaan. + + + + Ctrl+S + Ctrl+S + + + + Save &As... + Opslaan &als... + + + + Save Service As + Liturgie opslaan als + + + + Save the current service under a new name. + Deze liturgie onder een andere naam opslaan. + + + + Ctrl+Shift+S + Ctrl+Shift+S + + + + E&xit + &Afsluiten + + + + Quit OpenLP + OpenLP afsluiten + + + + Alt+F4 + Alt+F4 + + + + &Theme + &Thema - Ctrl+O - - - - - &Save - + &Configure OpenLP... + &Instellingen... - Save Service - + &Media Manager + &Media beheer - Save the current service to disk. - + Toggle Media Manager + Media beheer wel / niet tonen - Ctrl+S - - - - - Save &As... - - - - - Save Service As - - - - - Save the current service under a new name. - - - - - Ctrl+Shift+S - - - - - E&xit - - - - - Quit OpenLP - - - - - Alt+F4 - - - - - &Theme - - - - - Configure &Shortcuts... - - - - - &Configure OpenLP... - - - - - &Media Manager - - - - - Toggle Media Manager - - - - Toggle the visibility of the media manager. - + Media beheer wel / niet tonen. - + F8 - + F8 - + &Theme Manager - + &Thema beheer - + Toggle Theme Manager - + Thema beheer wel / niet tonen - + Toggle the visibility of the theme manager. - + Thema beheer wel / niet tonen. - + F10 - + F10 - + &Service Manager - + &Liturgie beheer + + + + Toggle Service Manager + Liturgie beheer wel / niet tonen + + + + Toggle the visibility of the service manager. + Liturgie beheer wel / niet tonen. + + + + F9 + F9 + + + + &Preview Panel + &Voorbeeld + + + + Toggle Preview Panel + Voorbeeld wel / niet tonen + + + + Toggle the visibility of the preview panel. + Voorbeeld wel / niet tonen. + + + + F11 + F11 + + + + &Live Panel + &Live venster + + + + Toggle Live Panel + Live venster wel / niet tonen + + + + Toggle the visibility of the live panel. + Live venster wel / niet tonen. + + + + F12 + F12 + + + + &Plugin List + &Plugin Lijst + + + + List the Plugins + Lijst met plugins =uitbreidingen van OpenLP + + + + Alt+F7 + Alt+F7 + + + + &User Guide + Gebr&uikshandleiding + + + + &About + &Over OpenLP - Toggle Service Manager - + More information about OpenLP + Meer Informatie over OpenLP - Toggle the visibility of the service manager. - + Ctrl+F1 + Ctrl+F1 - F9 - + &Online Help + &Online help - &Preview Panel - + &Web Site + &Website - Toggle Preview Panel - + &Auto Detect + &Automatisch detecteren - Toggle the visibility of the preview panel. - - - - - F11 - + Use the system language, if available. + Gebruik systeem standaardtaal, indien mogelijk. - &Live Panel - + Set the interface language to %s + %s als taal in OpenLP gebruiken - Toggle Live Panel - + Add &Tool... + Hulpprogramma &toevoegen... - Toggle the visibility of the live panel. - - - - - F12 - - - - - &Plugin List - + Add an application to the list of tools. + Voeg een hulpprogramma toe aan de lijst. - List the Plugins - + &Default + &Standaard - Alt+F7 - + Set the view mode back to the default. + Terug naar de standaard weergave modus. - &User Guide - + &Setup + &Setup - - &About - + + Set the view mode to Setup. + Weergave modus naar Setup. - More information about OpenLP - - - - - Ctrl+F1 - - - - - &Online Help - - - - - &Web Site - - - - - &Auto Detect - - - - - Use the system language, if available. - - - - - Set the interface language to %s - - - - - Add &Tool... - - - - - Add an application to the list of tools. - - - - - &Default - - - - - Set the view mode back to the default. - - - - - &Setup - - - - - Set the view mode to Setup. - - - - &Live - + &Live - + Set the view mode to Live. - + Weergave modus naar Live. - + + OpenLP Version Updated + Nieuwe OpenLP versie beschikbaar + + + + OpenLP Main Display Blanked + OpenLP projectie op zwart + + + + The Main Display has been blanked out + Projectie is uitgeschakeld: scherm staat op zwart + + + + Default Theme: %s + Standaardthema: %s + + + 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/. - - - - - OpenLP Version Updated - - - - - OpenLP Main Display Blanked - - - - - The Main Display has been blanked out - - - - - Save Changes to Service? - - - - - Your service has changed. Do you want to save those changes? - - - - - Close OpenLP - - - - - Are you sure you want to close OpenLP? - - - - - Default Theme: %s - + Versie %s van OpenLP ist beschikbaar (huidige versie: %s). + +U kunt de laatste versie op http://openlp.org/ downloaden. English Please add the name of your language here + Nederlands + + + + Configure &Shortcuts... + &Sneltoetsen instellen... + + + + Close OpenLP + OpenLP afsluiten + + + + Are you sure you want to close OpenLP? + OpenLP afsluiten? + + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags OpenLP.MediaManagerItem - + No Items Selected - + Niets geselecteerd - + &Add to selected Service Item - + &Voeg selectie toe aan de liturgie - + You must select one or more items to preview. - + Selecteer een of meerdere onderdelen om voorbeeld te laten zien. - + You must select one or more items to send live. - + Selecteer een of meerdere onderdelen om Live te tonen. - + You must select one or more items. - + Selecteer een of meerdere onderdelen. - - No items selected - - - - - You must select one or more items - - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Selecteer een liturgie om deze onderdelen aan toe te voegen. - + Invalid Service Item - + Ongeldige Liturgie onderdeel - + You must select a %s service item. - + Selecteer een %s liturgie onderdeel. OpenLP.PluginForm - - - Plugin List - - - Plugin Details - + Plugin List + Plugin Lijst - Version: - - - - - About: - + Plugin Details + Plugin details Status: - + Status: Active - + Actief Inactive - + Inactief - - %s (Disabled) - - - - - %s (Active) - - - - + %s (Inactive) + %s (inactief) + + + + %s (Active) + %s (actief) + + + + %s (Disabled) + %s (uitgeschakeld) + + + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet OpenLP.ServiceItemEditForm - + Reorder Service Item - - - - - Delete - + Liturgie onderdeel herschikken OpenLP.ServiceManager - - New Service - - - - - Create a new service - - - - - Open Service - - - - + Load an existing service - + Laad een bestaande liturgie - - Save Service - - - - + Save this service - + Deze liturgie opslaan - - Theme: - - - - + Select a theme for the service - + Selecteer een thema voor de liturgie - + Move to &top - + Bovenaan plaa&tsen - + Move item to the top of the service. - + Plaats dit onderdeel bovenaan. - + Move &up - + Naar b&oven - + Move item up one position in the service. - + Verplaats een plek naar boven. - + Move &down - + Naar bene&den - + Move item down one position in the service. - + Verplaats een plek naar beneden. - + Move to &bottom - + Onderaan &plaatsen - + Move item to the end of the service. - + Plaats dit onderdeel onderaan. - + &Delete From Service - + Verwij&deren uit de liturgie - + Delete the selected item from the service. - + Verwijder dit onderdeel uit de liturgie. - - &Expand all - - - - - Expand all the service items. - - - - - &Collapse all - - - - - Collapse all the service items. - - - - + &Add New Item - + &Voeg toe - + &Add to Selected Item - + &Voeg selectie toe - + &Edit Item - + B&ewerk onderdeel - + &Reorder Item - + He&rschik onderdeel - + &Notes - + Aa&ntekeningen - - &Preview Verse - - - - - &Live Verse - - - - + &Change Item Theme - + &Wijzig onderdeel thema - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - - Open File - - - - - OpenLP Service Files (*.osz) - - - - + File is not a valid service. The content encoding is not UTF-8. - + Geen geldig liturgie bestand. +Tekst codering is geen UTF-8. - + File is not a valid service. - + Geen geldig liturgie bestand. - + Missing Display Handler - + Ontbrekende weergave regelaar - + Your item cannot be displayed as there is no handler to display it + Dit onderdeel kan niet weergegeven worden, omdat er een regelaar ontbreekt + + + + Your item cannot be displayed as the plugin required to display it is missing or inactive + Dit onderdeel kan niet weergegeven worden omdat de benodigde plugin ontbreekt of inactief is + + + + &Expand all + Alles &uitklappen + + + + Expand all the service items. + Alle liturgie onderdelen uitklappen. + + + + &Collapse all + Alles &inklappen + + + + Collapse all the service items. + Alle liturgie onderdelen inklappen. + + + + Open File + Open bestand + + + + OpenLP Service Files (*.osz) + OpenLP liturgie bestanden (*.osz) + + + + Moves the selection up the window. + Verplaatst de selectie naar boven. + + + + Move up + Naar boven + + + + Go Live + Ga Live + + + + Send the selected item to Live. + Toon selectie Live. + + + + Moves the selection down the window. - - Your item cannot be displayed as the plugin required to display it is missing or inactive + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? OpenLP.ServiceNoteForm - + Service Item Notes - + Liturgische kanttekeningen OpenLP.SettingsForm - + Configure OpenLP - + Configureer OpenLP @@ -2861,910 +2560,1288 @@ The content encoding is not UTF-8. Customize Shortcuts - + Snelkoppelingen aanpassen Action - + Actie Shortcut - + snelkoppeling - + Default: %s - + standaard: %s - + Custom: - + Aangepast: - + None - + Geen Duplicate Shortcut - + Snelkoppelingen dupliceren The shortcut "%s" is already assigned to another action, please use a different shortcut. + Deze snelkoppeling "%s" wordt al voor iets anders gebruikt. Kies een andere toetscombinatie. + + + + Alternate OpenLP.SlideController - - Live - - - - - Preview - - - - + Move to previous - + Naar vorige - + Move to next - + Naar volgende - + Hide - + Verbergen - - Blank Screen - + + Move to live + Naar Live - - Blank to Theme - + + Start continuous loop + Start doorlopende diashow + + + + Stop continuous loop + Stop doorlopende diashow - Show Desktop - - - - - Start continuous loop - - - - - Stop continuous loop - - - - - s - - - - Delay between slides in seconds - + Vertraging tussen dia's in seconden - Move to live - - - - - Edit and reload song preview - - - - Start playing media - + Start afspelen media - + Go To - + Ga naar + + + + Edit and reload song preview + Bewerk en lied voorbeeld opnieuw weergeven + + + + Blank Screen + Zwart scherm + + + + Blank to Theme + Zwart naar thema + + + + Show Desktop + Toon bureaublad + + + + Previous Slide + Vorige dia + + + + Next Slide + Volgende dia + + + + Previous Service + Vorige liturgie + + + + Next Service + Volgende liturgie + + + + Escape Item + Onderdeel annuleren OpenLP.SpellTextEdit - + Spelling Suggestions + Spelling suggesties + + + + Formatting Tags + Opmaak tags + + + + OpenLP.StartTimeForm + + + Item Start Time - - Formatting Tags + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: OpenLP.ThemeForm - - (%d lines per slide) - - - - - All Files - - - - + Select Image - + Selecteer afbeelding - + Theme Name Missing - + Thema naam ontbreekt - + There is no name for this theme. Please enter one. - + Dit thema heeft nog geen naam. Geef een naam voor dit thema. - + Theme Name Invalid - + Ongeldige naam - + Invalid theme name. Please enter one. - + Deze naam kan niet worden gebruikt als thema naam. Kies een andere naam. + + + + (%d lines per slide) + (%d regels per dia) OpenLP.ThemeManager - - New Theme - - - - + Create a new theme. - + Maak een nieuw thema. - + Edit Theme - + Bewerk thema - + Edit a theme. - + Bewerk een thema. - + Delete Theme - + Verwijder thema - + Delete a theme. - + Verwijder thema. - + Import Theme - + Importeer thema - + Import a theme. - + Importeer thema. - + Export Theme - + Exporteer thema - + Export a theme. - + Exporteer thema. - + &Edit Theme - + B&ewerk thema - - &Copy Theme - - - - - &Rename Theme - - - - + &Delete Theme - + Verwij&der thema - + Set As &Global Default - + Instellen als al&gemene standaard - - &Export Theme - - - - + %s (default) - + %s (standaard) - - You must select a theme to rename. - - - - - Rename Confirmation - - - - - Rename %s theme? - - - - + You must select a theme to edit. - + Selecteer een thema om te bewerken. - - You must select a theme to delete. - + + You are unable to delete the default theme. + Het standaard thema kan niet worden verwijderd. - - Delete Confirmation - - - - - Delete %s theme? - - - - + You have not selected a theme. - + Selecteer een thema. - + Save Theme - (%s) - + Thema opslaan - (%s) - + Theme Exported - + Thema geëxporteerd - + Your theme has been successfully exported. - + Exporteren thema is gelukt. - + Theme Export Failed - + Exporteren thema is mislukt - + Your theme could not be exported due to an error. - + Thema kan niet worden geëxporteerd als gevolg van een fout. - + Select Theme Import File - + Selecteer te importeren thema bestand - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + File is not a valid theme. The content encoding is not UTF-8. - + Geen geldig thema bestand. +Tekst codering is geen UTF-8. - - Validation Error - - - - + File is not a valid theme. - + Geen geldig thema bestand. - - A theme with this name already exists. - - - - - You are unable to delete the default theme. - - - - + Theme %s is used in the %s plugin. + Thema %s wordt gebruikt in de %s plugin. + + + + &Copy Theme + &Kopieer thema + + + + &Rename Theme + He&rnoem thema + + + + &Export Theme + &Exporteer thema + + + + You must select a theme to rename. + Selecteer een thema om te hernoemen. + + + + Rename Confirmation + Bevestig hernoemen + + + + Rename %s theme? + %s thema hernoemen? + + + + You must select a theme to delete. + Selecteer een thema om te verwijderen. + + + + Delete Confirmation + Bevestig verwijderen + + + + Delete %s theme? + %s thema verwijderen? + + + + Validation Error + Validatie fout + + + + A theme with this name already exists. + Er bestaat al een thema met deze naam. + + + + OpenLP Themes (*.theme *.otz) OpenLP.ThemeWizard - - Edit Theme - %s - - - - - New Theme - - - - + Theme Wizard - + Thema assistent - + Welcome to the Theme Wizard - + Welkom bij de thema assistent - - 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. - - - - + Set Up Background - + Achtergrond instellen - + Set up your theme's background according to the parameters below. - + Thema achtergrond instellen met onderstaande parameters. + + + + Background type: + Achtergrond type: + + + + Solid Color + Vaste kleur + + + + Gradient + Kleurverloop + + + + Color: + Kleur: + + + + Gradient: + Kleurverloop: + + + + Horizontal + Horizontaal + + + + Vertical + Verticaal + + + + Circular + Radiaal + + + + Top Left - Bottom Right + Links boven - rechts onder - Background type: - + Bottom Left - Top Right + Links onder - Rechts boven - - Solid Color - + + Main Area Font Details + Font instellingen algemeen - - Gradient - + + Define the font and display characteristics for the Display text + Stel de eigenschappen voor de tekst weergave in - - Image - + + Font: + Font: - - Color: - + + Size: + Grootte: - - Gradient: - + + Line Spacing: + Interlinie: - Horizontal - - - - - Vertical - + &Outline: + &Omtrek: - Circular - + &Shadow: + &Schaduw: - - Top Left - Bottom Right - + + Bold + Vet - Bottom Left - Top Right - + Italic + Cursief - Image: - + Footer Area Font Details + Eigenschappen voettekst - - Main Area Font Details - + + Define the font and display characteristics for the Footer text + Stel de eigenschappen voor de voettekst weergave in - - Define the font and display characteristics for the Display text - - - - - Font: - - - - - Size: - - - - - pt - + + Text Formatting Details + Tekst opmaak eigenschappen - Line Spacing: - + Allows additional display formatting information to be defined + Toestaan dat er afwijkende opmaak kan worden bepaald - &Outline: - + Horizontal Align: + Horizontaal uitlijnen: + + + + Left + links - &Shadow: - - - - - Bold - - - - - Italic - - - - - Footer Area Font Details - - - - - Define the font and display characteristics for the Footer text - - - - - Text Formatting Details - - - - - Allows additional display formatting information to be defined - - - - - Horizontal Align: - - - - - Left - - - - Right - + rechts - + Center - + Centreren + + + + Output Area Locations + Uitvoer gebied locaties + + + + Allows you to change and move the main and footer areas. + Toestaan dat tekstvelden gewijzigd en verplaatst worden. + + + + &Main Area + &Hoofdgebied + + + + &Use default location + Gebr&uik standaard locatie + + + + X position: + X positie: + + + + px + px - Vertical Align: - + Y position: + Y positie: - - Top - + + Width: + Breedte: - - Middle - + + Height: + Hoogte: - - Bottom - + + Use default location + Gebruik standaard locatie - - Transitions: - - - - - Output Area Locations - - - - - Allows you to change and move the main and footer areas. - + + Save and Preview + Opslaan en voorbeeld - &Main Area - - - - - &Use default location - - - - - X position: - - - - - px - - - - - Y position: - - - - - Width: - - - - - Height: - - - - - &Footer Area - - - - - Use default location - - - - - Save and Preview - - - - View the theme and save it replacing the current one or change the name to create a new theme - + Thema bekijken en sla het op onder dezelfde naam om te vervangen of onder een andere naam om een nieuw thema te maken - + Theme name: - + Thema naam: + + + + 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. + Deze assistent helpt bij het maken en bewerken van thema's. Klik op volgende om als eerste een achtergrond in te stellen. + + + + Transitions: + Overgangen: + + + + &Footer Area + &Voettekst gebied + + + + Edit Theme - %s + Bewerk thema - %s OpenLP.ThemesTab - - - Themes - - - - - Global Theme - - - Theme Level - + Global Theme + Globaal thema - S&ong Level - + Theme Level + Thema niveau - 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. - + S&ong Level + &Lied niveau - - &Service Level - + + 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. + 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. - 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. - + &Service Level + &Liturgie niveau - - &Global Level - + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + 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. + &Global Level + &Globaal niveau + + + Use the global theme, overriding any themes associated with either the service or the songs. - + Gebruik het globale thema en negeer alle thema's van de liturgie of de afzonderlijke liederen. OpenLP.Ui - + Error + Fout + + + + &Delete + + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Toevoegen + + + + Advanced + Geavanceerd + + + + All Files + + + + + Create a new service. + Maak nieuwe liturgie. + + + + &Edit + &Bewerken + + + + Import + Import + + + + Length %s + + + + + Live + Live + + + + Load + + + + + New + Nieuw + + + + New Service + Nieuwe liturgie + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Open liturgie + + + + Preview + Voorbeeld + + + + Replace Background + + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + Live-achtergrond herstellen + + + + Save Service + + + + + Service + Liturgie + + + + Start %s + + + + + &Vertical Align: + + + + + Top + + + + + Middle + + + + + Bottom + + + + + About + Over + + + + Browse... + Bladeren... + + + + Cancel + Annuleren + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Afbeelding + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + Nieuw thema + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Niets geselecteerd + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + + + + + Search + + + + + You must select an item to delete. + + + + + You must select an item to edit. + You must select an item to edit. + + + + Theme + Singular + Thema + + + + Themes + Plural + Thema's + + + + Version + + + + + Finished import. + Importeren beëindigd. + + + + Format: + + + + + Importing + Importeren + + + + Importing "%s"... + Importing "%s"... + + + + Select Import Source + + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Klaar. + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Welkom bij de Bijbel Import Assistent + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Welkom bij de lied import assistent + + + + Author + Singular + + + + + Authors + Plural + Auteurs + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Liedbundel + + + + Song Books + Plural + Liedboeken + + + + Song Maintenance + + + + + Topic + Singular + Onderwerp + + + + Topics + Plural + Onderwerpen + + + + OpenLP.displayTagDialog + + + Configure Display Tags PresentationPlugin - + <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. - + <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. - - Presentation - name singular - - - - - Presentations - name plural - - - - - Presentations - container title - - - - - Load - - - - + Load a new Presentation - - - - - Delete - + Laad nieuwe presentatie Delete the selected Presentation - + Geselecteerde presentatie verwijderen - - Preview - + + Preview the selected Presentation + Geef van geselecteerde presentatie voorbeeld weer + + + + Send the selected Presentation live + Geselecteerde presentatie Live - Preview the selected Presentation - - - - - Live - - - - - Send the selected Presentation live - - - - - Service - - - - Add the selected Presentation to the service - + Voeg geselecteerde presentatie toe aan de liturgie + + + + Presentation + name singular + Presentatie + + + + Presentations + name plural + Präsentationen + + + + Presentations + container title + Presentaties PresentationPlugin.MediaItem - + Select Presentation(s) - + Selecteer presentatie(s) - + Automatic - + automatisch - + Present using: - + Presenteren met: - - Presentations (%s) - - - - - File Exists - - - - + A presentation with that filename already exists. - + Er bestaat al een presentatie met die naam. - + + File Exists + Bestand bestaat + + + Unsupported File - + Niet ondersteund bestandsformaat - + This type of presentation is not supported. - + Dit soort presentatie wordt niet ondersteund. - - You must select an item to delete. - + + Presentations (%s) + Presentaties (%s) - + Missing Presentation - + Ontbrekende presentatie - + The Presentation %s no longer exists. - + De presentatie %s bestaat niet meer. + + + + The Presentation %s is incomplete, please reload. + De presentatie %s is niet compleet, herladen aub. PresentationPlugin.PresentationTab - + Available Controllers - + Beschikbare regelaars - - %s (unvailable) - - - - - Advanced - - - - + Allow presentation application to be overriden + Presentatieprogramma kan overschreven worden + + + + %s (unavailable) RemotePlugin - + <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. - + <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. - + Remote name singular - + Remote - + Remotes name plural - + Remotes - + Remote container title - + Remote RemotePlugin.RemoteTab - - - Server Settings - - Serve on IP address: - + Beschikbaar via IP-adres: Port number: - + Poort nummer: + + + + Server Settings + Server instellingen @@ -3772,1296 +3849,960 @@ The content encoding is not UTF-8. &Song Usage Tracking - + &Lied gebruik bijhouden &Delete Tracking Data - + Verwij&der gegevens liedgebruik Delete song usage data up to a specified date. - + Verwijder alle gegevens over lied gebruik tot een bepaalde datum. &Extract Tracking Data - + &Extraheer gegevens liedgebruik Generate a report on song usage. - + Geneer rapportage liedgebruik. Toggle Tracking - + Gegevens bijhouden aan|uit Toggle the tracking of song usage. - + Gegevens liedgebruik bijhouden aan of uit zetten. <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. - + <strong>Liedgebruik plugin</strong><br />Met deze plugin kunt u bijhouden welke liederen tijdens de vieringen gezongen worden. SongUsage name singular - + Liedprotokollierung SongUsage name plural - + Liedprotokollierung SongUsage container title - + Liedgebruik SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data - + Gegevens liedgebruik verwijderen Delete Selected Song Usage Events? - + Wilt u de gegevens liedgebruik verwijderen? Are you sure you want to delete selected Song Usage data? + Weet u zeker dat u de gegevens liedgebruik wilt verwijderen? + + + + Deletion Successful + + + + + All requested data has been deleted successfully. SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Gegevens liedgebruik extraheren - + Select Date Range - + Selecteer periode - + to - + tot - + Report Location - - - - - Output File Location - + Locatie rapport + Output File Location + Bestandslocatie + + + usage_detail_%s_%s.txt + liedgebruik_details_%s_%s.txt + + + + Report Creation + + + + + Report +%s +has been successfully created. SongsPlugin - - Arabic (CP-1256) - - - - - Baltic (CP-1257) - - - - - Central European (CP-1250) - - - - - Cyrillic (CP-1251) - - - - - Greek (CP-1253) - - - - - Hebrew (CP-1255) - - - - - Japanese (CP-932) - - - - - Korean (CP-949) - - - - - Simplified Chinese (CP-936) - - - - - Thai (CP-874) - - - - - Traditional Chinese (CP-950) - - - - - Turkish (CP-1254) - - - - - Vietnam (CP-1258) - - - - - Western European (CP-1252) - - - - - Character Encoding - - - - - The codepage setting is responsible -for the correct character representation. -Usually you are fine with the preselected choice. - - - - - Please choose the character encoding. -The encoding is responsible for the correct character representation. - - - - + &Song - + &Lied - + Import songs using the import wizard. - + Importeer liederen met de lied assistent. - - &Re-index Songs - - - - - Re-index the songs database to improve searching and ordering. - - - - - Reindexing songs... - - - - - Cancel - - - - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + <strong>Lied plugin</strong><br />De lied plugin regelt de weergave en het beheer van liederen. - - Song - name singular - + + &Re-index Songs + He&r-indexeer liederen - - Songs - name plural - + + Re-index the songs database to improve searching and ordering. + Her-indexxer de liederen in de database om het zoeken en ordenen te verbeteren. - - Songs - container title - - - - - Add - - - - - Add a new Song - - - - - Edit - - - - - Edit the selected Song - + + Reindexing songs... + Liederen her-indexeren... - Delete - + Add a new Song + Voeg nieuw lied toe + Edit the selected Song + Bewerk geselecteerde lied + + + Delete the selected Song - + Verwijder geselecteerde lied - - Preview - - - - + Preview the selected Song - + Toon voorbeeld geselecteerd lied - - Live - - - - + Send the selected Song live - + Toon lied Live - - Service - - - - + Add the selected Song to the service + Voeg geselecteerde lied toe aan de liturgie + + + + Song + name singular + Lied + + + + Songs + name plural + Lieder + + + + Songs + container title + Liederen + + + + Arabic (CP-1256) + Arabisch (CP-1256) + + + + Baltic (CP-1257) + Baltisch (CP-1257) + + + + Central European (CP-1250) + Centraal Europees (CP-1250) + + + + Cyrillic (CP-1251) + Cyrillisch (CP-1251) + + + + Greek (CP-1253) + Grieks (CP-1253) + + + + Hebrew (CP-1255) + Hebreeuws (CP-1255) + + + + Japanese (CP-932) + Japans (CP-932) + + + + Korean (CP-949) + Koreaans (CP-949) + + + + Simplified Chinese (CP-936) + Chinees, eenvoudig (CP-936) + + + + Thai (CP-874) + Thais (CP-874) + + + + Traditional Chinese (CP-950) + Traditioneel Chinees (CP-950) + + + + Turkish (CP-1254) + Turks (CP-1254) + + + + Vietnam (CP-1258) + Vietnamees (CP-1258) + + + + Western European (CP-1252) + Westeuropees (CP-1252) + + + + Character Encoding + Tekst codering + + + + Please choose the character encoding. +The encoding is responsible for the correct character representation. + Kies een tekstcodering (codepage). +De tekstcodering is verantwoordelijk voor een correcte weergave van lettertekens. + + + + The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice. + De tekstcodering is verantwoordelijk voor +een correcte weergave van lettertekens. +Meestal voldoet de suggestie van OpenLP. + + + + Exports songs using the export wizard. SongsPlugin.AuthorsForm - + Author Maintenance - + Auteur hebeer - + Display name: - + Weergave naam: - + First name: - + Voornaam: - + Last name: - + Achternaam: You need to type in the first name of the author. - + De voornaam van de auteur moet worden opgegeven. - + You need to type in the last name of the author. - + De achternaam van de auteur moet worden opgegeven. - + You have not set a display name for the author, combine the first and last names? - + Geen weergave naam opgegeven. Moeten de voor- en achternaam gecombineerd worden? SongsPlugin.CCLIFileImport - + Importing song %d of %d - + Lied %d van %d wordt geïmporteerd... SongsPlugin.EditSongForm - + Song Editor - + Lied bewerker - + &Title: - + &Titel: - - Alt&ernate title: - - - - + &Lyrics: - + Lied&tekst: - - &Verse order: - - - - - &Add - - - - - &Edit - - - - + Ed&it All - + &Alles bewerken - - &Delete - - - - + Title && Lyrics - + Titel && Liedtekst - - Authors - - - - + &Add to Song - + Voeg toe &aan lied - + &Remove - + Ve&rwijderen - - &Manage Authors, Topics, Song Books - - - - - Topic - - - - + A&dd to Song - + Voeg toe &aan lied - + R&emove - + V&erwijderen - - Song Book - - - - - Book: - - - - - Number: - - - - - Authors, Topics && Song Book - - - - - Theme - - - - + New &Theme - + Nieuw &Thema - + Copyright Information - + Copyright + + + + Comments + Commentaren + + + + Theme, Copyright Info && Comments + Thema, Copyright && Commentaren + + + + Add Author + Voeg auteur toe + + + + This author does not exist, do you want to add them? + Deze auteur bestaat nog niet, toevoegen? + + + + 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. + 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. + + + + Add Topic + Voeg onderwerp toe + + + + This topic does not exist, do you want to add it? + Dit onderwerp bestaat nog niet, toevoegen? + + + + 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. + Geen geldig onderwerp geselecteerd. Kies een onderwerp uit de lijst of type een nieuw onderwerp en klik op "Nieuw onderwerp toevoegen". + + + + Add Book + Voeg boek toe + + + + This song book does not exist, do you want to add it? + Dit liedboek bestaat nog niet, toevoegen? + + + + You need to type in a song title. + Vul de titel van het lied in. + + + + You need to type in at least one verse. + Vul minstens de tekst van één couplet in. + + + + Warning + Waarschuwing - © - - - - - CCLI number: - - - - - Comments - - - - - Theme, Copyright Info && Comments - - - - - Save && Preview - - - - - Add Author - - - - - This author does not exist, do you want to add them? - - - - - This author is already in the list. - - - - - No Author Selected - - - - - 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. - - - - - Add Topic - - - - - This topic does not exist, do you want to add it? - - - - - This topic is already in the list. - - - - - No Topic Selected - - - - - 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. - - - - - You need to type in a song title. - - - - - You need to type in at least one verse. - - - - - You need to have an author for this song. - - - - The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + De volgorde van de coupletten klopt niet. Er is geen couplet dat overeenkomt met %s. Wel zijn %s beschikbaar. - - Warning - - - - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - - Add Book - + + Alt&ernate title: + Alt&ernate title: - - This song book does not exist, do you want to add it? - + + &Verse order: + &Verse order: - + + &Manage Authors, Topics, Song Books + &Manage Authors, Topics, Song Books + + + + Authors, Topics && Song Book + Authors, Topics && Song Book + + + + This author is already in the list. + This author is already in the list. + + + + This topic is already in the list. + This topic is already in the list. + + + + Book: + Boek: + + + + Number: + Nummer: + + + + You need to have an author for this song. + You need to have an author for this song. + + + You need to type some text in to the verse. - + You need to type some text in to the verse. SongsPlugin.EditVerseForm - + Edit Verse - + Couplet bewerken - + &Verse type: + Co&uplet type: + + + + &Insert + &Invoegen + + + + SongsPlugin.ExportWizardForm + + + Song Export Wizard - - &Insert + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. SongsPlugin.ImportWizardForm - - - Song Import Wizard - - - - - Welcome to the Song Import Wizard - - - - - 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. - - - - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - OpenLP 2.0 - - - - - openlp.org 1.x - + Song Import Wizard + Lied import assistent - OpenLyrics - + 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. + 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. - - OpenSong - - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - - Generic Document/Presentation - - - - - EasiSlides - - - - - EasyWorship - - - - - SongBeamer - - - - - Filename: - - - - - Browse... - - - - - 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. - - - - + Add Files... - - - - - Remove File(s) - - - - - 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. - - - - - The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - Importing - - - - - Please wait while your songs are imported. - + Toevoegen... - Ready. - + Remove File(s) + Verwijder bestand(en) - - %p% - + + Filename: + Bestandsnaam: - - No OpenLP 2.0 Song Database Selected - + + Please wait while your songs are imported. + Please wait while your songs are imported. - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - - - - - Select OpenLP 2.0 Database File - - - - - OpenLP 2.0 Databases - - - - - Select openlp.org 1.x Database File - - - - - openlp.org v1.x Databases - - - - - Select OpenLyrics Files - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Words Of Worship Song Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - - Songs Of Felloship Song Files - - - - + Select Document/Presentation Files - + Select Document/Presentation Files - - Select EasiSlides songfile - + + Generic Document/Presentation + Generic Document/Presentation - - Select EasyWorship Database File - + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Select SongBeamer Files - + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - SongBeamer files - - - - - Starting import... - - - - - Importing "%s"... - + + 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. + 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. Administered by %s + Administered by %s + + + + OpenLP 2.0 Databases + OpenLP 2.0 Databases + + + + openlp.org v1.x Databases + openlp.org v1.x Databases + + + + Words Of Worship Song Files + Words Of Worship Song Files + + + + Songs Of Fellowship Song Files - - Importing %s... + + SongBeamer Files + + + + + SongShow Plus Song Files + + + + + You need to specify at least one document or presentation file to import from. + + + + + Foilpresenter Song Files SongsPlugin.MediaItem - - - Search: - - - - - Search - - - Song Maintenance - - - - Maintain the lists of authors, topics and books - + Maintain the lists of authors, topics and books - - Entire Song - - - - + Titles - + Titels - + Lyrics - + Liedtekst - - Authors - - - - - Themes - - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + Delete Song(s)? + + + + CCLI License: + CCLI Licentie: + + + + Entire Song + Gehele lied - + Are you sure you want to delete the %n selected song(s)? + Are you sure you want to delete the %n selected song(s)? - - - CCLI License: - - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - - Song Book Maintenance - - - - + &Name: - + &Naam: - + &Publisher: - + &Uitgever: You need to type in a name for the book. + Er moet een naam worden opgegeven. + + + + Song Book Maintenance + Onderhoud Liedboeken + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. SongsPlugin.SongImport - + copyright - - - - - © - - - - - Author unknown - + copyright SongsPlugin.SongImportForm - - Finished import. - - - - + Your song import failed. - + Lied import mislukt. SongsPlugin.SongMaintenanceForm - - Song Maintenance - - - - - Authors - - - - - Topics - - - - - Song Books - - - - - &Add - - - - - &Edit - - - - - &Delete - - - - - Could not add your author. - - - - - This author already exists. - - - - - Could not add your topic. - - - - - This topic already exists. - - - - - Could not add your book. - - - - - This book already exists. - - - - - Could not save your changes. - - - - - The author %s already exists. Would you like to make songs with author %s use the existing author %s? - - - - - Could not save your modified author, because the author already exists. - - - - - The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - - - - - Could not save your modified topic, because it already exists. - - - - - The book %s already exists. Would you like to make songs with book %s use the existing book %s? - - - - + Delete Author - + Auteur verwijderen - + Are you sure you want to delete the selected author? - + Weet u zeker dat u de auteur wilt verwijderen? - - This author cannot be deleted, they are currently assigned to at least one song. - - - - - No author selected! - - - - + Delete Topic - + Onderwerp verwijderen - + Are you sure you want to delete the selected topic? - + Weet u zeker dat u dit onderwerp wilt verwijderen? - - This topic cannot be deleted, it is currently assigned to at least one song. - - - - - No topic selected! - - - - + Delete Book - + Verwijder boek - + Are you sure you want to delete the selected book? - + Weet u zeker dat u dit boek wilt verwijderen? - + + Could not add your author. + Kon de auteur niet toevoegen. + + + + This author already exists. + Deze auteur bestaat al. + + + + Could not add your topic. + Kon dit onderwerp niet toevoegen. + + + + This topic already exists. + Dit onderwerp bestaat al. + + + + Could not add your book. + Kon dit boek niet toevoegen. + + + + This book already exists. + Dit boek bestaat al. + + + + Could not save your changes. + De wijzigingen kunnen niet opgeslagen worden. + + + + Could not save your modified topic, because it already exists. + Could not save your modified topic, because it already exists. + + + + This author cannot be deleted, they are currently assigned to at least one song. + This author cannot be deleted, they are currently assigned to at least one song. + + + + This topic cannot be deleted, it is currently assigned to at least one song. + This topic cannot be deleted, it is currently assigned to at least one song. + + + This book cannot be deleted, it is currently assigned to at least one song. - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - + + Could not save your modified author, because the author already exists. + Could not save your modified author, because the author already exists. + + + + The author %s already exists. Would you like to make songs with author %s use the existing author %s? + The author %s already exists. Would you like to make songs with author %s use the existing author %s? + + + + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? + + + + The book %s already exists. Would you like to make songs with book %s use the existing book %s? + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5069,91 +4810,83 @@ The encoding is responsible for the correct character representation. Songs Mode - + Lied instellingen Enable search as you type - + Zoeken tijdens het typen Display verses on live tool bar - + Coupletten weergeven op live werkbalk Update service from song edit - + Liturgie bijwerken met bewerkt lied Add missing songs when opening service - + Ontbrekende liederen toevoegen bij het openen van de liturgie SongsPlugin.TopicsForm - + Topic Maintenance - + Onderwerp onderhoud - + Topic name: - + Onderwerp naam: You need to type in a topic name. - + U moet een onderwerp invullen. SongsPlugin.VerseType - + Verse - + Couplet Chorus - + Refrein + + + + Bridge + Bridge + + + + Pre-Chorus + Tussenspel - Bridge - - - - - Pre-Chorus - - - - Intro - + Intro - + Ending - + Eind - + Other - - - - - SongsPlugin.XML - - - Author unknown - + Overig 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 @@ AlertPlugin.AlertForm - + No Parameter found - + Nenhum Parâmetro encontrado - + You have not entered a parameter to be replaced. Do you want to continue anyway? - + Você não entrou com um parâmetro para ser substituído. +Ainda deseja continuar? - + No Placeholder found - + Nenhum lugar marcado foi encontrado - + The alert text does not contain '<>'. Do want to continue anyway? - + O texto de alerta não contém '<>'. +Ainda deseja continuar? AlertsPlugin - + &Alert &Alerta - + Show an alert message. Exibir uma mensagem de alerta. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Plugin de Alertas</strong><br />O plugin de alertas controla a exibição de alertas de berçário na tela de apresentação - + Alert name singular - + Alerta - + Alerts name plural Alertas - + Alerts container title - Alertas + Alertas AlertsPlugin.AlertForm - + Alert Message Mensagem de Alerta - + Alert &text: &Texto de Alerta: - + &New &Novo - + &Save &Salvar - - - &Delete - &Deletar - Displ&ay @@ -99,19 +96,19 @@ Do want to continue anyway? Exibir && &Fechar - + New Alert Novo Alerta - + You haven't specified any text for your alert. Please type in some text before clicking New. Você não digitou nenhum texto para o seu alerta. Por favor digite algum texto antes de clicar em Novo. - + &Parameter: - + &Parâmetro: @@ -125,259 +122,214 @@ Do want to continue anyway? AlertsPlugin.AlertsTab - + Font Fonte - + Font name: Nome da fonte: - + Font color: Cor da fonte: - + Background color: Cor do plano de fundo: - + Font size: Tamanho da fonte: - - pt - pt - - - + Alert timeout: Tempo limite para o Alerta: + + + BibleDB.Wizard - - s - s + + Importing testaments... %s + Importando testamentos... %s - - Location: - Localização: + + Importing testaments... done. + Importando testamentos... concluído. - - Preview - Pré-Visualização + + Importing books... %s + Importando livros... %s - - OpenLP 2.0 - OpenLP 2.0 + + Importing verses from %s... + Importing verses from <book name>... + Importando versículos de %s... - - Top - Topo - - - - Middle - Meio - - - - Bottom - Rodapé + + Importing verses... done. + Importando versículos... concluído. BiblePlugin.HTTPBible - + Download Error - + Erro no Download - + Parse Error - + Erro na Leitura - + 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. - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. - + Houve um problema extraindo os versículos selecionados. Se este erro continuar ocorrendo, por favor considere relatar um bug. BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? - + Bible not fully loaded - + A Bíblia não foi carregada completamente BiblesPlugin - + &Bible &Bíblia - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Plugin da Bíblia</strong><br />Este plugin permite exibir versículos bíblicos de diferentes fontes durante o culto. - + Import a Bible - + Importar Bíblia - + Add a new Bible - + Adicionar nova Bíblia - + Edit the selected Bible - + Editar a Bíblia selecionada - + Delete the selected Bible - + Deletar a Bíblia selecionada - - Preview - Pré-Visualização - - - + Preview the selected Bible - + Pré-Visualizar a Bíblia selecionada - - Live - Projeção - - - + Send the selected Bible live - + Projetar a Bíblia selecionada - - Service - - - - + Add the selected Bible to the service - + Adicione a Bíblia selecionada à Lista de Exibição - + Bible name singular - Bíblia + Bíblia - + Bibles name plural Bíblias - + Bibles container title - Bíblias + Bíblias - - &Import - &Importar - - - - &Add - %Adicionar - - - - &Edit - &Editar - - - - &Delete - &Deletar - - - + No Book Found - Nenhum Livro Encontrado + Nenhum Livro Encontrado - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. - + Nenhum livro correspondente foi encontrado nesta Bíblia. Verifique se você digitou o nome do livro corretamente. BiblesPlugin.BibleManager - + Scripture Reference Error - Erro de Referência na Escritura. + Erro de Referência na Escritura - + Web Bible cannot be used - + Não é possível usar a Bíblia Online + + + + Text Search is not available with Web Bibles. + A Pesquisa de Texto não está disponível para Bíblias Online. - Text Search is not available with Web Bibles. - - - - 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. - + 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. - + No Bibles available - + Nenhuma Bíblia disponível - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - + Nenhuma Bíblia instalada atualmente. Por favor, utilize o Assistente de Importação para instalar uma ou mais Bíblias. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display Exibição do Versículo - + Only show new chapter numbers Somente mostrar números de capítulos novos - + Layout style: Estilo do Layout: - + Display style: Estilo de Exibição: - + Bible theme: Tema da Bíblia: - + Verse Per Slide Versículos por Slide - + Verse Per Line Versículos por Linha - + Continuous Contínuo - + No Brackets Sem Parênteses - + ( And ) ( E ) - + { And } { E } - + [ And ] [ E ] - + Note: Changes do not affect verses already in the service. Nota: Mudanças não afetam os versículos que já estão no culto. - + Display second Bible verses - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - - - BiblesPlugin.ImportWizardForm - + Bible Import Wizard Assistente de Importação de Bíblia - - Welcome to the Bible Import Wizard - Bem Vindo ao assistente de Importação de Bíblias - - - + 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. 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. - - Select Import Source - Selecionar Origem da Importação - - - - Select the import format, and where to import from. - Selecione o formato, e de onde importar. - - - - Format: - Formato: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download Download da Internet - - File location: - Local do arquivo: - - - - Books location: - Localização dos livros: - - - - Verse location: - Localização do Versículo: - - - - Bible filename: - Nome do arquivo da Bíblia: - - - + Location: Localização: - + Crosswalk - Crosswalk + Crosswalk - + BibleGateway - BibleGateway + BibleGateway - + Bible: Bíblia: - + Download Options Opções de Download - + Server: Servidor: - + Username: Nome de Usuário: - + Password: Senha: - + Proxy Server (Optional) Servidor Proxy (Opcional) - + License Details Detalhes da Licença - + Set up the Bible's license details. Configurar detalhes de licença da Bíblia. - + Version name: Nome da Versão: - + Copyright: Direito Autoral: - - Importing - Importando - - - + Please wait while your Bible is imported. Por favor aguarde enquanto a sua Bíblia é importada. - - Ready. - Pronto. - - - - Invalid Bible Location - Localização da Bíblia Inválida - - - - You need to specify a file to import your Bible from. - Você precisa especificar um arquivo para importar a sua Bíblia. - - - - Invalid Books File - Arquivo de Livros Inválido - - - + You need to specify a file with books of the Bible to use in the import. Você precisa especificar um arquivo com os livros da Bíblia para usar na importação. - - Invalid Verse File - Arquivo de Versículo Inválido - - - + You need to specify a file of Bible verses to import. Você precisa especificar um arquivo de Versículos da Bíblia para importar. - - Invalid OpenSong Bible - Bíblia do OpenSong Inválida - - - - You need to specify an OpenSong Bible file to import. - Você precisa especificar uma Bíblia do OpenSong para importar. - - - - Empty Version Name - Nome da Versão Vazio - - - + You need to specify a version name for your Bible. - Você precisa especificar um nome de versão para a sua Bíblia + Você precisa especificar um nome de versão para a sua Bíblia. - - Empty Copyright - Limpar Direito Autoral - - - + Bible Exists Bíblia Existe - - Open OSIS File - Abrir arquivo OSIS - - - - Open Books CSV File - Abrir arquivo CSV de Livros - - - - Open Verses CSV File - Abrir arquivo CSV de Versículos - - - - Open OpenSong Bible - Abrir Biblia do OpenSong - - - - Starting import... - Iniciando importação... - - - - Finished import. - Importação Finalizada. - - - + Your Bible import failed. A sua Importação da Bíblia falhou. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Você precisa definir os direitos autorais da sua Bíblia. Traduções em Domínio Público devem ser marcadas como tal. - + This Bible already exists. Please import a different Bible or first delete the existing one. Esta Bíblia já existe. Importe uma Bíblia diferente ou apague a existente primeiro. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registrando Bíblia... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - + Bíblia registrada. Note que os versos serão baixados de acordo +com o uso, portanto uma conexão com a internet é necessária. - - openlp.org 1.x - - - - + Permissions: - + Permissões: - + CSV File - + Arquivo CSV - + openlp.org 1.x bible - + Bíblia do openlp.org 1.x - - All Files - Todos os Arquivos - - - + Bibleserver - + Bibleserver - - 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. - + + Bible file: + Arquivo de Bíblia + + + + Testaments file: + Arquivo de Testamentos + + + + Books file: + Arquivo de Livros + + + + Verses file: + Arquivo de Versículos + + + + You have not specified a testaments file. Do you want to proceed with the import? + Você não especificou um arquivo de Testamentos. Deseja prosseguir com a importação? BiblesPlugin.MediaItem - + Quick Rápido - - Advanced - Avançado - - - - Version: - Versão: - - - - Search type: - Tipo de busca: - - - + Find: Buscar: - - Search - Pesquisar - - - + Results: Resultados: - + Book: Livro: - + Chapter: Capítulo: - + Verse: Versículo: - + From: De: - + To: Para: - - Verse Search - Busca de Versículos - - - + Text Search Busca por Texto - + Clear Limpar - + Keep Manter - + Second: - + Segundo: - - - BiblesPlugin.OpenLP1Import - - Importing %s... + + Scripture Reference BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... - + Importando %s %s... BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Detectando codificação (isto pode levar alguns minutos)... - + Importing %s %s... Importing <book name> <chapter>... - + Importando %s %s... CustomPlugin - + <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. - + <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. @@ -913,7 +699,7 @@ demand and thus an internet connection is required. Custom Display - Exibição Customizada + Exibição Personalizada @@ -924,210 +710,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides - Editar Slides Customizados + Editar Slides Personalizados - - Move slide up one position. - Mover slide uma posição acima. - - - - Move slide down one position. - Mover slide uma posição para baixo. - - - + &Title: &Título: - + Add a new slide at bottom. Adicionar um novo slide no final. - + Edit the selected slide. Editar o slide selecionado. - + Edit all the slides at once. Editar todos os slides de uma vez. - - Delete the selected slide. - Deletar a Bíblia selecionada. - - - + Split Slide Dividir Slide - + Split a slide into two by inserting a slide splitter. Dividir um slide em dois, inserindo um divisor de slides. - + The&me: The&ma: - + &Credits: &Créditos: - - Save && Preview - Salvar && Pré-Visualizar - - - + You need to type in a title. Você precisa digitar um título. - + You need to add at least one slide Você precisa adicionar pelo menos um slide - - &Add - %Adicionar - - - - &Edit - &Editar - - - + Ed&it All - - - - - &Delete - &Deletar - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Você não selecionou um item para editar. - - - - You haven't selected an item to delete. - Você não selecionou um item para apagar. + &Editar Todos CustomsPlugin - - Import - + + Import a Custom + Importar um Slide Personalizado + + + + Load a new Custom + Abrir um novo Slide Personalizado + + + + Add a new Custom + Adicionar um novo Slide Personalizado + + + + Edit the selected Custom + Editar o Slide selecionado + + + + Delete the selected Custom + Apagar o Slide selecionado + + + + Preview the selected Custom + Pré-visualizar o Slide selecionado + + + + Send the selected Custom live + Projetar o Slide selecionado - Import a Custom - - - - - Load - - - - - Load a new Custom - - - - - Add - - - - - Add a new Custom - - - - - Edit - Editar - - - - Edit the selected Custom - - - - - Delete - Deletar - - - - Delete the selected Custom - - - - - Preview - Pré-Visualização - - - - Preview the selected Custom - - - - - Live - Projeção - - - - Send the selected Custom live - - - - - Service - - - - Add the selected Custom to the service - + Adicionar o Slide selecionado à Lista de Exibição - + Custom name singular Customizado - + Customs name plural - + Custom container title Customizado @@ -1136,329 +834,208 @@ demand and thus an internet connection is required. ImagePlugin - + <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. - <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. + <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. + + + + Load a new Image + Carregar um nova Imagem + + + + Add a new Image + Adicionar uma nova Imagem + + + + Edit the selected Image + Editar a Imagem selecionada - Load - + Delete the selected Image + Deletar a Imagem selecionada - Load a new Image - - - - - Add - - - - - Add a new Image - - - - - Edit - Editar - - - - Edit the selected Image - - - - - Delete - Deletar - - - - Delete the selected Image - - - - - Preview - Pré-Visualização - - - Preview the selected Image - + Pré-Visualizar a Imagem selecionada - - Live - Projeção - - - + Send the selected Image live - + Projetar a Imagem selecionada - - Service - - - - + Add the selected Image to the service - + Adicionar Imagem selecionada à Lista de Exibição - + Image name singular - Imagem + Imagem - + Images name plural - + Imagens - + Images container title - + Imagens + + + + ImagePlugin.ExceptionDialog + + + Select Attachment + Selecionar Anexo ImagePlugin.MediaItem - + Select Image(s) Selecionar Imagem(s) - - All Files - Todos os Arquivos - - - - Replace Live Background - Trocar Plano de Fundo da Projeção - - - - Replace Background - Substituir Plano de Fundo - - - - Reset Live Background - Restabelecer o Plano de Fundo da Projeção - - - + You must select an image to delete. Você precisa selecionar uma imagem para apagar. - - Image(s) - Imagem(s) + + You must select an image to replace the background with. + Você precisa selecionar uma imagem para definir como plano de fundo. + + + + Missing Image(s) + Imagem(s) não encontrada(s) + + + + The following image(s) no longer exist: %s + As seguintes imagens não existem: %s + + + + The following image(s) no longer exist: %s +Do you want to add the other images anyway? + As seguintes imagens não existem: %s +Deseja continuar adicionando as outras imagens? - You must select an image to replace the background with. - Você precisa selecionar uma imagem para definir como plano de fundo. - - - - Reset Background - - - - - Missing Image(s) - - - - - The following image(s) no longer exist: %s - - - - - The following image(s) no longer exist: %s -Do you want to add the other images anyway? - - - - - Live Background Error - - - - There was a problem replacing your background, the image file "%s" no longer exists. - + Ocorreu um erro ao substituir o plano de fundo da Projeção. O arquivo de imagem "%s" não existe. MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. <strong>Plugin de Mídia</strong><br />O plugin de mídia faz a reprodução de áudio e vídeo. - - Load - - - - + Load a new Media - + Carregar nova Mídia - - Add - - - - + Add a new Media - + Adicionar nova Mídia - - Edit - Editar - - - + Edit the selected Media - + Editar Mídia selecionada - - Delete - Deletar - - - + Delete the selected Media - + Excluir a Mídia selecionada - - Preview - Pré-Visualização - - - + Preview the selected Media - + Pré-visualizar a Mídia selecionada - - Live - Projeção - - - + Send the selected Media live - - - - - Service - - - - - Add the selected Media to the service - + Projetar a Mídia selecionada + Add the selected Media to the service + Adicionar a Mídia selecionada à Lista de Exibição + + + Media name singular Mídia - + Media name plural Mídia - + Media container title - Mídia + Mídia MediaPlugin.MediaItem - - Media - Mídia - - - + Select Media Selecionar Mídia - - Replace Live Background - Trocar Plano de Fundo da Projeção - - - - Replace Background - Substituir Plano de Fundo - - - + You must select a media file to delete. Você deve selecionar um arquivo de mídia para apagar. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + Arquivo de Mídia não encontrado - + The file %s no longer exists. - - - - - Reset Background - + O arquivo %s não existe. You must select a media file to replace the background with. - Você precisa definir um arquivo de mídia para definir como plano de fundo. - - - - Live Background Error - + Você precisa selecionar um arquivo de mídia para definir como plano de fundo. There was a problem replacing your background, the media file "%s" no longer exists. + Ocorreu um erro ao substituir o plano de fundo. O arquivo de mídia "%s" não existe. + + + + Videos (%s);;Audio (%s);;%s (*) @@ -1466,35 +1043,25 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - Mídia - - - Media Display - + Exibição de Mídia - + Use Phonon for video playback - + Usar o Phonon para exibição de vídeo OpenLP - + Image Files Arquivos de Imagem OpenLP.AboutForm - - - About OpenLP - Sobre o OpenLP - 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. - + 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. - - About - Sobre - - - + Credits Créditos @@ -1532,7 +1100,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr compilação %s - + 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. - + 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. - + 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 OpenLP.AdvancedTab - - Advanced - Avançado - - - + UI Settings Configurações da Interface - + Number of recent files to display: Número de arquivos recentes a serem exibidos: - + Remember active media manager tab on startup Lembrar aba ativa do gerenciador de mídia ao iniciar - + Double-click to send items straight to live - + Clicar duas vezes para enviar ítens ao vivo - + Expand new service items on creation - + Expandir novos itens da lista de exibição - + Enable application exit confirmation - + Habilitar confirmação de saída do programa - + Mouse Cursor + Ponteiro do Mouse + + + + Hide mouse cursor when over display window - - Hide the mouse cursor when moved over the display window + + Default Image + + + + + Background color: + Cor do plano de fundo: + + + + Image file: + + + + + Open File + Abrir Arquivo + + + + OpenLP.DisplayTagDialog + + + Edit Selection + Editar Seleção + + + + Update + Update + + + + Description + Descrição + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + Padrão + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - Deletar - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Erro no Update - + Tag "n" already defined. - + Tag %s already defined. @@ -1849,67 +1475,103 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. - + 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. - + Error Occurred Ocorreu um Erro - + Send E-Mail - + Enviar E-Mail - + Save to File - + Salvar para um Arquivo + + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + Por favor, descreva o que você estava fazendo para causar este erro +(Mínimo de 20 caracteres) + + + + Attach File + Anexar Arquivo + + + + Description characters to enter : %s + Caracteres que podem ser escritos na descrição: %s OpenLP.ExceptionForm - + Platform: %s - + Plataforma: %s + - + + Save Crash Report + Salvar Relatório de Travamento + + + + Text files (*.txt *.log *.text) + Arquivos de texto (*.txt *.log *.text) + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s --- Library Versions --- %s - + **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 + - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 Please add the information that bug reports are favoured written in English. - + *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. OpenLP.FileRenameForm - + File Rename - + Renomear arquivo - + New File Name: - + Novo nome de Arquivo: - + File Copy - + Copiar arquivo OpenLP.GeneralTab - + General Geral - + Monitors Monitores - + Select monitor for output display: Selecione um monitor para exibição: - + Display if a single screen - + Exibir em caso de tela única - + Application Startup Inicialização da Aplicação - + Show blank screen warning Exibir alerta de tela em branco - + Automatically open the last service Abrir a última Lista de Exibição automaticamente - + Show the splash screen Exibir a tela inicial - + Application Settings Configurações da Aplicação - + Prompt to save before starting a new service Perguntar sobre salvamento antes de iniciar uma nova lista - + Automatically preview next item in service Pré-visualizar automaticamente o próximo item na Lista de Exibição - + Slide loop delay: Atraso no loop de slide: - + sec - seg + seg - + CCLI Details Detalhes de CCLI - - CCLI number: - Número CCLI: - - - + SongSelect username: Usuário SongSelect: - + SongSelect password: Senha do SongSelect: - + Display Position Posição do Display - + X X - + Y Y - + Height Altura - + Width Largura - + Override display position Modificar posição do display - + Screen - + Tela - + primary - + primário + + + + Check for updates to OpenLP + Procurar por updates do OpenLP @@ -2082,417 +1758,384 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display - + Exibição do OpenLP OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Arquivo - + &Import &Importar - + &Export &Exportar - + &View &Visualizar - + M&ode M&odo - + &Tools &Ferramentas - + &Settings &Configurações - + &Language &Idioma - + &Help &Ajuda - + Media Manager Gerenciador de Mídia - + Service Manager - Gerenciador de Lista de Exibição + Lista de Exibição - + Theme Manager Gerenciador de Temas - + &New &Novo - - New Service - Novo Culto - - - - Create a new service. - Criar uma nova Lista de Exibição. - - - + Ctrl+N Ctrl+N - + &Open &Abrir - - Open Service - Abrir Lista de Exibição - - - + Open an existing service. Abrir uma Lista de Exibição existente. - + Ctrl+O Ctrl+O - + &Save &Salvar - - Save Service - Salvar Lista de Exibição - - - + Save the current service to disk. Salvar a Lista de Exibição no disco. - + Ctrl+S Ctrl+S - + Save &As... Salvar &Como... - + Save Service As Salvar Lista de Exibição Como - + Save the current service under a new name. Salvar a Lista de Exibição atual com um novo nome. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit S&air - + Quit OpenLP Fechar o OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... &Configurar o OpenLP... - + &Media Manager &Gerenciador de Mídia - + Toggle Media Manager Alternar Gerenciador de Mídia - + Toggle the visibility of the media manager. Alternar a visibilidade do gerenciador de mídia. - + F8 F8 - + &Theme Manager &Gerenciador de Temas - + Toggle Theme Manager Alternar para Gerenciamento de Temas - + Toggle the visibility of the theme manager. Alternar a visibilidade do Gerenciador de Temas. - + F10 F10 - + &Service Manager - &Gerenciador de Lista de Exibição + &Lista de Exibição - + Toggle Service Manager Alternar para o Gerenciador de Lista de Exibição - + Toggle the visibility of the service manager. - + Alternar visibilidade da Lista de Exibição. - + F9 F9 - + &Preview Panel &Painel de Pré-Visualização - + Toggle Preview Panel Alternar para Painel de Pré-Visualização - + Toggle the visibility of the preview panel. - + Alternar a visibilidade da coluna de pré-visualização. - + F11 F11 - + &Live Panel - + &Coluna da Projeção - + Toggle Live Panel - + Alternar Coluna da Projeção - + Toggle the visibility of the live panel. - + Alternar a visibilidade da coluna de projeção. - + F12 F12 - + &Plugin List &Lista de Plugins - + List the Plugins Listar os Plugins - + Alt+F7 Alt+F7 - + &User Guide &Guia do Usuário - + &About &Sobre - + More information about OpenLP Mais informações sobre o OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ajuda Online - + &Web Site &Web Site - + &Auto Detect &Auto-detectar - + Use the system language, if available. Usar o idioma do sistema, caso disponível. - + Set the interface language to %s Definir o idioma da interface como %s - + Add &Tool... Adicionar &Ferramenta... - + Add an application to the list of tools. Adicionar uma aplicação à lista de ferramentas. - + &Default &Padrão - + Set the view mode back to the default. - + Reverter o modo de visualização de volta ao padrão. - + &Setup &Configurar - + Set the view mode to Setup. - + Configurar o modo de visualização para Setup. - + &Live &Ao Vivo - + Set the view mode to Live. - + Configurar o modo de visualização como Projeção. - + 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/. - + 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/. - + OpenLP Version Updated Versão do OpenLP Atualizada - + OpenLP Main Display Blanked Tela Principal do OpenLP em Branco - + The Main Display has been blanked out A Tela Principal foi apagada - - Save Changes to Service? - Salvar Mudanças na Lista de Exibição? - - - - Your service has changed. Do you want to save those changes? - A sua Lista de Exibição teve mudanças. Você deseja salvá-la? - - - + Default Theme: %s Tema padrão: %s @@ -2503,101 +2146,101 @@ You can download the latest version from http://openlp.org/. Português - + Configure &Shortcuts... - + Configurar &Atalhos... - + Close OpenLP + Fechar o OpenLP + + + + Are you sure you want to close OpenLP? + Você tem certeza de que quer fechar o OpenLP? + + + + Print the current Service Order. - - Are you sure you want to close OpenLP? + + Ctrl+P + Ctrl+P + + + + &Configure Display Tags + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. OpenLP.MediaManagerItem - + No Items Selected Nenhum Item Selecionado - + &Add to selected Service Item &Adicionar à Lista de Exibição selecionada - + You must select one or more items to preview. Você precisa selecionar um ou mais itens para pré-visualizar. - + You must select one or more items to send live. - + Você precisa selecionar um ou mais itens para projetar. - + You must select one or more items. Você precisa selecionar um ou mais itens. - - No items selected - - - - - You must select one or more items - Você precisa selecionar um ou mais itens - - - - No Service Item Selected - - - - + You must select an existing service item to add to. - + Você precisa selecionar um item da lista ao qual adicionar. - + Invalid Service Item - + Item da Lista de Exibição inválido - + You must select a %s service item. - + Você precisa selecionar um item %s da Lista de Exibição. OpenLP.PluginForm - + Plugin List Lista de Plugins - + Plugin Details Detalhes do Plugin - - - Version: - Versão: - - - - About: - Sobre: - Status: @@ -2614,237 +2257,319 @@ You can download the latest version from http://openlp.org/. Inativo - + %s (Inactive) %s (Inativo) - + %s (Active) %s (Ativo) - + %s (Disabled) %s (Desabilitado) - OpenLP.ServiceItemEditForm + OpenLP.PrintServiceDialog - - Reorder Service Item - Reordenar Item da Lista de Exibição + + Fit Page + - - Delete - Deletar + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Reordenar Item da Lista de Exibição OpenLP.ServiceManager - - New Service - Nova Lista de Exibição - - - - Create a new service - Criar uma nova Lista de Exibição - - - - Open Service - Abrir Lista de Exibição - - - + Load an existing service Carregar uma Lista de Exibição existente - - Save Service - Salvar Lista de Exibição - - - + Save this service Salvar esta Lista de Exibição - - Theme: - Tema: - - - + Select a theme for the service Selecione um tema para a Lista de Exibição - + Move to &top Mover para o &topo - + Move item to the top of the service. Mover item para o topo da Lista de Exibição. - + Move &up Mover para &cima - + Move item up one position in the service. Mover item uma posição acima na Lista de Exibição. - + Move &down Mover para &baixo - + Move item down one position in the service. Mover item uma posição abaixo na Lista de Exibição. - + Move to &bottom Mover para o &final - + Move item to the end of the service. Mover item para o final da Lista de Exibição. - + &Delete From Service &Deletar da Lista de Exibição - + Delete the selected item from the service. Deletar o item selecionado da Lista de Exibição. - + &Add New Item &Adicionar um Novo Item - + &Add to Selected Item &Adicionar ao Item Selecionado - + &Edit Item &Editar Item - + &Reorder Item &Reordenar Item - + &Notes &Notas - - &Preview Verse - &Pré-Visualizar Versículo - - - - &Live Verse - &Versículo na Projeção - - - + &Change Item Theme &Alterar Tema do Item - + File is not a valid service. The content encoding is not UTF-8. - + O arquivo não é uma lista válida. +A codificação do conteúdo não é UTF-8. - + File is not a valid service. - + Arquivo não é uma Lista de Exibição válida. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + O item não pode ser exibido porque o plugin necessário para visualizá-lo está faltando ou está inativo - + &Expand all - + &Expandir todos - + Expand all the service items. - + Expandir todos os itens da lista. - + &Collapse all - + &Recolher todos - + Collapse all the service items. - + Ocultar todos os subitens da lista. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File + Abrir Arquivo + + + + OpenLP Service Files (*.osz) + Lista de Exibição do OpenLP (*.osz) + + + + Moves the selection down the window. + Move a seleção para baixo dentro da janela. + + + + Move up + Mover para cima + + + + Moves the selection up the window. + Move a seleção para cima dentro da janela. + + + + Go Live + Projetar + + + + Send the selected item to Live. + Enviar o item selecionado para a Projeção. + + + + Modified Service + Lista de Exibição Modificada + + + + Notes: + Anotações: + + + + &Start Time - - OpenLP Service Files (*.osz) + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? OpenLP.ServiceNoteForm - + Service Item Notes Item de Notas de Culto @@ -2852,7 +2577,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP Configurar o OpenLP @@ -2862,700 +2587,693 @@ The content encoding is not UTF-8. Customize Shortcuts - + Personalizar Atalhos Action - + Ação Shortcut - + Atalho - + Default: %s - + Padrão: %s - + Custom: - + Personalizado: - + None - + Nenhum Duplicate Shortcut - + Atalho Duplicado The shortcut "%s" is already assigned to another action, please use a different shortcut. + O atalho "%s" já está designado para outra ação, escolha um atalho diferente. + + + + Alternate OpenLP.SlideController - - Live - Projeção - - - - Preview - Pré-Visualização - - - + Move to previous Mover para o anterior - + Move to next Mover para o próximo - + Hide - + Ocultar - + Move to live Mover para projeção - + Start continuous loop Iniciar repetição contínua - + Stop continuous loop Parar repetição contínua - - s - s - - - + Delay between slides in seconds Intervalo entre slides em segundos - + Start playing media Iniciar a reprodução de mídia - + Go To - + Ir Para - + Edit and reload song preview - + Editar e recarregar pré-visualização da música - + Blank Screen - + Apagar Tela - + Blank to Theme - + Apagar e deixar Fundo - + Show Desktop + Mostrar a Área de Trabalho + + + + Previous Slide + Slide Anterior + + + + Next Slide + Próximo Slide + + + + Previous Service + Lista Anterior + + + + Next Service + Próxima Lista + + + + Escape Item OpenLP.SpellTextEdit - + Spelling Suggestions + Sugestões de Ortografia + + + + Formatting Tags + + + + + OpenLP.StartTimeForm + + + Item Start Time - - Formatting Tags + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: OpenLP.ThemeForm - - All Files - Todos os Arquivos - - - + Select Image - Selecionar Imagem + Selecionar Imagem - + Theme Name Missing - + Faltando Nome do Tema - + There is no name for this theme. Please enter one. - + Não há nome neste tema. Por favor forneça um. - + Theme Name Invalid - + Nome do Tema Inválido - + Invalid theme name. Please enter one. - + O nome do tema é inválido. Por favor forneça um. - + (%d lines per slide) - + (%d linhas por slide) OpenLP.ThemeManager - - New Theme - Novo Tema - - - + Create a new theme. Criar um novo tema. - + Edit Theme Editar Tema - + Edit a theme. - + Editar um tema. - + Delete Theme - Deletar Tema + Excluir Tema - + Delete a theme. - + Excluir um tema. - + Import Theme Importar Tema - + Import a theme. - + Importar um tema. - + Export Theme Exportar Tema - + Export a theme. - + Exportar um tema. - + &Edit Theme - + &Editar Tema - + &Delete Theme &Apagar Tema - + Set As &Global Default - + Definir como Padrão &Global - + %s (default) - + %s (padrão) - + You must select a theme to edit. - + Você precisa selecionar um tema para editar. - + You are unable to delete the default theme. - + Você não pode apagar o tema padrão. - + You have not selected a theme. Você não selecionou um tema. - + Save Theme - (%s) Salvar Tema - (%s) - + Theme Exported - + Tema Exportado - + Your theme has been successfully exported. - + Seu tema foi exportado com sucesso. - + Theme Export Failed - + Falha ao Exportar Tema - + Your theme could not be exported due to an error. O tema não pôde ser exportado devido a um erro. - + Select Theme Import File Selecionar Arquivo de Importação de Tema - + File is not a valid theme. The content encoding is not UTF-8. O arquivo não é um tema válido. A codificação do conteúdo não é UTF-8. - + File is not a valid theme. O arquivo não é um tema válido. - + Theme %s is used in the %s plugin. - + O tema %s é usado no plugin %s. - + &Copy Theme - + &Copiar Tema - + &Rename Theme - + &Renomear Tema - + &Export Theme - + &Exportar Tema - + You must select a theme to rename. - + Você precisa selecionar um tema para renomear. - + Rename Confirmation - + Confirmar Renomeação - + Rename %s theme? - + Renomear o tema %s? - + You must select a theme to delete. - + Você precisa selecionar um tema para apagar. - + Delete Confirmation - + Confirmar Apagamento - + Delete %s theme? - + Apagar o tema %s? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + Erro de Validação - + A theme with this name already exists. + Já existe um tema com este nome. + + + + OpenLP Themes (*.theme *.otz) OpenLP.ThemeWizard - + Theme Wizard - + Assistente de Tema - + Welcome to the Theme Wizard - + Bem-vindo ao Assistente de Tema - + Set Up Background - + Configurar Plano de Fundo - + Set up your theme's background according to the parameters below. - + Configure o plano de fundo de seu tema de acordo com os parâmetros abaixo. - + Background type: - + Tipo de plano de fundo: - + Solid Color Cor Sólida - + Gradient - Gradiente + Gradiente - - Image - Imagem - - - + Color: - Cor: + Cor: - + Gradient: - Gradiente: + Gradiente: - + Horizontal - Horizontal + Horizontal - + Vertical - Vertical + Vertical - + Circular - Circular + Circular - + Top Left - Bottom Right - + Esquerda Superior - Direita Inferior - + Bottom Left - Top Right - + Esquerda Inferior - Direita Superior - - Image: - Imagem: - - - + Main Area Font Details - + Detalhes da Fonte da Área Principal - + Define the font and display characteristics for the Display text - + Font: - Fonte: + Fonte: - + Size: Tamanho: - - pt - pt + + Line Spacing: + Espaçamento das linhas: + + + + &Outline: + &Contorno: + + + + &Shadow: + &Sombra: + + + + Bold + Negrito + + + + Italic + Itálico + + + + Footer Area Font Details + Detalhes da Área de Rodapé + + + + Define the font and display characteristics for the Footer text + Defina as características do texto do Rodapé + + + + Text Formatting Details + Detalhes da Formatação da Fonte - Line Spacing: - + Allows additional display formatting information to be defined + Permite que formatações adicionais sejam feitas - &Outline: - + Horizontal Align: + Alinhamento Horizontal: + + + + Left + Esquerda - &Shadow: - - - - - Bold - Negrito - - - - Italic - - - - - Footer Area Font Details - - - - - Define the font and display characteristics for the Footer text - - - - - Text Formatting Details - - - - - Allows additional display formatting information to be defined - - - - - Horizontal Align: - - - - - Left - Esquerda - - - Right - Direita + Direita - + Center Centralizar - - Vertical Align: - - - - - Top - Topo - - - - Middle - Meio - - - - Bottom - Rodapé - - - + Output Area Locations - + Localização da Área de Saída - + Allows you to change and move the main and footer areas. - + Permite mudar e modificar as áreas principal e do rodapé. + + + + &Main Area + &Área Principal + + + + &Use default location + &Usar local padrão + + + + X position: + Posição X: + + + + px + px + + + + Y position: + Posição Y: + + + + Width: + Largura: + + + + Height: + Altura: + + + + Use default location + Usar local padrão + + + + Save and Preview + Salvar e pré-visualizar - &Main Area - - - - - &Use default location - - - - - X position: - Posição X: - - - - px - px - - - - Y position: - Posição Y: - - - - Width: - Largura: - - - - Height: - Altura: - - - - Use default location - Usar local padrão - - - - Save and Preview - - - - View the theme and save it replacing the current one or change the name to create a new theme - + Visualizar o tema e salvá-lo, substituindo o atual ou mudar o nome, criando um novo tema - + Theme name: - + Nome do tema: - - New Theme - Novo Tema - - - + 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. - + Este assistente vai ajudá-lo a criar editar seus temas. Clique no botão Próximo para começar, configurando o plano de fundo. - + Transitions: - + Transições: - + &Footer Area - + Área do &Rodapé - + Edit Theme - %s - + Editar Tema - %s OpenLP.ThemesTab - - - Themes - Temas - - - - Global Theme - - - Theme Level - + Global Theme + Tema Global + Theme Level + Nível dos Temas + + + S&ong Level Nível de &Música - + 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. 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. - + &Service Level - + Nível de &Lista de Exibição - + 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. 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. - + &Global Level - + Nível &Global - + Use the global theme, overriding any themes associated with either the service or the songs. Usar o tema global, sobrescrevendo qualquer tema associado às lista de exibição ou músicas. @@ -3563,192 +3281,576 @@ A codificação do conteúdo não é UTF-8. OpenLP.Ui - + Error - Erro + Erro + + + + &Delete + &Apagar + + + + Delete the selected item. + Apagar o item selecionado. + + + + Move selection up one position. + Mover a seleção para cima em uma posição. + + + + Move selection down one position. + Mover a seleção para baixo em uma posição. + + + + About + Sobre + + + + &Add + &Adicionar + + + + Advanced + Avançado + + + + All Files + Todos os Arquivos + + + + Bottom + Rodapé + + + + Browse... + Procurar... + + + + Cancel + Cancelar + + + + CCLI number: + Número CCLI: + + + + Create a new service. + Criar uma nova Lista de Exibição. + + + + &Edit + &Editar + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + pt + + + + Image + Imagem + + + + Import + Importar + + + + Length %s + + + + + Live + Projeção + + + + Live Background Error + + + + + Live Panel + + + + + Load + Carregar + + + + Middle + Meio + + + + New + Novo + + + + New Service + + + + + New Theme + Novo Tema + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Nenhum Item Selecionado + + + + openlp.org 1.x + openlp.org 1.x + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Abrir Lista de Exibição + + + + Preview + Pré-Visualização + + + + Preview Panel + + + + + Print Service Order + + + + + Replace Background + Substituir Plano de Fundo + + + + Replace Live Background + Trocar Plano de Fundo da Projeção + + + + Reset Background + + + + + Reset Live Background + Restabelecer o Plano de Fundo da Projeção + + + + s + The abbreviated unit for seconds + s + + + + Save && Preview + Salvar && Pré-Visualizar + + + + Search + Pesquisar + + + + You must select an item to delete. + Você precisa selecionar um item para apagar. + + + + You must select an item to edit. + Você precisa selecionar um item para editar. + + + + Save Service + Salvar Lista de Exibição + + + + Service + Lista de Exibição + + + + Start %s + + + + + Theme + Singular + Tema + + + + Themes + Plural + Temas + + + + Top + Topo + + + + Version + + + + + &Vertical Align: + + + + + Finished import. + + + + + Format: + Formato: + + + + Importing + Importando + + + + Importing "%s"... + Importando "%s"... + + + + Select Import Source + Selecionar Origem da Importação + + + + Select the import format and the location to import from. + + + + + 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. + 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". + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + Pronto. + + + + Starting import... + Iniciando importação... + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Bem Vindo ao assistente de Importação de Bíblias + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Bem-vindo ao Assistente de Importação de Música + + + + Author + Singular + + + + + Authors + Plural + Autores + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Livro de Músicas + + + + Song Books + Plural + Hinários + + + + Song Maintenance + Gerenciamento de Músicas + + + + Topic + Singular + Tópico + + + + Topics + Plural + Tópicos + + + + OpenLP.displayTagDialog + + + Configure Display Tags + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - - - Delete - Deletar + Carregar uma nova Apresentação Delete the selected Presentation - + Apagar a Apresentação selecionada - - Preview - Pré-Visualização + + Preview the selected Presentation + Pré-visualizar a Apresentação selecionada + + + + Send the selected Presentation live + Projetar a Apresentação selecionada - Preview the selected Presentation - - - - - Live - Projeção - - - - Send the selected Presentation live - - - - - Service - - - - Add the selected Presentation to the service - + Adicionar a Apresentação selecionada à Lista de Exibição - + Presentation name singular Apresentação - + Presentations name plural Apresentações - + Presentations container title - Apresentações + Apresentações PresentationPlugin.MediaItem - + Select Presentation(s) Selecionar Apresentação(ões) - + Automatic - + Automático - + Present using: Apresentar usando: - + File Exists - + O Arquivo já Existe - + A presentation with that filename already exists. Já existe uma apresentação com este nome. - + Unsupported File - + Arquivo Não Suportado - + This type of presentation is not supported. - + Este tipo de apresentação não é suportado. - - You must select an item to delete. - - - - + Presentations (%s) - + Apresentações (%s) - + Missing Presentation - + Apresentação Não Encontrada - + The Presentation %s no longer exists. - + A Apresentação %s não existe mais. + + + + The Presentation %s is incomplete, please reload. + A Apresentação %s está incompleta, por favor recarregue-a. PresentationPlugin.PresentationTab - + Available Controllers Controladores Disponíveis - - Advanced - Avançado - - - + Allow presentation application to be overriden - + Permitir que a aplicação de apresentações seja substituída - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural Remoto - + Remote container title - + Remoto @@ -3756,17 +3858,17 @@ A codificação do conteúdo não é UTF-8. Serve on IP address: - + Endereço IP do servidor: Port number: - + Número de porta: Server Settings - + Configurações do Servidor @@ -3833,7 +3935,7 @@ A codificação do conteúdo não é UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3847,263 +3949,260 @@ A codificação do conteúdo não é UTF-8. Are you sure you want to delete selected Song Usage data? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + Todos os dados solicitados foram apagados com sucesso. + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction - + Select Date Range Selecionar Faixa de Datas - + to para - + Report Location Localização do Relatório - + Output File Location Local do arquivo de saída - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + Relatório +%s +foi criado com sucesso. + SongsPlugin - + &Song &Música - + Import songs using the import wizard. - + Importar músicas com o assistente de importação. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + &Re-indexar Músicas - + Re-index the songs database to improve searching and ordering. - + Re-indexar o banco de dados de músicas para melhorar a busca e a ordenação. - + Reindexing songs... - - - - - Cancel - - - - - Add - - - - - Add a new Song - - - - - Edit - Editar - - - - Edit the selected Song - + Reindexando músicas... - Delete - Deletar + Add a new Song + Adicionar uma nova Música + Edit the selected Song + Editar a Música selecioanda + + + Delete the selected Song - + Apagar a Música selecionada - - Preview - Pré-Visualização - - - + Preview the selected Song - + Pré-visualizar a Música selecionada - - Live - Projeção - - - + Send the selected Song live - + Projetar a Música selecionada - - Service - - - - + Add the selected Song to the service - + Adicionar a Música selecionada à Lista de Exibição - + Song name singular - + Música - + Songs name plural - + Songs container title - + Músicas - + Arabic (CP-1256) - + Arábico (CP-1256) - + Baltic (CP-1257) - + Báltico (CP-1257) - + Central European (CP-1250) - + Europeu Central (CP-1250) - + Cyrillic (CP-1251) - + Cirílico (CP-1251) - + Greek (CP-1253) - + Grego (CP-1253) - + Hebrew (CP-1255) - + Hebraico (CP-1255) - + Japanese (CP-932) - + Japonês (CP-932) - + Korean (CP-949) - + Coreano (CP-949) - + Simplified Chinese (CP-936) - + Chinês Simplificado (CP-936) - + Thai (CP-874) - + Tailandês (CP-874) - + Traditional Chinese (CP-950) - + Chinês Tradicional (CP-950) - + Turkish (CP-1254) - + Turco (CP-1254) - + Vietnam (CP-1258) - + Vietnamita (CP-1258) - + Western European (CP-1252) - + Europeu Ocidental (CP-1252) - + Character Encoding - + Codificação de Caracteres - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + O Código de páginas é responsável +pela correta representação dos caracteres. +Normalmente a opção pré-selecionada é segura. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + Escolha a codificação dos caracteres. +A codificação é responsável pela correta representação dos caracteres. + + + + Exports songs using the export wizard. SongsPlugin.AuthorsForm - + Author Maintenance Manutenção de Autores - + Display name: Nome da Tela: - + First name: Primeiro Nome: - + Last name: Sobrenome: @@ -4113,645 +4212,408 @@ The encoding is responsible for the correct character representation. Você precisa digitar o primeiro nome do autor. - + You need to type in the last name of the author. Você precisa digitar o sobrenome do autor. - + You have not set a display name for the author, combine the first and last names? - + Você não definiu um nome de tela para o autor, combinar o nome e o sobrenome? SongsPlugin.CCLIFileImport - + Importing song %d of %d - + Importando música %d de %d SongsPlugin.EditSongForm - + Song Editor Editor de Músicas - + &Title: &Título: - + Alt&ernate title: Título &Alternativo: - + &Lyrics: - + &Letras: - + &Verse order: Ordem das &estrofes: - - &Add - %Adicionar - - - - &Edit - &Editar - - - + Ed&it All - + &Editar Todos - - &Delete - &Deletar - - - + Title && Lyrics Título && Letras - - Authors - Autores - - - + &Add to Song &Adicionar à Música - + &Remove &Remover - + &Manage Authors, Topics, Song Books - + &Gerenciar Autores, Assuntos, Hinários - - Topic - Tópico - - - + A&dd to Song A&dicionar uma Música - + R&emove R&emover - - Song Book - Livro de Músicas - - - + Book: Livro: - + Number: - + Número: - + Authors, Topics && Song Book - + Autores, Assuntos && Hinários - - Theme - Tema - - - + New &Theme - + Novo &Tema - + Copyright Information Informação de Direitos Autorais - - © - - - - - CCLI number: - Número CCLI: - - - + Comments Comentários - + Theme, Copyright Info && Comments Tema, Direitos Autorais && Comentários - - Save && Preview - Salvar && Pré-Visualizar - - - + Add Author Adicionar Autor - + This author does not exist, do you want to add them? Este autor não existe, deseja adicioná-lo? - + This author is already in the list. - + Este autor já está na lista. - - No Author Selected - - - - + 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. - + 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. - + Add Topic - + Adicionar Assunto - + This topic does not exist, do you want to add it? Este tópico não existe, deseja adicioná-lo? - + This topic is already in the list. Este tópico já está na lista. - - No Topic Selected - - - - + 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. 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. - + You need to type in a song title. - + Você precisa digitar um título para a música. - + You need to type in at least one verse. - + Você precisa digitar ao menos um verso. - + Warning - + Aviso - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + A ordem das estrofes é inválida. Não há estrofe correspondente a %s. Valores válidos são %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Você não usou %s em nenhum lugar na ordem das estrofes. Deseja mesmo salvar a música assim? - + Add Book - + Adicionar Livro - + This song book does not exist, do you want to add it? - Este hinário não existe, deseja adicioná-lo? + Este hinário não existe, deseja adicioná-lo? - + You need to have an author for this song. - + Você precisa de um autor para esta música. - + You need to type some text in to the verse. - + Você precisa digitar algum texto na estrofe. SongsPlugin.EditVerseForm - + Edit Verse - Editar Versículo + Editar Estrofe - + &Verse type: - Tipo de &Versículo: + Tipo de &Estrofe: - + &Insert + &Inserir + + + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Check the songs you want to export. + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - Você precisa adicionar ao menos um arquivo CCLI para importação. - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - - - - Starting import... - Iniciando importação... - - - - Song Import Wizard - - - - - Welcome to the Song Import Wizard - - - - - 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. - - - - - Select Import Source - Selecionar Origem da Importação - - - - Select the import format, and where to import from. - Selecione o formato, e de onde importar. - - - - Format: - Formato: + Selecione Documentos/Apresentações - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - + Song Import Wizard + Assistente de Importação de Música - OpenLyrics - + 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. + 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. - - OpenSong - OpenSong - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - - - - - Filename: - - - - - Browse... - - - - - 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. - + Documento/Apresentação Genérica + Filename: + Nome do arquivo: + + + Add Files... - - - - - Remove File(s) - - - - - The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - - - - Importing - Importando - - - - Please wait while your songs are imported. - + Adicionar Arquivos... - Ready. - Pronto. + Remove File(s) + Remover Arquivos(s) - - %p% - + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + O importador do Songs of Fellowship foi desabilitado porque o OpenOffice.org não foi encontrado. - - Importing "%s"... - + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + O importador de documento/apresentação foi desabilitado porque o OpenOffice.org não foi encontrado. - - Importing %s... - + + Please wait while your songs are imported. + Por favor espere enquanto as suas músicas são importadas. - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - - - - + 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. Administered by %s - + Administrado por %s - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - Todos os Arquivos - - - + OpenLP 2.0 Databases + Bancos de Dados do OpenLP 2.0 + + + + openlp.org v1.x Databases + Bancos de Dados do openlp.org v1.x + + + + Words Of Worship Song Files + Arquivos de Música do Words Of Worship + + + + You need to specify at least one document or presentation file to import from. - openlp.org v1.x Databases + Songs Of Fellowship Song Files - Words Of Worship Song Files + SongBeamer Files - - Songs Of Felloship Song Files + + SongShow Plus Song Files - - Select SongBeamer Files - - - - - SongBeamer - - - - - SongBeamer files - - - - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4759,312 +4621,217 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Gerenciamento de Músicas - - - Maintain the lists of authors, topics and books - + Manter a lista de autores, tópicos e livros - - Search: - - - - - Search - Pesquisar - - - + Titles - + Títulos - + Lyrics - + Letra - - Authors - Autores - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + Apagar Música(s)? - + CCLI License: - + Licença CCLI: - + Entire Song - + Música Inteira - + Are you sure you want to delete the %n selected song(s)? - - + + Tem certeza de que quer apagar as %n música(s) selecionadas? - - - Themes - Temas - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - + Importando música %d de %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - - - - - SongsPlugin.SongBeamerImport - - - Importing %s... + + Exporting "%s"... SongsPlugin.SongBookForm - + Song Book Maintenance - + Gerenciamento de Hinários - + &Name: - + &Nome: - + &Publisher: - + &Editora: You need to type in a name for the book. + Você precisa digitar um nome para o livro. + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. SongsPlugin.SongImport - + copyright - - - - - © - - - - - Author unknown - + copyright SongsPlugin.SongImportForm - - Finished import. - Importação Finalizada. - - - + Your song import failed. - + Sua importação de música falhou. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Gerenciamento de Músicas - - - - Authors - Autores - - - - Topics - - - - - Song Books - - - - - &Add - %Adicionar - - - - &Edit - &Editar - - - - &Delete - &Deletar - - - + Could not add your author. - + Não foi possível adicionar o autor. - + This author already exists. - + Este autor já existe. - + Could not add your topic. - + Não foi possível adicionar o tópico. - + This topic already exists. - + Este tópico já existe. - + Could not add your book. - + Não foi possível adicionar o livro. - + This book already exists. - + Este livro já existe. - + Could not save your changes. - + Não foi possível salvar as alterações. - + Could not save your modified topic, because it already exists. - + O tópico modificado não pode ser salvo porque já existe. - + Delete Author - + Excluir Autor - + Are you sure you want to delete the selected author? - + Você tem certeza de que deseja excluir o autor selecionado? - + This author cannot be deleted, they are currently assigned to at least one song. - + Este autor não pode ser apagado, pois está associado a ao menos uma música. - - No author selected! - - - - + Delete Topic - + Apagar Assunto - + Are you sure you want to delete the selected topic? - + Tem certeza de que quer apagar o assunto selecionado? - + This topic cannot be deleted, it is currently assigned to at least one song. - + Este assunto não pode ser apagado, pois está associado a ao menos uma música. - - No topic selected! - - - - + Delete Book Apagar Livro - + Are you sure you want to delete the selected book? - + Tem certeza de que quer apagar o hinário selecionado? - + This book cannot be deleted, it is currently assigned to at least one song. - + Este hinário não pode ser apagado, pois está associado a ao menos uma música. - - No book selected! - - - - + Could not save your modified author, because the author already exists. - + Não foi possível salvar alteração no autor, porque o autor já existe. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + O autor %s já existe. Deseja que as músicas com o autor %s usem o autor %s existente? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + O tópico %s já existe. Deseja que as músicas com o tópico %s usem o tópico %s existente? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? - + O livro %s já existe. Deseja que as músicas com o livro %s usem o livro %s existente? @@ -5072,12 +4839,12 @@ The encoding is responsible for the correct character representation. Songs Mode - + Modo de Música Enable search as you type - + Habilitar preenchimento automático @@ -5087,7 +4854,7 @@ The encoding is responsible for the correct character representation. Update service from song edit - + Atualizar Lista de Exibição após editar música @@ -5098,65 +4865,57 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance - + Gerenciamento de Assuntos - + Topic name: - + Nome do assunto: You need to type in a topic name. - + Você precisa digitar um nome para o assunto. SongsPlugin.VerseType - + Verse - + Estrofe Chorus - + Refrão + + + + Bridge + Ponte + + + + Pre-Chorus + Pré-Estrofe - Bridge - - - - - Pre-Chorus - - - - Intro - + Introdução - + Ending - + Final - + Other - - - - - SongsPlugin.XML - - - Author unknown - + Outra 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 @@ + + + + AlertPlugin.AlertForm + + + No Parameter found + Параметр не найден + + + + You have not entered a parameter to be replaced. +Do you want to continue anyway? + Вы не указали параметры для замены. +Все равно продолжить? + + + + No Placeholder found + Заполнитель не найден + + + + The alert text does not contain '<>'. +Do want to continue anyway? + Текст оповещения не содержит '<>'. +Все равно продолжить? + + + + AlertsPlugin + + + &Alert + О&повещение + + + + Show an alert message. + Показать текст оповещения. + + + + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + <strong>Плагин оповещений</strong><br />Плагин оповещений управляет отображением срочных сообщений на экране + + + + Alert + name singular + Оповещение + + + + Alerts + name plural + Оповещения + + + + Alerts + container title + Оповещения + + + + AlertsPlugin.AlertForm + + + Alert Message + Сообщение оповещения + + + + Alert &text: + Текст &оповещения: + + + + &Parameter: + П&араметр: + + + + &New + &Новый + + + + &Save + &Сохранить + + + + Displ&ay + Показ&ать + + + + Display && Cl&ose + Показать и за&крыть + + + + New Alert + Новое оповещение + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + Ві не указали текста для вашего оповещения. Пожалуйста введите текст. + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + Текст уведомления создан и показан. + + + + AlertsPlugin.AlertsTab + + + Font + Шрифт + + + + Font name: + Шрифт: + + + + Font color: + Цвет: + + + + Background color: + Цвет фона: + + + + Font size: + Размер: + + + + Alert timeout: + Таймаут оповещения: + + + + BibleDB.Wizard + + + Importing testaments... %s + Импорт заветов... %s + + + + Importing testaments... done. + Импорт заветов... завершен. + + + + Importing books... %s + Импорт книг... %s + + + + Importing verses from %s... + Importing verses from <book name>... + Импорт стихов из %s... + + + + Importing verses... done. + Импорт стихов... завершен. + + + + BiblePlugin.HTTPBible + + + Download Error + Ошибка загрузки + + + + 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. + Возникла проблема при загрузке секции стихов. Пожалуйста, проверьте параметры Интернет соединения. В случае если ошибка происходит при нормальном Интернет соединении, сообщите о ней на сайте разработчика в разделе "Ошибки". + + + + Parse Error + Обработка ошибки + + + + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. + Возникла проблема при распковкие раздела стихов. Если это ошибка будет повторяться, пожалуйста сообщите о ней. + + + + BiblePlugin.MediaItem + + + Bible not fully loaded + Библия была загружена не полностью + + + + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? + Вы не можете комбинировать единственный и воторой стихи Библии. Желаете удалить результаты и начать новый поиск? + + + + BiblesPlugin + + + &Bible + &Библия + + + + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + <strong>Плагин Библия</strong><br />Плагин "Библия" обеспечивает возможность показаза мест писания во время служения. + + + + Bible + name singular + Библия + + + + Bibles + name plural + Священное Писание + + + + Bibles + container title + Священное Писание + + + + Import a Bible + Импорт Библии + + + + Add a new Bible + Добавить новую Библию + + + + Edit the selected Bible + Редактировать выбранную Библию + + + + Delete the selected Bible + Удалить выбранную Библию + + + + Preview the selected Bible + Предпросмотр выбранной Библии + + + + Send the selected Bible live + Вывести выбранный Библию на проектор + + + + Add the selected Bible to the service + Добавить выбранную Библию к служению + + + + No Book Found + Книги не найдены + + + + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. + Не было найдено подходящей книги в этой Библии. Проверьте что вы правильно указали название книги. + + + + BiblesPlugin.BibleManager + + + No Bibles available + Библии недоступны + + + + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. + В настоящее время ни одна Библия не установлена. Пожалуйста, воспользуйтесь Мастером Импорта чтобы установить одну или более Библий. + + + + Scripture Reference Error + Ошибка ссылки на Писание + + + + Web Bible cannot be used + Веб-Библия не может быть использована + + + + Text Search is not available with Web Bibles. + Текстовый поиск не доступен для Веб-Библий. + + + + 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. + Вы не указали ключевое слово для поиска. +Вы можете разделить разичные ключевые слова пробелами чтобы осуществить поиск по фразе, а также можете использовать запятые, чтобы искать по каждому из указанных ключевых слов. + + + + 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 + + + + + BiblesPlugin.BiblesTab + + + Verse Display + + + + + Only show new chapter numbers + + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display second Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + + + + + 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. + + + + + Web Download + + + + + Location: + Расположение: + + + + Crosswalk + + + + + BibleGateway + + + + + Bibleserver + + + + + Bible: + + + + + Download Options + + + + + Server: + + + + + Username: + + + + + Password: + + + + + Proxy Server (Optional) + + + + + License Details + + + + + Set up the Bible's license details. + + + + + Version name: + + + + + Copyright: + + + + + Permissions: + + + + + Please wait while your Bible is imported. + + + + + You have not specified a testaments file. Do you want to proceed with the import? + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + You need to specify a file of Bible verses to import. + + + + + You need to specify a version name for your Bible. + + + + + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. + + + + + Bible Exists + + + + + This Bible already exists. Please import a different Bible or first delete the existing one. + + + + + CSV File + + + + + openlp.org 1.x bible + + + + + Starting Registering bible... + + + + + Registered bible. Please note, that verses will be downloaded on +demand and thus an internet connection is required. + + + + + Your Bible import failed. + + + + + Bible file: + + + + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + BiblesPlugin.MediaItem + + + Quick + + + + + Second: + + + + + Find: + + + + + Results: + + + + + Book: + Сборник: + + + + Chapter: + + + + + Verse: + + + + + From: + + + + + To: + + + + + Text Search + + + + + Clear + + + + + Keep + + + + + Scripture Reference + + + + + BiblesPlugin.Opensong + + + Importing %s %s... + Importing <book name> <chapter>... + + + + + BiblesPlugin.OsisImport + + + Detecting encoding (this may take a few minutes)... + + + + + Importing %s %s... + Importing <book name> <chapter>... + + + + + CustomPlugin + + + <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. + + + + + CustomPlugin.CustomTab + + + Custom Display + + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + + + + + &Title: + &Название: + + + + Add a new slide at bottom. + + + + + Edit the selected slide. + + + + + Ed&it All + Редактировать &все + + + + Edit all the slides at once. + + + + + The&me: + + + + + &Credits: + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + CustomsPlugin + + + Custom + name singular + + + + + Customs + name plural + + + + + Custom + container title + + + + + Import a Custom + + + + + Load a new Custom + + + + + Add a new Custom + + + + + Edit the selected Custom + + + + + Delete the selected Custom + + + + + Preview the selected Custom + + + + + Send the selected Custom live + + + + + Add the selected Custom to the service + + + + + ImagePlugin + + + <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. + <strong>Плагин Изображений</strong><br />Плагин изображений позволяет отображать изображения.<br />Одной из отличительных возможностей этого плагина является возможность группировать выбранные изображение в менеджере служения, что делает работу с большим количеством изображений более легкой. Этот плагин также позволяет использовать возможности "временной петли" OpenLP, чтобы создавать слайд-шоу, которые выполняются автоматически. В дополнение к этому, изображения из плагина могут быть использованы, чтобы заменить текущий фон, что позволяет отображать текстовые элементы, такие как песни, с выбранным изображением в качестве фона, вместо фона, который указан в теме. + + + + Image + name singular + Изображение + + + + Images + name plural + Изображения + + + + Images + container title + Изображения + + + + Load a new Image + Загрузить новое Изображение + + + + Add a new Image + Добавить новое Изображение + + + + Edit the selected Image + Изменить выбранное изображение + + + + Delete the selected Image + Удалить выбранное изображение + + + + Preview the selected Image + Просмотреть выбранное Изображение + + + + Send the selected Image live + Послать выбранное Изображение на проектор + + + + Add the selected Image to the service + Добавить выбранное изображение к Служению + + + + ImagePlugin.ExceptionDialog + + + Select Attachment + Выбрать Вложение + + + + ImagePlugin.MediaItem + + + Select Image(s) + Выбрать Изображение(я) + + + + You must select an image to delete. + Вы должны выбрать изображение для удаления. + + + + Missing Image(s) + Отсутствующие Изображения + + + + The following image(s) no longer exist: %s + Следующие изображения больше не существуют: %s + + + + The following image(s) no longer exist: %s +Do you want to add the other images anyway? + Следующие изображения больше не существуют: %s +Добавить остальные изображения? + + + + You must select an image to replace the background with. + Вы должны выбрать изображения, которым следует заменить фон. + + + + There was a problem replacing your background, the image file "%s" no longer exists. + Возникла проблема при замене Фона проектора, файл "%s" больше не существует. + + + + MediaPlugin + + + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + <strong>Плагин Медиа</strong><br />Плагин Медиа обеспечивает проигрывание аудио и видео файлов. + + + + Media + name singular + Медиа + + + + Media + name plural + Медиа + + + + Media + container title + Медиа + + + + Load a new Media + Открыть новый медиафайл + + + + Add a new Media + Добавить новый медиафайл + + + + Edit the selected Media + Редактировать выбранный медиафайл + + + + Delete the selected Media + Удалить выбранный медиафайл + + + + Preview the selected Media + Предпросмотр выбранного медиафайла + + + + Send the selected Media live + Отправить выбранный медиафайл на проектор + + + + Add the selected Media to the service + Добавить выбранный медиафайл к служению + + + + MediaPlugin.MediaItem + + + Select Media + Выбрать медиафайл + + + + You must select a media file to replace the background with. + Для замены фона вы должны выбрать видеофайл. + + + + There was a problem replacing your background, the media file "%s" no longer exists. + Возникла проблема замены фона, поскольку файл "%s" не найден. + + + + Missing Media File + Отсутствует медиафайл + + + + The file %s no longer exists. + Файл %s не существует. + + + + You must select a media file to delete. + Вы должны выбрать медиафайл для удаления. + + + + Videos (%s);;Audio (%s);;%s (*) + + + + + MediaPlugin.MediaTab + + + Media Display + Отображение Медиа + + + + Use Phonon for video playback + Использовать Phonon для проигрывания видео + + + + OpenLP + + + Image Files + Файлы изображений + + + + OpenLP.AboutForm + + + OpenLP <version><revision> - Open Source Lyrics Projection + +OpenLP is free church presentation software, or lyrics projection software, used to display slides of songs, Bible verses, videos, images, and even presentations (if OpenOffice.org, PowerPoint or PowerPoint Viewer is installed) for church worship using a computer and a data projector. + +Find out more about OpenLP: http://openlp.org/ + +OpenLP is written and maintained by volunteers. If you would like to see more free Christian software being written, please consider contributing by using the button below. + + + + + Project Lead + Raoul "superfly" Snyman + +Developers + Tim "TRB143" Bentley + Jonathan "gushie" Corwin + Michael "cocooncrash" Gorven + Scott "sguerrieri" Guerrieri + Raoul "superfly" Snyman + Martin "mijiti" Thompson + Jon "Meths" Tibble + +Contributors + Meinert "m2j" Jordan + 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. + + + + + Credits + + + + + License + Лицензия + + + + Contribute + + + + + build %s + Билд %s + + + + 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. + + + + + OpenLP.AdvancedTab + + + UI Settings + + + + + Number of recent files to display: + + + + + Remember active media manager tab on startup + + + + + Double-click to send items straight to live + + + + + Expand new service items on creation + + + + + Enable application exit confirmation + + + + + Mouse Cursor + + + + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Цвет фона: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html + + + + + OpenLP.DisplayTagTab + + + Update Error + + + + + Tag "n" already defined. + + + + + Tag %s already defined. + + + + + OpenLP.ExceptionDialog + + + Error Occurred + + + + + 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. + + + + + Send E-Mail + + + + + Save to File + + + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + + + + OpenLP.ExceptionForm + + + Platform: %s + + + + + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + + **OpenLP Bug Report** +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + + + + + *OpenLP Bug Report* +Version: %s + +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- +%s +--- System information --- +%s +--- Library Versions --- +%s + + Please add the information that bug reports are favoured written in English. + + + + + OpenLP.FileRenameForm + + + New File Name: + + + + + File Copy + + + + + File Rename + + + + + OpenLP.GeneralTab + + + General + + + + + Monitors + + + + + Select monitor for output display: + + + + + Display if a single screen + + + + + Application Startup + + + + + Show blank screen warning + + + + + Automatically open the last service + + + + + Show the splash screen + + + + + Check for updates to OpenLP + + + + + Application Settings + + + + + Prompt to save before starting a new service + + + + + Automatically preview next item in service + + + + + Slide loop delay: + + + + + sec + + + + + CCLI Details + + + + + SongSelect username: + + + + + SongSelect password: + + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + Screen + + + + + primary + + + + + OpenLP.LanguageManager + + + Language + + + + + Please restart OpenLP to use your new language setting. + + + + + OpenLP.MainDisplay + + + OpenLP Display + Дисплей OpenLP + + + + OpenLP.MainWindow + + + &File + &Файл + + + + &Import + &Импорт + + + + &Export + &Экспорт + + + + &View + &Вид + + + + M&ode + Р&ежим + + + + &Tools + &Инструменты + + + + &Settings + &Настройки + + + + &Language + &Язык + + + + &Help + &Помощь + + + + Media Manager + Управление Материалами + + + + Service Manager + Управление Служением + + + + Theme Manager + Управление Темами + + + + &New + &Новая + + + + Ctrl+N + Ctrl+N + + + + &Open + &Открыть + + + + Open an existing service. + Открыть существующее служение. + + + + Ctrl+O + Ctrl+O + + + + &Save + &Сохранить + + + + Save the current service to disk. + Сохранить текущее служение на диск. + + + + Ctrl+S + Ctrl+S + + + + Save &As... + Сохранить к&ак... + + + + Save Service As + Сохранить служение как + + + + Save the current service under a new name. + Сохранить текущее служение под новым именем. + + + + Ctrl+Shift+S + Ctrl+Shift+S + + + + Print the current Service Order. + Распечатать текущий Порядок Служения + + + + Ctrl+P + Ctrl+P + + + + E&xit + Вы&ход + + + + Quit OpenLP + Завершить работу OpenLP + + + + Alt+F4 + Alt+F4 + + + + &Theme + Т&ема + + + + Configure &Shortcuts... + Настройки и б&ыстрые клавиши... + + + + &Configure OpenLP... + &Настроить OpenLP... + + + + &Media Manager + Управление &Материалами + + + + Toggle Media Manager + Свернуть Менеджер Медиа + + + + Toggle the visibility of the media manager. + Свернуть видимость Менеджера Медиа. + + + + F8 + F8 + + + + &Theme Manager + Управление &темами + + + + Toggle Theme Manager + Свернуть Менеджер Тем + + + + Toggle the visibility of the theme manager. + Свернуть видимость Менеджера Тем. + + + + F10 + F10 + + + + &Service Manager + Управление &Служением + + + + Toggle Service Manager + Свернуть Менеджер Служения + + + + Toggle the visibility of the service manager. + Свернуть видимость Менеджера Служения. + + + + F9 + F9 + + + + &Preview Panel + Пан&ель предпросмотра + + + + Toggle Preview Panel + Toggle Preview Panel + + + + Toggle the visibility of the preview panel. + Toggle the visibility of the preview panel. + + + + F11 + F11 + + + + &Live Panel + &Панель проектора + + + + Toggle Live Panel + Toggle Live Panel + + + + Toggle the visibility of the live panel. + Toggle the visibility of the live panel. + + + + F12 + F12 + + + + &Plugin List + &Список плагинов + + + + List the Plugins + Выводит список плагинов + + + + Alt+F7 + Alt+F7 + + + + &User Guide + &Руководство пользователя + + + + &About + &О программе + + + + More information about OpenLP + Больше информации про OpenLP + + + + Ctrl+F1 + Ctrl+F1 + + + + &Online Help + &Помощь онлайн + + + + &Web Site + &Веб-сайт + + + + &Auto Detect + &Автоопределение + + + + Use the system language, if available. + Использовать системный язык, если доступно. + + + + Set the interface language to %s + Изменить язык интерфеса на %s + + + + Add &Tool... + Добавить &Инструмент... + + + + Add an application to the list of tools. + Добавить приложение к списку инструментов + + + + &Default + &По умолчанию + + + + Set the view mode back to the default. + Установить вид в режим по умолчанию. + + + + &Setup + &Настройка + + + + Set the view mode to Setup. + + + + + &Live + + + + + Set the view mode to Live. + + + + + 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/. + + + + + OpenLP Version Updated + + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + + + + + Close OpenLP + + + + + Are you sure you want to close OpenLP? + + + + + Default Theme: %s + + + + + English + Please add the name of your language here + Английский + + + + &Configure Display Tags + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + OpenLP.MediaManagerItem + + + No Items Selected + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm + + + Plugin List + + + + + Plugin Details + + + + + Status: + + + + + Active + + + + + Inactive + + + + + %s (Disabled) + + + + + %s (Active) + + + + + %s (Inactive) + + + + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + Изменить порядок служения + + + + OpenLP.ServiceManager + + + Load an existing service + + + + + Save this service + + + + + Select a theme for the service + + + + + Move to &top + + + + + Move item to the top of the service. + + + + + Move &up + + + + + Move item up one position in the service. + + + + + Move &down + + + + + Move item down one position in the service. + + + + + Move to &bottom + + + + + Move item to the end of the service. + + + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + &Delete From Service + + + + + Delete the selected item from the service. + + + + + &Expand all + + + + + Expand all the service items. + + + + + &Collapse all + + + + + Collapse all the service items. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + + + + + &Change Item Theme + + + + + Open File + + + + + OpenLP Service Files (*.osz) + + + + + Modified Service + + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Your item cannot be displayed as the plugin required to display it is missing or inactive + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Заметки к элементам служения + + + + OpenLP.SettingsForm + + + Configure OpenLP + Настроить OpenLP + + + + OpenLP.ShortcutListDialog + + + Customize Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default: %s + + + + + Custom: + + + + + None + + + + + Duplicate Shortcut + + + + + The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + + + Alternate + + + + + OpenLP.SlideController + + + Previous Slide + + + + + Move to previous + + + + + Next Slide + + + + + Move to next + + + + + Hide + + + + + Blank Screen + + + + + Blank to Theme + + + + + Show Desktop + + + + + Start continuous loop + + + + + Stop continuous loop + + + + + Delay between slides in seconds + + + + + Move to live + + + + + Edit and reload song preview + + + + + Start playing media + + + + + Go To + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + + + + OpenLP.SpellTextEdit + + + Spelling Suggestions + + + + + Formatting Tags + + + + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + + + OpenLP.ThemeForm + + + (%d lines per slide) + + + + + Select Image + + + + + Theme Name Missing + + + + + There is no name for this theme. Please enter one. + + + + + Theme Name Invalid + + + + + Invalid theme name. Please enter one. + + + + + OpenLP.ThemeManager + + + Create a new theme. + + + + + Edit Theme + + + + + Edit a theme. + + + + + Delete Theme + + + + + Delete a theme. + + + + + Import Theme + + + + + Import a theme. + + + + + Export Theme + + + + + Export a theme. + + + + + &Edit Theme + + + + + &Copy Theme + + + + + &Rename Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + &Export Theme + + + + + %s (default) + + + + + You must select a theme to rename. + + + + + Rename Confirmation + + + + + Rename %s theme? + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete %s theme? + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + Validation Error + + + + + File is not a valid theme. + + + + + A theme with this name already exists. + + + + + You are unable to delete the default theme. + + + + + Theme %s is used in the %s plugin. + + + + + OpenLP Themes (*.theme *.otz) + + + + + OpenLP.ThemeWizard + + + Edit Theme - %s + + + + + Theme Wizard + + + + + Welcome to the Theme Wizard + + + + + 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. + + + + + Set Up Background + + + + + Set up your theme's background according to the parameters below. + + + + + Background type: + + + + + Solid Color + + + + + Gradient + + + + + Color: + + + + + Gradient: + + + + + Horizontal + + + + + Vertical + + + + + Circular + + + + + Top Left - Bottom Right + + + + + Bottom Left - Top Right + + + + + Main Area Font Details + + + + + Define the font and display characteristics for the Display text + + + + + Font: + + + + + Size: + + + + + Line Spacing: + + + + + &Outline: + + + + + &Shadow: + + + + + Bold + + + + + Italic + + + + + Footer Area Font Details + + + + + Define the font and display characteristics for the Footer text + + + + + Text Formatting Details + + + + + Allows additional display formatting information to be defined + + + + + Horizontal Align: + + + + + Left + + + + + Right + + + + + Center + + + + + Transitions: + + + + + Output Area Locations + + + + + Allows you to change and move the main and footer areas. + + + + + &Main Area + + + + + &Use default location + + + + + X position: + + + + + px + + + + + Y position: + + + + + Width: + + + + + Height: + + + + + &Footer Area + + + + + Use default location + + + + + Save and Preview + + + + + View the theme and save it replacing the current one or change the name to create a new theme + + + + + Theme name: + + + + + OpenLP.ThemesTab + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + + &Service Level + + + + + 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. + + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + + + + + OpenLP.Ui + + + Error + Ошибка + + + + &Delete + У&далить + + + + Delete the selected item. + Удалить выбранный элемент. + + + + Move selection up one position. + Переместить выше. + + + + Move selection down one position. + Переместить ниже. + + + + About + + + + + &Add + + + + + Advanced + + + + + All Files + + + + + Bottom + + + + + Browse... + Обзор... + + + + Cancel + + + + + CCLI number: + Номер CCLI: + + + + Create a new service. + Создать новый порядок служения. + + + + &Edit + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + + + + + Import + + + + + Length %s + + + + + Live + + + + + Live Background Error + Ошибка Фона Проектора + + + + Live Panel + + + + + Load + + + + + Middle + + + + + New + + + + + New Service + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + + + + + openlp.org 1.x + openlp.org 1.x + + + + OpenLP 2.0 + + + + + Open Service + + + + + Preview + + + + + Preview Panel + + + + + Print Service Order + Распечатать порядок Служения + + + + Replace Background + Заменить Фон + + + + Replace Live Background + + + + + Reset Background + Сбросить Фон + + + + Reset Live Background + Сбросить Фон на проекторе + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + Сохранить и просмотреть + + + + Search + + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Save Service + + + + + Service + + + + + Start %s + + + + + Theme + Singular + Тема + + + + Themes + Plural + + + + + Top + + + + + Version + + + + + &Vertical Align: + + + + + Finished import. + + + + + Format: + Формат: + + + + Importing + + + + + Importing "%s"... + + + + + Select Import Source + Выберите формат для импорта + + + + Select the import format and the location to import from. + + + + + 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. + Импорт из openlp.org 1.x был запрещен из-за отсутствующего модуля Питона. Если вы хотите испольовать этот модуль, вы должны установить модуль "python-sqlite". + + + + Open %s File + + + + + %p% + + + + + Ready. + + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + Добро пожаловать в Мастер Импорта Песен + + + + Author + Singular + + + + + Authors + Plural + + + + + © + Copyright symbol. + + + + + Song Book + Singular + Сборник песен + + + + Song Books + Plural + + + + + Song Maintenance + + + + + Topic + Singular + Тема + + + + Topics + Plural + + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + + + + PresentationPlugin + + + <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. + + + + + Presentation + name singular + + + + + Presentations + name plural + + + + + Presentations + container title + + + + + Load a new Presentation + + + + + Delete the selected Presentation + + + + + Preview the selected Presentation + + + + + Send the selected Presentation live + + + + + Add the selected Presentation to the service + + + + + PresentationPlugin.MediaItem + + + Select Presentation(s) + + + + + Automatic + + + + + Present using: + + + + + Presentations (%s) + + + + + File Exists + + + + + A presentation with that filename already exists. + + + + + Unsupported File + + + + + This type of presentation is not supported. + + + + + Missing Presentation + + + + + The Presentation %s is incomplete, please reload. + + + + + The Presentation %s no longer exists. + + + + + PresentationPlugin.PresentationTab + + + Available Controllers + + + + + Allow presentation application to be overriden + + + + + %s (unavailable) + + + + + RemotePlugin + + + <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. + + + + + Remote + name singular + + + + + Remotes + name plural + + + + + Remote + container title + + + + + RemotePlugin.RemoteTab + + + Server Settings + + + + + Serve on IP address: + + + + + Port number: + + + + + SongUsagePlugin + + + &Song Usage Tracking + + + + + &Delete Tracking Data + + + + + Delete song usage data up to a specified date. + + + + + &Extract Tracking Data + + + + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + + + + + SongUsage + name singular + + + + + SongUsage + name plural + + + + + SongUsage + container title + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Song Usage Data + + + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + + + + SongUsagePlugin.SongUsageDetailForm + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + Output File Location + + + + + usage_detail_%s_%s.txt + + + + + Report Creation + + + + + Report +%s +has been successfully created. + + + + + SongsPlugin + + + Arabic (CP-1256) + + + + + Baltic (CP-1257) + + + + + Central European (CP-1250) + + + + + Cyrillic (CP-1251) + + + + + Greek (CP-1253) + + + + + Hebrew (CP-1255) + + + + + Japanese (CP-932) + + + + + Korean (CP-949) + + + + + Simplified Chinese (CP-936) + + + + + Thai (CP-874) + + + + + Traditional Chinese (CP-950) + + + + + Turkish (CP-1254) + + + + + Vietnam (CP-1258) + + + + + Western European (CP-1252) + + + + + Character Encoding + + + + + The codepage setting is responsible +for the correct character representation. +Usually you are fine with the preselected choice. + + + + + Please choose the character encoding. +The encoding is responsible for the correct character representation. + + + + + &Song + + + + + Import songs using the import wizard. + + + + + &Re-index Songs + + + + + Re-index the songs database to improve searching and ordering. + + + + + Reindexing songs... + + + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + + + + + Song + name singular + + + + + Songs + name plural + Псалмы + + + + Songs + container title + Псалмы + + + + Add a new Song + Добавить новый Псалом + + + + Edit the selected Song + Редактировать выбранный Псалом + + + + Delete the selected Song + Удалить выбранный Псалом + + + + Preview the selected Song + Прсомотреть выбранный Псалом + + + + Send the selected Song live + Вывести выбранный псалом на Проектор + + + + Add the selected Song to the service + Добавить выбранный Псалом к служению + + + + Exports songs using the export wizard. + + + + + SongsPlugin.AuthorsForm + + + Author Maintenance + + + + + Display name: + + + + + First name: + + + + + Last name: + + + + + You need to type in the first name of the author. + + + + + You need to type in the last name of the author. + + + + + You have not set a display name for the author, combine the first and last names? + + + + + SongsPlugin.CCLIFileImport + + + Importing song %d of %d + Импортирую песни %d из %d + + + + SongsPlugin.EditSongForm + + + Song Editor + Редактор Песен + + + + &Title: + &Название: + + + + Alt&ernate title: + До&полнительное название: + + + + &Lyrics: + &Слова: + + + + &Verse order: + П&орядок куплтов: + + + + Ed&it All + Редактировать &все + + + + Title && Lyrics + Название и слова + + + + &Add to Song + Д&обавить к песне + + + + &Remove + Уда&лить + + + + &Manage Authors, Topics, Song Books + &Управление Авторами, Темами и Сборниками песен + + + + A&dd to Song + Д&обавить к песне + + + + R&emove + Уда&лить + + + + Book: + Сборник: + + + + Number: + Номер: + + + + Authors, Topics && Song Book + Авторы, Темы и Сборники песен + + + + New &Theme + Новая &Тема + + + + Copyright Information + Информация об авторских правах + + + + Comments + Комментарии + + + + Theme, Copyright Info && Comments + Тема, информация об авторских правах и комментарии + + + + Add Author + Добавить Автора + + + + This author does not exist, do you want to add them? + Этот автор не существует. Хотите добавить его? + + + + This author is already in the list. + Такой автор уже присутсвует в списке. + + + + 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. + Вы не выбрали подходящего автора. Выберите автора из списка, или введите нового автора и выберите "Добавить Автора к Песне", чтобы добавить нового автора. + + + + Add Topic + Добавить Тему + + + + This topic does not exist, do you want to add it? + Эта тема не существует. Хотите добавить её? + + + + This topic is already in the list. + Такая тема уже присутсвует в списке. + + + + 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. + Вы не выбрали подходящую тему. Выберите тему из списка, или введите новую тему и выберите "Добавить Тему к Песне", чтобы добавить новую тему. + + + + You need to type in a song title. + Вы должны указать название песни. + + + + You need to type in at least one verse. + Вы должны ввести по крайней мере один куплет. + + + + You need to have an author for this song. + Вы должны добавить автора к этой песне. + + + + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. + Порядок куплетов указан неверно. Нет куплета, который бы соответсвовал %s. Правильными записями являютеся %s. + + + + Warning + Предупреждение + + + + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + Вы не используете %s нигде в порядке куплетов. Вы уверены, что хотите сохранить песню в таком виде? + + + + Add Book + Добавить Книгу + + + + This song book does not exist, do you want to add it? + Этот сборник песен не существует. Хотите добавить его? + + + + You need to type some text in to the verse. + Вы должны указать какой-то текст в этом куплете. + + + + SongsPlugin.EditVerseForm + + + Edit Verse + + + + + &Verse type: + + + + + &Insert + + + + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Check the songs you want to export. + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + SongsPlugin.ImportWizardForm + + + Song Import Wizard + Мастер Импорта Песен + + + + 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. + Этот Мастер поможет Вам импортировать песни из различных форматов. Выберите кнопку Далее чтобы начать процесс выбора формата для импорта. + + + + Generic Document/Presentation + Общий формат или презентация + + + + Filename: + Имя файла: + + + + Add Files... + Добавить файлы... + + + + Remove File(s) + Удалить Файл(ы) + + + + 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. + 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. + + + + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. + + + + + Please wait while your songs are imported. + + + + + OpenLP 2.0 Databases + + + + + openlp.org v1.x Databases + + + + + Words Of Worship Song Files + + + + + Select Document/Presentation Files + + + + + Administered by %s + + + + + You need to specify at least one document or presentation file to import from. + + + + + Songs Of Fellowship Song Files + + + + + SongBeamer Files + + + + + SongShow Plus Song Files + + + + + Foilpresenter Song Files + + + + + SongsPlugin.MediaItem + + + Maintain the lists of authors, topics and books + + + + + Entire Song + + + + + Titles + + + + + Lyrics + + + + + Delete Song(s)? + + + + + Are you sure you want to delete the %n selected song(s)? + + + + + + + + + CCLI License: + + + + + SongsPlugin.OpenLPSongImport + + + Importing song %d of %d. + Импортирую песни %d из %d. + + + + SongsPlugin.OpenLyricsExport + + + Exporting "%s"... + + + + + SongsPlugin.SongBookForm + + + Song Book Maintenance + + + + + &Name: + + + + + &Publisher: + + + + + You need to type in a name for the book. + + + + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + + + SongsPlugin.SongImport + + + copyright + + + + + SongsPlugin.SongImportForm + + + Your song import failed. + + + + + SongsPlugin.SongMaintenanceForm + + + Could not add your author. + + + + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + The author %s already exists. Would you like to make songs with author %s use the existing author %s? + + + + + Could not save your modified author, because the author already exists. + + + + + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? + + + + + Could not save your modified topic, because it already exists. + + + + + The book %s already exists. Would you like to make songs with book %s use the existing book %s? + + + + + Delete Author + + + + + Are you sure you want to delete the selected author? + + + + + This author cannot be deleted, they are currently assigned to at least one song. + + + + + Delete Topic + + + + + Are you sure you want to delete the selected topic? + + + + + This topic cannot be deleted, it is currently assigned to at least one song. + + + + + Delete Book + + + + + Are you sure you want to delete the selected book? + + + + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + SongsPlugin.SongsTab + + + Songs Mode + + + + + Enable search as you type + + + + + Display verses on live tool bar + + + + + Update service from song edit + + + + + Add missing songs when opening service + + + + + SongsPlugin.TopicsForm + + + Topic Maintenance + + + + + Topic name: + + + + + You need to type in a topic name. + + + + + SongsPlugin.VerseType + + + Verse + + + + + Chorus + + + + + Bridge + + + + + Pre-Chorus + + + + + Intro + + + + + Ending + + + + + Other + + + + 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 @@ AlertPlugin.AlertForm - + No Parameter found Hittade ingen parameter - + You have not entered a parameter to be replaced. Do you want to continue anyway? Du har inte angivit någon parameter som kan ersättas. Vill du fortsätta ändå? - + No Placeholder found - + The alert text does not contain '<>'. Do want to continue anyway? Larmtexten innehåller inget '<>'. @@ -30,34 +30,34 @@ Vill du fortsätta ändå? AlertsPlugin - + &Alert &Larm - + Show an alert message. Visa ett larmmeddelande. - + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen <strong>Larmplugin</strong><br />Larmpluginen kontrollerar visningen av larmmeddelande på visningsskärmen - + Alert name singular Larm - + Alerts name plural Alarm - + Alerts container title Larm @@ -66,30 +66,25 @@ Vill du fortsätta ändå? AlertsPlugin.AlertForm - + Alert Message Larmmeddelande - + Alert &text: Larm&text: - + &New &Ny - + &Save &Spara - - - &Delete - &Ta bort - Displ&ay @@ -101,17 +96,17 @@ Vill du fortsätta ändå? Visa && stän&g - + New Alert Nytt larm - + You haven't specified any text for your alert. Please type in some text before clicking New. - Du har inte angivit någon text för ditt larm. Vänligen ange en text innan du klickar på Nytt. + Du har inte angivit någon text för ditt larm. Ange en text innan du klickar på Nytt. - + &Parameter: &Parameter: @@ -127,95 +122,84 @@ Vill du fortsätta ändå? AlertsPlugin.AlertsTab - + Font Teckensnitt - + Font name: Teckensnittsnamn: - + Font color: - Teckensnittsfärg: + Teckenfärg: - + Background color: Bakgrundsfärg: - + Font size: - Teckensnittstorlek: + Teckenstorlek: - - pt - pt - - - + Alert timeout: - Larm timeout: + Visningstid: + + + + BibleDB.Wizard + + + Importing testaments... %s + - - s - s + + Importing testaments... done. + - - Location: - Placering: + + Importing books... %s + - - Preview - Förhandsgranska + + Importing verses from %s... + Importing verses from <book name>... + Importerar verser från %s... - - OpenLP 2.0 - OpenLP 2.0 - - - - Top - Toppen - - - - Middle - Mitten - - - - Bottom - Botten + + Importing verses... done. + BiblePlugin.HTTPBible - + Download Error Fel vid nerladdning - + Parse Error Fel vid analys - + 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. - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -223,12 +207,12 @@ Vill du fortsätta ändå? BiblePlugin.MediaItem - + You cannot combine single and second bible verses. Do you want to delete your search results and start a new search? 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? - + Bible not fully loaded @@ -236,110 +220,75 @@ Vill du fortsätta ändå? BiblesPlugin - + &Bible &Bibel - + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. <strong>Bibelplugin</strong><br />Bibelpluginen tillhandahåller möjligheten att visa bibelverser från olika källor under gudstjänsten. - + Import a Bible Importera en bibel - + Add a new Bible Lägg till en bibel - + Edit the selected Bible Redigera vald bibel - + Delete the selected Bible Ta bort vald bibel - - Preview - Förhandsgranska - - - + Preview the selected Bible Förhandsgranska vald bibeln - - Live - - - - + Send the selected Bible live - - Service - Gudstjänst - - - + Add the selected Bible to the service Lägg till vald bibel till gudstjänstordningen - + Bible name singular Bibel - + Bibles name plural Biblar - + Bibles container title Biblar - - &Import - &Importera - - - - &Add - &Lägg till - - - - &Edit - &Ändra - - - - &Delete - &Ta bort - - - + No Book Found Ingen bok hittades - + No matching book could be found in this Bible. Check that you have spelled the name of the book correctly. Ingen bok hittades i vald bibel. Kontrollera stavningen på bokens namn. @@ -347,39 +296,40 @@ Vill du fortsätta ändå? BiblesPlugin.BibleManager - + Scripture Reference Error - + Felaktigt bibelställe - + Web Bible cannot be used - + Bibel på webben kan inte användas + + + + Text Search is not available with Web Bibles. + Textsökning är inte tillgänglig för bibel på webben. - Text Search is not available with Web Bibles. - - - - 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. - + 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. - + No Bibles available - + Ingen bibel tillgänglig - + There are no Bibles currently installed. Please use the Import Wizard to install one or more Bibles. - + Det finns ingen bibel installerad. Använd guiden för bibelimport och installera en eller flera biblar. - - Your scripture reference is either not supported by OpenLP or is invalid. Please make sure your reference conforms to one of the following patterns: + + 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 BiblesPlugin.BiblesTab - + Verse Display - Versvisning + Visning av verser - + Only show new chapter numbers Visa bara nya kapitelnummer - + Layout style: - + Layout: - + Display style: - + Display stil: - + Bible theme: - + Bibeltema: - + Verse Per Slide Verser per sida - + Verse Per Line Verser per rad - + Continuous Kontinuerlig - + No Brackets Inga parenteser - + ( And ) ( och ) - + { And } { och } - + [ And ] [ och ] - + Note: Changes do not affect verses already in the service. Notera: Ändringar kommer inte påverka verser som finns i planeringen. - + Display second Bible verses - - - - - BiblesPlugin.CSVImport - - - Importing %s %s... - Importing <book name> <chapter>... - + Visa andra bibelns verser BiblesPlugin.ImportWizardForm - + Bible Import Wizard - Bibelimportguide + Guiden för bibelimport - - Welcome to the Bible Import Wizard - Välkommen till guiden för bibelimport - - - + 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. - 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. + 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. - - Select Import Source - Välj importkälla - - - - Select the import format, and where to import from. - Välj format för importen och plats att importera från. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - + Web Download - Webbnedladdning + Nedladdning från internet - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - + Location: Placering: - + Crosswalk Crosswalk - + BibleGateway BibleGateway - + Bible: Bibel: - + Download Options Alternativ för nedladdning - + Server: Server: - + Username: Användarnamn: - + Password: Lösenord: - + Proxy Server (Optional) Proxyserver (Frivilligt) - + License Details - Licensdetaljer + Licensuppgifter - + Set up the Bible's license details. - Skriv in bibelns licensdetaljer. + Skriv in bibelns licensuppgifter. - + Version name: - + Versionsnamn: - + Copyright: Copyright: - - Importing - Importerar - - - + Please wait while your Bible is imported. - Vänligen vänta medan din bibel importeras. + Vänta medan din bibel importeras. - - Ready. - Klar. - - - - Invalid Bible Location - Felaktig bibelplacering - - - - You need to specify a file to import your Bible from. - Du måste ange en fil att importera din bibel från. - - - - Invalid Books File - Ogiltig bokfil - - - + You need to specify a file with books of the Bible to use in the import. Du måste välja en fil med Bibelböcker att använda i importen. - - Invalid Verse File - Ogiltid versfil - - - + You need to specify a file of Bible verses to import. Du måste specificera en fil med Bibelverser att importera. - - Invalid OpenSong Bible - Ogiltig OpenSong-bibel - - - - You need to specify an OpenSong Bible file to import. - Du måste ange en OpenSong Bibel-fil att importera. - - - - Empty Version Name - Tomt versionsnamn - - - + You need to specify a version name for your Bible. Du måste ange ett versionsnamn för din Bibel. - - Empty Copyright - Tom copyrightinformation - - - + Bible Exists - Bibeln finns + Bibeln finns redan - - Open OSIS File - Öppna OSIS-fil - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Öppna OpenSong-bibel - - - - Starting import... - Påbörjar import... - - - - Finished import. - Importen är färdig. - - - + Your Bible import failed. Din bibelimport misslyckades. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. - - Open openlp.org 1.x Bible - - - - + Starting Registering bible... - + Registered bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. - - openlp.org 1.x - openlp.org 1.x - - - + Permissions: - + Tillstånd: - + CSV File - + CSV-fil - + openlp.org 1.x bible - + openlp.org 1.x bibel - - All Files - Alla filer - - - + Bibleserver + Bibelserver + + + + Bible file: - - 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. + + Testaments file: + + + + + Books file: + + + + + Verses file: + + + + + You have not specified a testaments file. Do you want to proceed with the import? BiblesPlugin.MediaItem - + Quick Snabb - - Advanced - Avancerat - - - - Version: - Version: - - - - Search type: - - - - + Find: Hitta: - - Search - Sök - - - + Results: Resultat: - + Book: Bok: - + Chapter: Kapitel: - + Verse: Vers: - + From: Från: - + To: Till: - - Verse Search - Sök vers - - - + Text Search Textsökning - + Clear - Rensa + Rensa vid ny sökning - + Keep - Behåll + Behåll vid ny sökning - + Second: - - - BiblesPlugin.OpenLP1Import - - Importing %s... - Importerar %s... + + Scripture Reference + BiblesPlugin.Opensong - + Importing %s %s... Importing <book name> <chapter>... - + Importerar %s %s... BiblesPlugin.OsisImport - + Detecting encoding (this may take a few minutes)... - + Analyserar kodning (detta kan ta några minuter)... - + Importing %s %s... Importing <book name> <chapter>... - + Importerar %s %s... CustomPlugin - + <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. @@ -926,210 +709,122 @@ demand and thus an internet connection is required. CustomPlugin.EditCustomForm - + Edit Custom Slides Redigera anpassade diabilder - - Move slide up one position. - Flytta upp diabilden en position. - - - - Move slide down one position. - Flytta ner diabilden en position. - - - + &Title: &Titel: - + Add a new slide at bottom. Lägg till en ny diabild sist. - + Edit the selected slide. Redigera vald diabild. - + Edit all the slides at once. Redigera alla diabilder på en gång. - - Delete the selected slide. - Ta bort vald diabild. - - - + Split Slide Dela diabilden - + Split a slide into two by inserting a slide splitter. Dela diabilden i två genom att lägga till en diabild delare. - + The&me: Te&ma: - + &Credits: - - Save && Preview - Spara && förhandsgranska - - - + You need to type in a title. Du måste ange en titel. - + You need to add at least one slide Du måste lägga till minst en diabild - - &Add - &Lägg till - - - - &Edit - &Ändra - - - + Ed&it All - - - - - &Delete - &Ta bort - - - - CustomPlugin.MediaItem - - - You haven't selected an item to edit. - Du har inte valt något objekt för redigering. - - - - You haven't selected an item to delete. - Du har inte valt något objekt att ta bort. + Red&igera alla CustomsPlugin - - Import - - - - + Import a Custom - - Load - - - - + Load a new Custom - - Add - - - - + Add a new Custom - - Edit - Redigera - - - + Edit the selected Custom - - Delete - Ta bort - - - + Delete the selected Custom - - Preview - Förhandsgranska - - - + Preview the selected Custom - - Live - - - - + Send the selected Custom live - - Service - Gudstjänst - - - + Add the selected Custom to the service - + Custom name singular Anpassad - + Customs name plural - + Custom container title Anpassad @@ -1138,169 +833,108 @@ demand and thus an internet connection is required. ImagePlugin - + <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. + + + Load a new Image + Ladda en ny bild + + + + Add a new Image + Lägg till en ny bild + + + + Edit the selected Image + Redigera vald bild + - Load - + Delete the selected Image + Ta bort vald bild - Load a new Image - - - - - Add - - - - - Add a new Image - - - - - Edit - Redigera - - - - Edit the selected Image - - - - - Delete - Ta bort - - - - Delete the selected Image - - - - - Preview - Förhandsgranska - - - Preview the selected Image - + Förhandsgranska vald bild - - Live - - - - + Send the selected Image live - - Service - Gudstjänst - - - + Add the selected Image to the service - + Image name singular Bild - + Images name plural - + Bilder - + Images container title + Bilder + + + + ImagePlugin.ExceptionDialog + + + Select Attachment ImagePlugin.MediaItem - + Select Image(s) Välj bild(er) - - All Files - Alla filer - - - - Replace Live Background - - - - - Replace Background - Ersätt bakgrund - - - - Reset Live Background - - - - + You must select an image to delete. - - Image(s) - Bild(er) - - - + You must select an image to replace the background with. - - Reset Background - - - - + Missing Image(s) - + Bild(er) saknas - + The following image(s) no longer exist: %s - + Följande bild(er) finns inte längre: %s - + The following image(s) no longer exist: %s Do you want to add the other images anyway? - + Följande bild(er) finns inte längre: %s +Vill du lägga till dom andra bilderna ändå? - - Live Background Error - - - - + There was a problem replacing your background, the image file "%s" no longer exists. @@ -1308,146 +942,86 @@ Do you want to add the other images anyway? MediaPlugin - + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. - - Load - - - - + Load a new Media - - Add - - - - + Add a new Media - - Edit - Redigera - - - + Edit the selected Media - - Delete - Ta bort - - - + Delete the selected Media - - Preview - Förhandsgranska - - - + Preview the selected Media - - Live - - - - + Send the selected Media live - - Service - Gudstjänst - - - + Add the selected Media to the service - + Media name singular - + Media - + Media name plural - + Media - + Media container title - + Media MediaPlugin.MediaItem - - Media - Media - - - + Select Media Välj media - - Replace Live Background - - - - - Replace Background - Ersätt bakgrund - - - + You must select a media file to delete. Du måste välja en mediafil för borttagning. - - Videos (%s);;Audio (%s);;All files (*) - - - - + Missing Media File - + The file %s no longer exists. - - - Reset Background - - You must select a media file to replace the background with. @@ -1455,12 +1029,12 @@ Do you want to add the other images anyway? - Live Background Error + There was a problem replacing your background, the media file "%s" no longer exists. - - There was a problem replacing your background, the media file "%s" no longer exists. + + Videos (%s);;Audio (%s);;%s (*) @@ -1468,16 +1042,11 @@ Do you want to add the other images anyway? MediaPlugin.MediaTab - Media - - - - Media Display - + Use Phonon for video playback @@ -1485,18 +1054,13 @@ Do you want to add the other images anyway? OpenLP - + Image Files Bildfiler OpenLP.AboutForm - - - About OpenLP - Om OpenLP - 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 - - About - Om - - - + Credits - Credits + Lista över medverkande @@ -1534,7 +1093,7 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + Project Lead Raoul "superfly" Snyman @@ -1587,9 +1146,11 @@ Final Credit - + 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 OpenLP.AdvancedTab - - Advanced - Avancerat - - - + UI Settings - + Number of recent files to display: - + Remember active media manager tab on startup - + Double-click to send items straight to live - + Expand new service items on creation - + Enable application exit confirmation - + Mouse Cursor - - Hide the mouse cursor when moved over the display window + + Hide mouse cursor when over display window + + + + + Default Image + + + + + Background color: + Bakgrundsfärg: + + + + Image file: + + + + + Open File + + + + + OpenLP.DisplayTagDialog + + + Edit Selection + + + + + Update + + + + + Description + + + + + Tag + + + + + Start tag + + + + + End tag + + + + + Default + + + + + Tag id + + + + + Start Html + + + + + End Html OpenLP.DisplayTagTab - - Edit Selection - - - - - Update - - - - - Description - - - - - Tag - - - - - Start tag - - - - - End tag - - - - - Delete - - - - - Default - - - - - New - - - - - Tag id - - - - - Start Html - - - - - End Html - - - - + Update Error - + Tag "n" already defined. - + Tag %s already defined. @@ -1851,40 +1420,70 @@ This General Public License does not permit incorporating your program into prop OpenLP.ExceptionDialog - + 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. - + Error Occurred Fel uppstod - + Send E-Mail - + Save to File + + + Please enter a description of what you were doing to cause this error +(Minimum 20 characters) + + + + + Attach File + + + + + Description characters to enter : %s + + OpenLP.ExceptionForm - + Platform: %s - + + Save Crash Report + + + + + Text files (*.txt *.log *.text) + + + + **OpenLP Bug Report** Version: %s ---- Exception Traceback --- +--- Details of the Exception. --- + +%s + + --- Exception Traceback --- %s --- System information --- %s @@ -1894,24 +1493,15 @@ Version: %s - - Save Crash Report - - - - - Text files (*.txt *.log *.text) - - - - + *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 OpenLP.FileRenameForm - + File Rename - + New File Name: - + File Copy @@ -1943,130 +1533,130 @@ Version: %s OpenLP.GeneralTab - + General Allmänt - + Monitors Skärmar - + Select monitor for output display: Välj skärm för utsignal: - + Display if a single screen - + Application Startup Programstart - + Show blank screen warning Visa varning vid tom skärm - + Automatically open the last service Öppna automatiskt den senaste planeringen - + Show the splash screen Visa startbilden - + Application Settings Programinställningar - + Prompt to save before starting a new service - + Automatically preview next item in service Automatiskt förhandsgranska nästa post i planeringen - + Slide loop delay: - + sec sekunder - + CCLI Details CCLI-detaljer - - CCLI number: - CCLI-nummer - - - + SongSelect username: SongSelect användarnamn: - + SongSelect password: SongSelect lösenord: - + Display Position - + X X - + Y Y - + Height Höjd - + Width Bredd - + Override display position - + Screen - + primary + + + Check for updates to OpenLP + + OpenLP.LanguageManager @@ -2084,7 +1674,7 @@ Version: %s OpenLP.MainDisplay - + OpenLP Display @@ -2092,409 +1682,374 @@ Version: %s OpenLP.MainWindow - - OpenLP 2.0 - OpenLP 2.0 - - - + &File &Fil - + &Import &Importera - + &Export &Exportera - + &View &Visa - + M&ode &Läge - + &Tools &Verktyg - + &Settings &Inställningar - + &Language &Språk - + &Help &Hjälp - + Media Manager Mediahanterare - + Service Manager Planeringshanterare - + Theme Manager Temahanterare - + &New &Ny - - New Service - Ny planering - - - - Create a new service. - Skapa en ny planering. - - - + Ctrl+N Ctrl+N - + &Open &Öppna - - Open Service - Öppna planering - - - + Open an existing service. Öppna en befintlig planering. - + Ctrl+O Ctrl+O - + &Save &Spara - - Save Service - Spara planering - - - + Save the current service to disk. Spara den aktuella planeringen till disk. - + Ctrl+S Ctrl+S - + Save &As... S&para som... - + Save Service As Spara planering som - + Save the current service under a new name. Spara den aktuella planeringen under ett nytt namn. - + Ctrl+Shift+S Ctrl+Shift+S - + E&xit &Avsluta - + Quit OpenLP Avsluta OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... &Konfigurera OpenLP... - + &Media Manager &Mediahanterare - + Toggle Media Manager Växla mediahanterare - + Toggle the visibility of the media manager. Växla synligheten för mediahanteraren. - + F8 F8 - + &Theme Manager &Temahanterare - + Toggle Theme Manager Växla temahanteraren - + Toggle the visibility of the theme manager. Växla synligheten för temahanteraren. - + F10 F10 - + &Service Manager &Planeringshanterare - + Toggle Service Manager Växla planeringshanterare - + Toggle the visibility of the service manager. Växla synligheten för planeringshanteraren. - + F9 F9 - + &Preview Panel &Förhandsgranskning - + Toggle Preview Panel Växla förhandsgranskningspanel - + Toggle the visibility of the preview panel. Växla synligheten för förhandsgranskningspanelen. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Pluginlista - + List the Plugins Lista pluginen - + Alt+F7 Alt+F7 - + &User Guide &Användarguide - + &About &Om - + More information about OpenLP Mer information om OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Hjälp online - + &Web Site &Webbsida - + &Auto Detect Välj &automatiskt - + Use the system language, if available. - Använd systemspråket om möjligt + Använd systemspråket om möjligt. - + Set the interface language to %s - + Add &Tool... - Lägg till verktyg... + Lägg till &verktyg... - + Add an application to the list of tools. Lägg till en applikation i verktygslistan. - + &Default &Standard - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - + 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/. - + OpenLP Version Updated OpenLP-versionen uppdaterad - + OpenLP Main Display Blanked OpenLPs huvuddisplay rensad - + The Main Display has been blanked out Huvuddisplayen har rensats - - Save Changes to Service? - Spara ändringarna till planeringen? - - - - Your service has changed. Do you want to save those changes? - Din planering har ändrats. Vill du spara dessa ändringar? - - - + Default Theme: %s Standardtema: %s @@ -2505,75 +2060,85 @@ You can download the latest version from http://openlp.org/. Svenska - + Configure &Shortcuts... - + Close OpenLP - + Are you sure you want to close OpenLP? + + + Print the current Service Order. + + + + + Ctrl+P + + + + + Open &Data Folder... + + + + + Open the folder where songs, bibles and other data resides. + + + + + &Configure Display Tags + + OpenLP.MediaManagerItem - + No Items Selected Inget objekt valt - + &Add to selected Service Item - &Lägg till till vald planeringsobjekt + &Lägg till vald planeringsobjekt - + You must select one or more items to preview. Du måste välja ett eller flera objekt att förhandsgranska. - + You must select one or more items to send live. - + You must select one or more items. Du måste välja ett eller flera objekt. - - No items selected - Inget objekt valt - - - - You must select one or more items - Du måste välja ett eller flera objekt - - - - No Service Item Selected - Ingen planering är vald - - - + You must select an existing service item to add to. Du måste välja en befintligt planeringsobjekt att lägga till till. - + Invalid Service Item Felaktigt planeringsobjekt - + You must select a %s service item. Du måste välja ett %s planeringsobjekt. @@ -2581,25 +2146,15 @@ You can download the latest version from http://openlp.org/. OpenLP.PluginForm - + Plugin List Pluginlista - + Plugin Details Plugindetaljer - - - Version: - Version: - - - - About: - Om: - Status: @@ -2616,237 +2171,318 @@ You can download the latest version from http://openlp.org/. Inaktiv - + %s (Inactive) - + %s (Active) - + %s (Disabled) + + OpenLP.PrintServiceDialog + + + Fit Page + + + + + Fit Width + + + + + OpenLP.PrintServiceForm + + + Options + + + + + Close + + + + + Copy + + + + + Copy as HTML + + + + + Zoom In + + + + + Zoom Out + + + + + Zoom Original + + + + + Other Options + + + + + Include slide text if available + + + + + Include service item notes + + + + + Include play length of media items + + + + + Service Order Sheet + + + OpenLP.ServiceItemEditForm - + Reorder Service Item - - - Delete - Ta bort - OpenLP.ServiceManager - - New Service - Ny planering - - - - Create a new service - Skapa en ny mötesplanering - - - - Open Service - Öppna planering - - - + Load an existing service Ladda en planering - - Save Service - Spara planering - - - + Save this service Spara denna mötesplanering - - Theme: - Tema: - - - + Select a theme for the service Välj ett tema för planeringen - + Move to &top Flytta till &toppen - + Move item to the top of the service. - + Move &up Flytta &upp - + Move item up one position in the service. - + Move &down Flytta &ner - + Move item down one position in the service. - + Move to &bottom Flytta längst &ner - + Move item to the end of the service. - + &Delete From Service &Ta bort från mötesplanering - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item &Redigera objekt - + &Reorder Item - + &Notes &Anteckningar - - &Preview Verse - &Förhandsgranska Vers - - - - &Live Verse - &Live-vers - - - + &Change Item Theme &Byt objektets tema - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - - Save Changes - - - - - The current service has been modified, would you like to save it? - - - - + Open File - + OpenLP Service Files (*.osz) + + + Moves the selection down the window. + + + + + Move up + + + + + Moves the selection up the window. + + + + + Go Live + + + + + Send the selected item to Live. + + + + + Modified Service + + + + + Notes: + + + + + &Start Time + + + + + Show &Preview + + + + + Show &Live + + + + + The current service has been modified. Would you like to save this service? + + OpenLP.ServiceNoteForm - + Service Item Notes Mötesanteckningar @@ -2854,7 +2490,7 @@ The content encoding is not UTF-8. OpenLP.SettingsForm - + Configure OpenLP @@ -2877,17 +2513,17 @@ The content encoding is not UTF-8. - + Default: %s - + Custom: - + None @@ -2901,137 +2537,180 @@ The content encoding is not UTF-8. The shortcut "%s" is already assigned to another action, please use a different shortcut. + + + Alternate + + OpenLP.SlideController - - Live - Live - - - - Preview - Förhandsgranska - - - + Move to previous Flytta till föregående - + Move to next Flytta till nästa - + Hide - + Move to live Flytta till live - + Start continuous loop Börja oändlig loop - + Stop continuous loop Stoppa upprepad loop - - s - s - - - + Delay between slides in seconds Fördröjning mellan bilder, i sekunder - + Start playing media Börja spela media - + Go To - + Edit and reload song preview - + Blank Screen - + Blank to Theme - + Show Desktop + + + Previous Slide + + + + + Next Slide + + + + + Previous Service + + + + + Next Service + + + + + Escape Item + + OpenLP.SpellTextEdit - + Spelling Suggestions - + Formatting Tags + + OpenLP.StartTimeForm + + + Item Start Time + + + + + Hours: + + + + + h + + + + + m + + + + + Minutes: + + + + + Seconds: + + + OpenLP.ThemeForm - - All Files - Alla filer - - - + Select Image Välj bild - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (%d lines per slide) @@ -3039,476 +2718,431 @@ The content encoding is not UTF-8. OpenLP.ThemeManager - - New Theme - Nytt Tema - - - + Create a new theme. - + Edit Theme Redigera tema - + Edit a theme. - + Delete Theme Ta bort tema - + Delete a theme. - + Import Theme Importera tema - + Import a theme. - + Export Theme Exportera tema - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + %s (default) - + You must select a theme to edit. - + You are unable to delete the default theme. Du kan inte ta bort standardtemat. - + You have not selected a theme. Du har inte valt ett tema. - + Save Theme - (%s) Spara tema - (%s) - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Select Theme Import File Välj tema importfil - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. Filen är inte ett giltigt tema. - + Theme %s is used in the %s plugin. - + &Copy Theme - + &Rename Theme - + &Export Theme - + You must select a theme to rename. - + Rename Confirmation - + Rename %s theme? - + You must select a theme to delete. - + Delete Confirmation - + Delete %s theme? - - Theme v1 (*.theme);;Theme v2 (*.otz);;All Files (*.*) - - - - + Validation Error - + A theme with this name already exists. + + + OpenLP Themes (*.theme *.otz) + + OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Solid färg - + Gradient Stegvis - - Image - Bild - - - + Color: Färg: - + Gradient: Stegvis: - + Horizontal Horisontal - + Vertical Vertikal - + Circular Cirkulär - + Top Left - Bottom Right - + Bottom Left - Top Right - - Image: - Bild: - - - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: Typsnitt: - + Size: Storlek: - - pt - pt - - - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Fetstil - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left Vänster - + Right Höger - + Center Centrera - - Vertical Align: - - - - - Top - Toppen - - - - Middle - Mitten - - - - Bottom - Botten - - - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: X-position: - + px px - + Y position: Y-position: - + Width: Bredd: - + Height: Höjd: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - - New Theme - - - - + 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. - + Transitions: - + &Footer Area - + Edit Theme - %s @@ -3516,47 +3150,42 @@ The content encoding is not UTF-8. OpenLP.ThemesTab - - Themes - Teman - - - + Global Theme - + Theme Level - + S&ong Level - + 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. 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. - + &Service Level - + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - 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. + 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. - + &Global Level - + Use the global theme, overriding any themes associated with either the service or the songs. Använd det globala temat, ignorerar teman associerade med mötesplaneringen eller sångerna. @@ -3564,82 +3193,471 @@ The content encoding is not UTF-8. OpenLP.Ui - + Error Fel + + + &Delete + &Ta bort + + + + Delete the selected item. + + + + + Move selection up one position. + + + + + Move selection down one position. + + + + + &Add + &Lägg till + + + + Advanced + Avancerat + + + + All Files + Alla filer + + + + Create a new service. + Skapa en ny planering. + + + + &Edit + &Redigera + + + + Import + Importera + + + + Length %s + + + + + Live + + + + + Load + Ladda + + + + New + + + + + New Service + Ny planering + + + + OpenLP 2.0 + OpenLP 2.0 + + + + Open Service + Öppna planering + + + + Preview + Förhandsgranska + + + + Replace Background + Ersätt bakgrund + + + + Replace Live Background + + + + + Reset Background + + + + + Reset Live Background + + + + + Save Service + Spara planering + + + + Service + Gudstjänst + + + + Start %s + + + + + &Vertical Align: + + + + + Top + Toppen + + + + Middle + Mitten + + + + Bottom + Botten + + + + About + Om + + + + Browse... + + + + + Cancel + + + + + CCLI number: + + + + + Empty Field + + + + + Export + + + + + pt + Abbreviated font pointsize unit + + + + + Image + Bild + + + + Live Background Error + + + + + Live Panel + + + + + New Theme + + + + + No File Selected + Singular + + + + + No Files Selected + Plural + + + + + No Item Selected + Singular + + + + + No Items Selected + Plural + Inget objekt valt + + + + openlp.org 1.x + openlp.org 1.x + + + + Preview Panel + + + + + Print Service Order + + + + + s + The abbreviated unit for seconds + + + + + Save && Preview + Spara && förhandsgranska + + + + Search + Sök + + + + You must select an item to delete. + + + + + You must select an item to edit. + + + + + Theme + Singular + Tema + + + + Themes + Plural + + + + + Version + + + + + Finished import. + Importen är färdig. + + + + Format: + + + + + Importing + Importerar + + + + Importing "%s"... + Importerar "%s"... + + + + Select Import Source + Välj importkälla + + + + Select the import format and the location to import from. + + + + + 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. + + + + + Open %s File + + + + + %p% + %p% + + + + Ready. + + + + + Starting import... + + + + + You need to specify at least one %s file to import from. + A file type e.g. OpenSong + + + + + Welcome to the Bible Import Wizard + Välkommen till guiden för bibelimport + + + + Welcome to the Song Export Wizard + + + + + Welcome to the Song Import Wizard + + + + + Author + Singular + + + + + Authors + Plural + Författare + + + + © + Copyright symbol. + © + + + + Song Book + Singular + Sångbok + + + + Song Books + Plural + + + + + Song Maintenance + Sångunderhåll + + + + Topic + Singular + Ämne + + + + Topics + Plural + Ämnen + + + + OpenLP.displayTagDialog + + + Configure Display Tags + + PresentationPlugin - + <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. - - Load - - - - + Load a new Presentation - - - Delete - Ta bort - Delete the selected Presentation - - Preview - Förhandsgranska - - - + Preview the selected Presentation - - Live - - - - + Send the selected Presentation live - - Service - Gudstjänst - - - + Add the selected Presentation to the service - + Presentation name singular Presentation - + Presentations name plural Presentationer - + Presentations container title Presentationer @@ -3648,105 +3666,100 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Välj presentation(er) - + Automatic Automatisk - + Present using: Presentera genom: - + File Exists - + A presentation with that filename already exists. En presentation med det namnet finns redan. - + Unsupported File - + This type of presentation is not supported. - - You must select an item to delete. - - - - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. + + + The Presentation %s is incomplete, please reload. + + PresentationPlugin.PresentationTab - + Available Controllers Tillgängliga Presentationsprogram - - Advanced - Avancerat - - - + Allow presentation application to be overriden - - %s (unvailable) + + %s (unavailable) RemotePlugin - + <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. - + Remote name singular - + Remotes name plural Fjärrstyrningar - + Remote container title @@ -3834,7 +3847,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -3848,263 +3861,255 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? Vill du verkligen ta bort vald sånganvändningsdata? + + + Deletion Successful + + + + + All requested data has been deleted successfully. + + SongUsagePlugin.SongUsageDetailForm - + Song Usage Extraction Sånganvändningsutdrag - + Select Date Range Välj datumspann - + to till - + Report Location Rapportera placering - + Output File Location Utfil sökväg - + usage_detail_%s_%s.txt + + + Report Creation + + + + + Report +%s +has been successfully created. + + SongsPlugin - + &Song &Sång - + Import songs using the import wizard. - + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. - + &Re-index Songs - + Re-index the songs database to improve searching and ordering. - + Reindexing songs... - - Cancel - - - - - Add - - - - + Add a new Song - - Edit - Redigera - - - + Edit the selected Song - - Delete - Ta bort - - - + Delete the selected Song - - Preview - Förhandsgranska - - - + Preview the selected Song - - Live - - - - + Send the selected Song live - - Service - Gudstjänst - - - + Add the selected Song to the service - + Song name singular Sång - + Songs name plural Sånger - + Songs container title Sånger - + Arabic (CP-1256) - + Baltic (CP-1257) - + Central European (CP-1250) - + Cyrillic (CP-1251) - + Greek (CP-1253) - + Hebrew (CP-1255) - + Japanese (CP-932) - + Korean (CP-949) - + Simplified Chinese (CP-936) - + Thai (CP-874) - + Traditional Chinese (CP-950) - + Turkish (CP-1254) - + Vietnam (CP-1258) - + Western European (CP-1252) - + Character Encoding - + The codepage setting is responsible for the correct character representation. Usually you are fine with the preselected choice. - + Please choose the character encoding. The encoding is responsible for the correct character representation. + + + Exports songs using the export wizard. + + SongsPlugin.AuthorsForm - + Author Maintenance Författare underhåll - + Display name: Visningsnamn: - + First name: Förnamn: - + Last name: Efternamn: @@ -4114,12 +4119,12 @@ The encoding is responsible for the correct character representation. Du måste ange låtskrivarens förnamn. - + You need to type in the last name of the author. Du måste ange författarens efternamn. - + You have not set a display name for the author, combine the first and last names? @@ -4127,7 +4132,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.CCLIFileImport - + Importing song %d of %d @@ -4135,242 +4140,182 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditSongForm - + Song Editor Sångredigerare - + &Title: &Titel: - + Alt&ernate title: - + &Lyrics: - + &Verse order: - - &Add - &Lägg till - - - - &Edit - &Redigera - - - + Ed&it All - + Red&igera alla - - &Delete - &Ta bort - - - + Title && Lyrics Titel && Sångtexter - - Authors - Författare - - - + &Add to Song &Lägg till i sång - + &Remove &Ta bort - + &Manage Authors, Topics, Song Books - - Topic - Ämne - - - + A&dd to Song Lä&gg till i sång - + R&emove Ta &bort - - Song Book - Sångbok - - - + Book: Bok: - + Number: Nummer: - + Authors, Topics && Song Book - - Theme - Tema - - - + New &Theme Nytt &tema - + Copyright Information Copyrightinformation - - © - © - - - - CCLI number: - CCLI nummer: - - - + Comments Kommentarer - + Theme, Copyright Info && Comments Tema, copyrightinfo && kommentarer - - Save && Preview - Spara && förhandsgranska - - - + Add Author Lägg till föfattare - + This author does not exist, do you want to add them? - + This author is already in the list. - - No Author Selected - - - - + 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. - + Add Topic - + This topic does not exist, do you want to add it? - + This topic is already in the list. - - No Topic Selected - - - - + 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. - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + Add Book - + This song book does not exist, do you want to add it? - + You need to have an author for this song. - + You need to type some text in to the verse. @@ -4378,290 +4323,158 @@ The encoding is responsible for the correct character representation. SongsPlugin.EditVerseForm - + Edit Verse Redigera vers - + &Verse type: - + &Insert + + SongsPlugin.ExportWizardForm + + + Song Export Wizard + + + + + This wizard will help to export your songs to the open and free OpenLyrics worship song format. + + + + + Select Songs + + + + + Uncheck All + + + + + Check All + + + + + Select Directory + + + + + Select the directory you want the songs to be saved. + + + + + Directory: + + + + + Exporting + + + + + Please wait while your songs are exported. + + + + + You need to add at least one Song to export. + + + + + No Save Location specified + + + + + You need to specified a directory to save the songs in. + + + + + Starting export... + + + + + Selecte to Folder + + + + + Check the songs you want to export. + + + SongsPlugin.ImportWizardForm - - No OpenLP 2.0 Song Database Selected - - - - - You need to select an OpenLP 2.0 song database file to import from. - - - - - No openlp.org 1.x Song Database Selected - - - - - You need to select an openlp.org 1.x song database file to import from. - - - - - No OpenSong Files Selected - - - - - You need to add at least one OpenSong song file to import from. - - - - - No Words of Worship Files Selected - - - - - You need to add at least one Words of Worship file to import from. - - - - - No CCLI Files Selected - - - - - You need to add at least one CCLI file to import from. - - - - - No Songs of Fellowship File Selected - - - - - You need to add at least one Songs of Fellowship file to import from. - - - - - No Document/Presentation Selected - - - - - You need to add at least one document or presentation file to import from. - - - - - Select OpenLP 2.0 Database File - - - - - Select openlp.org 1.x Database File - - - - - Select Open Song Files - - - - - Select Words of Worship Files - - - - - Select CCLI Files - - - - - Select Songs of Fellowship Files - - - - + Select Document/Presentation Files - - Starting import... - Påbörjar import... - - - + Song Import Wizard - - Welcome to the Song Import Wizard - - - - + 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. - - Select Import Source - Välj importkälla - - - - Select the import format, and where to import from. - Välj format för import, och plats att importera från. - - - - Format: - Format: - - - - OpenLP 2.0 - OpenLP 2.0 - - - - openlp.org 1.x - openlp.org 1.x - - - - OpenLyrics - OpenLyrics - - - - OpenSong - OpenSong - - - - Words of Worship - - - - - CCLI/SongSelect - - - - - Songs of Fellowship - - - - + Generic Document/Presentation - + Filename: - - Browse... - - - - - 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. - - - - + Add Files... - + Remove File(s) - + The Songs of Fellowship importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - + The generic document/presentation importer has been disabled because OpenLP cannot find OpenOffice.org on your computer. - - Importing - Importerar - - - + Please wait while your songs are imported. - - Ready. - Redo. - - - - %p% - %p% - - - - Importing "%s"... - Importerar "%s"... - - - - Importing %s... - Importerar %s... - - - - No EasyWorship Song Database Selected - - - - - You need to select an EasyWorship song database file to import from. - - - - - Select EasyWorship Database File - - - - - EasyWorship - - - - + 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. @@ -4671,88 +4484,43 @@ The encoding is responsible for the correct character representation. - - No SongBeamer File Selected - - - - - You need to add at least one SongBeamer file to import from. - - - - - All Files - Alla filer - - - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - - Songs Of Felloship Song Files + + Songs Of Fellowship Song Files - - Select SongBeamer Files + + SongBeamer Files - - SongBeamer + + SongShow Plus Song Files - - SongBeamer files + + You need to specify at least one document or presentation file to import from. - - EasiSlides - - - - - No OpenLyrics Files Selected - - - - - You need to add at least one OpenLyrics song file to import from. - - - - - No Easislides Songs file selected - - - - - You need to select an xml song file exported from EasiSlides, to import from. - - - - - Select OpenLyrics Files - - - - - Select EasiSlides songfile + + Foilpresenter Song Files @@ -4760,116 +4528,73 @@ The encoding is responsible for the correct character representation. SongsPlugin.MediaItem - Song Maintenance - Sångunderhåll - - - Maintain the lists of authors, topics and books Hantera listorna över författare, ämnen och böcker - - Search: - Sök: - - - - Search - Sök - - - + Titles Titlar - + Lyrics Sångtexter - - Authors - Författare - - - - You must select an item to edit. - - - - - You must select an item to delete. - - - - + Delete Song(s)? - + CCLI License: - + Entire Song - + Are you sure you want to delete the %n selected song(s)? - - - Themes - - SongsPlugin.OpenLPSongImport - + Importing song %d of %d. - SongsPlugin.OpenLyricsImport + SongsPlugin.OpenLyricsExport - - Importing %s... - Importerar %s... - - - - SongsPlugin.SongBeamerImport - - - Importing %s... - Importerar %s... + + Exporting "%s"... + SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: &Namn: - + &Publisher: @@ -4879,33 +4604,31 @@ The encoding is responsible for the correct character representation. + + SongsPlugin.SongExportForm + + + Finished export. + + + + + Your song export failed. + + + SongsPlugin.SongImport - + copyright copyright - - - © - © - - - - Author unknown - - SongsPlugin.SongImportForm - - Finished import. - Importen är färdig. - - - + Your song import failed. @@ -4913,157 +4636,107 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongMaintenanceForm - - Song Maintenance - Sångunderhåll - - - - Authors - Författare - - - - Topics - Ämnen - - - - Song Books - - - - - &Add - &Lägg till - - - - &Edit - &Redigera - - - - &Delete - &Ta bort - - - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified topic, because it already exists. - + Delete Author Ta bort författare - + Are you sure you want to delete the selected author? Är du säker på att du vill ta bort den valda författare? - + This author cannot be deleted, they are currently assigned to at least one song. - - No author selected! - Ingen författare vald! - - - + Delete Topic Ta bort ämne - + Are you sure you want to delete the selected topic? Är du säker på att du vill ta bort valt ämne? - + This topic cannot be deleted, it is currently assigned to at least one song. - - No topic selected! - Inget ämne valt! - - - + Delete Book Ta bort bok - + Are you sure you want to delete the selected book? Är du säker på att du vill ta bort vald bok? - + This book cannot be deleted, it is currently assigned to at least one song. - - No book selected! - Ingen bok vald! - - - + Could not save your modified author, because the author already exists. - + The author %s already exists. Would you like to make songs with author %s use the existing author %s? - + The topic %s already exists. Would you like to make songs with topic %s use the existing topic %s? - + The book %s already exists. Would you like to make songs with book %s use the existing book %s? @@ -5099,12 +4772,12 @@ The encoding is responsible for the correct character representation. SongsPlugin.TopicsForm - + Topic Maintenance Ämnesunderhåll - + Topic name: Ämnesnamn: @@ -5117,7 +4790,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.VerseType - + Verse Vers @@ -5127,37 +4800,29 @@ The encoding is responsible for the correct character representation. Refräng - + Bridge Brygga - + Pre-Chorus Brygga - + Intro Intro - + Ending Ending - + Other Övrigt - - SongsPlugin.XML - - - Author unknown - - - From 4e60a598869c2c94f962354cc559c81b095b0f96 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 1 Mar 2011 20:26:54 +0200 Subject: [PATCH 17/31] 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 Date: Tue, 1 Mar 2011 20:39:12 +0200 Subject: [PATCH 18/31] 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Geen Parameter gevind nie - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Daar is nie 'n parameter gegee om te vervang nie. Gaan steeds voort? - - - No Placeholder found - Geen Plekhouer gevind nie - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Die attent teks bevat nie '<>' nie. Gaan steeds voort? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Kein Parameter gefunden - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Sie haben keinen Parameter angegeben, der ersetzt werden könnte. Möchten Sie trotzdem fortfahren? - - - No Placeholder found - Kein Platzhalter gefunden - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Der Hinweistext enthält kein '<>'. Möchten Sie trotzdem fortfahren? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found 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 @@ AlertPlugin.AlertForm - - - No Parameter found - - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found 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 @@ AlertPlugin.AlertForm - - - No Parameter found - No Parameter found - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Parámetro no hallado - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? No ha ingresado un parámetro para reemplazarlo. ¿Desea continuar de todas maneras? - - - No Placeholder found - - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? El texto de alerta no contiene '<>'. ¿Desea continuar de todas maneras? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Ühtegi parameetrit ei leitud - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Sa ei ole sisestanud parameetrit, mida asendada. Kas tahad sellegipoolest jätkata? - - - No Placeholder found - Ühtegi kohahoidjat ei leitud - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Teate tekst ei sisalda '<>' märke. Kas tahad sellegipoolest jätkata? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Pas de paramètre trouvé - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found @@ -955,13 +955,13 @@ Voulez-vous ajouter de toute façon d'autres images ? Media name plural - + Médias Media container title - + Médias 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Nem található a paraméter - You have not entered a parameter to be replaced. Do you want to continue anyway? Nincs megadva a cserélendő paraméter. Folytatható? - - - No Placeholder found - Nem található a helyjelölő - The alert text does not contain '<>'. @@ -25,6 +15,16 @@ Do want to continue anyway? A figyelmeztető szöveg nem tartalmaz „<>” karaktereket. Folytatható? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Parameter tidak ditemukan - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Anda belum memasukkan parameter baru. Tetap lanjutkan? - - - No Placeholder found - Placeholder tidak ditemukan - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Teks peringatan tidak mengandung '<>'. Tetap lanjutkan? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - 引数がみつかりません - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? 引数が入力されていません。 続けますか? - - - No Placeholder found - 代入場所がみつかりません - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? 警告文に「<>」が含まれていません。 続けますか? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found 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 @@ AlertPlugin.AlertForm - - - No Parameter found - - You have not entered a parameter to be replaced. @@ -15,13 +10,18 @@ Do you want to continue anyway? - No Placeholder found + The alert text does not contain '<>'. +Do want to continue anyway? + + + + + No Parameter Found - The alert text does not contain '<>'. -Do want to continue anyway? + No Placeholder Found 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Geen parameter gevonden - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? U heeft geen parameter opgegeven die vervangen moeten worden Toch doorgaan? - - - No Placeholder found - Geen plaatsmarkering gevonden - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? De waarschuwingstekst bevat geen '<>'. Toch doorgaan? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Nenhum Parâmetro encontrado - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Você não entrou com um parâmetro para ser substituído. Ainda deseja continuar? - - - No Placeholder found - Nenhum lugar marcado foi encontrado - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? O texto de alerta não contém '<>'. Ainda deseja continuar? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Параметр не найден - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Вы не указали параметры для замены. Все равно продолжить? - - - No Placeholder found - Заполнитель не найден - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Текст оповещения не содержит '<>'. Все равно продолжить? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin @@ -3285,7 +3285,7 @@ The content encoding is not UTF-8. Image - + Изображение 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 @@ AlertPlugin.AlertForm - - - No Parameter found - Hittade ingen parameter - You have not entered a parameter to be replaced. @@ -14,11 +9,6 @@ Do you want to continue anyway? Du har inte angivit någon parameter som kan ersättas. Vill du fortsätta ändå? - - - No Placeholder found - - The alert text does not contain '<>'. @@ -26,6 +16,16 @@ Do want to continue anyway? Larmtexten innehåller inget '<>'. Vill du fortsätta ändå? + + + No Parameter Found + + + + + No Placeholder Found + + AlertsPlugin From 2c4a0a20d13c8804903b6f0faf7c95f047862f5a Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 2 Mar 2011 08:03:33 +0200 Subject: [PATCH 19/31] 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 Date: Wed, 2 Mar 2011 18:44:01 +0100 Subject: [PATCH 20/31] 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 Date: Wed, 2 Mar 2011 18:56:06 +0100 Subject: [PATCH 21/31] 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 Date: Wed, 2 Mar 2011 18:58:17 +0100 Subject: [PATCH 22/31] 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 Date: Wed, 2 Mar 2011 19:07:07 +0100 Subject: [PATCH 23/31] 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 Date: Wed, 2 Mar 2011 19:20:47 +0100 Subject: [PATCH 24/31] 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
    %s' % (self.foot_text, foot) + self.foot_text = u'
    '.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?= Date: Thu, 3 Mar 2011 03:40:18 +0200 Subject: [PATCH 25/31] 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?= Date: Thu, 3 Mar 2011 08:34:17 +0200 Subject: [PATCH 26/31] 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 Date: Thu, 3 Mar 2011 17:07:36 +0000 Subject: [PATCH 27/31] 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 Date: Thu, 3 Mar 2011 19:28:41 +0100 Subject: [PATCH 28/31] 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?= Date: Thu, 3 Mar 2011 22:18:17 +0200 Subject: [PATCH 29/31] 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) From b088e143f050d2f2fec20fdc623134ec2e489007 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 3 Mar 2011 21:10:55 +0000 Subject: [PATCH 30/31] Speedup start up and remove black display --- openlp/core/lib/rendermanager.py | 1 - openlp/core/ui/mainwindow.py | 2 -- openlp/core/ui/slidecontroller.py | 4 ++++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index eaf628a34..0c9549ea5 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -69,7 +69,6 @@ class RenderManager(object): self.image_manager = ImageManager() self.display = MainDisplay(self, screens, False) self.display.imageManager = self.image_manager - self.display.setup() self.theme_manager = theme_manager self.renderer = Renderer() self.calculate_default(self.screens.current[u'size']) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index b9de8a12e..7a67331ad 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -650,8 +650,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): Show the main form, as well as the display form """ QtGui.QWidget.show(self) - self.liveController.display.setup() - self.previewController.display.setup() if self.liveController.display.isVisible(): self.liveController.display.setFocus() self.activateWindow() diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 8d612676b..8d526706d 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -624,6 +624,10 @@ class SlideController(QtGui.QWidget): self.parent.renderManager.width, self.parent.renderManager.height) else: + if framenumber == slideno: + self.serviceItem.bg_image_bytes = \ + self.parent.renderManager.image_manager. \ + get_image_bytes(frame[u'title']) image = self.parent.renderManager.image_manager. \ get_image(frame[u'title']) label.setPixmap(QtGui.QPixmap.fromImage(image)) From 128a24a57b06e49d5b9eabf3e4bee31c6ef87667 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 4 Mar 2011 17:21:50 +0000 Subject: [PATCH 31/31] Update comments --- openlp/core/ui/slidecontroller.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 8d526706d..8c6b06c82 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -624,6 +624,7 @@ class SlideController(QtGui.QWidget): self.parent.renderManager.width, self.parent.renderManager.height) else: + # If current slide set background to image if framenumber == slideno: self.serviceItem.bg_image_bytes = \ self.parent.renderManager.image_manager. \ @@ -861,6 +862,8 @@ class SlideController(QtGui.QWidget): frame = self.display.text(toDisplay) else: frame = self.display.image(toDisplay) + # reset the store used to display first image + self.serviceItem.bg_image_bytes = None self.slidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) self.selectedRow = row Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix,