openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #02010
[Merge] lp:~crichter/openlp/bugfixing into lp:openlp
rimach has proposed merging lp:~crichter/openlp/bugfixing into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
- commandline options now can be combined
- better output what script currently do
- extended output with new option -v (Verbose)
- all available translation will be automatically detected from pootle server
- script can now be started without any parameter:
-> in this case the following steps will be done:
=> Download all available translation files
=> Generate openlp.pro file
=> Update the translation files
=> Generate the related *.qm files
--
https://code.launchpad.net/~crichter/openlp/bugfixing/+merge/28222
Your team OpenLP Core is requested to review the proposed merge of lp:~crichter/openlp/bugfixing into lp:openlp.
=== modified file 'resources/i18n/openlp_en.ts'
--- resources/i18n/openlp_en.ts 2010-06-21 16:43:59 +0000
+++ resources/i18n/openlp_en.ts 2010-06-22 17:44:29 +0000
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="en">
+<!DOCTYPE TS><TS version="1.1">
<context>
<name>AboutForm</name>
<message>
@@ -64,8 +63,8 @@
</message>
<message>
<location filename="openlp/core/ui/aboutdialog.py" line="171"/>
- <source>Copyright © 2004-2010 Raoul Snyman
-Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard
+ <source>Copyright © 2004-2010 Raoul Snyman
+Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
@@ -230,6 +229,11 @@
<source>Show an alert message</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/alerts/alertsplugin.py" line="97"/>
+ <source><b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AlertsPlugin.AlertForm</name>
@@ -261,7 +265,7 @@
<message>
<location filename="openlp/plugins/alerts/forms/alertdialog.py" line="160"/>
<source>&Delete</source>
- <translation type="unfinished">&Delete</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/alerts/forms/alertdialog.py" line="162"/>
@@ -290,6 +294,14 @@
</message>
</context>
<context>
+ <name>AlertsPlugin.AlertsManager</name>
+ <message>
+ <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="95"/>
+ <source>Alert message created and delayed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>AlertsPlugin.AlertsTab</name>
<message>
<location filename="openlp/plugins/alerts/lib/alertstab.py" line="41"/>
@@ -691,7 +703,12 @@
<context>
<name>BiblePlugin</name>
<message>
- <location filename="openlp/plugins/bibles/bibleplugin.py" line="73"/>
+ <location filename="openlp/plugins/bibles/bibleplugin.py" line="93"/>
+ <source><strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/bibleplugin.py" line="84"/>
<source>&Bible</source>
<translation type="unfinished"></translation>
</message>
@@ -709,6 +726,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/lib/biblestab.py" line="154"/>
+ <source>Only show new chapter numbers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/lib/biblestab.py" line="157"/>
<source>Layout Style:</source>
<translation type="unfinished"></translation>
@@ -765,6 +787,15 @@
</message>
</context>
<context>
+ <name>BiblesPlugin.BiblesTab</name>
+ <message>
+ <location filename="openlp/plugins/bibles/lib/biblestab.py" line="177"/>
+ <source>Note:
+Changes don't affect verses already in the service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>BiblesPlugin.ImportWizardForm</name>
<message>
<location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="311"/>
@@ -772,6 +803,26 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="313"/>
+ <source>Welcome to the Bible Import Wizard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="317"/>
+ <source>This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="322"/>
+ <source>Select Import Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="324"/>
+ <source>Select the import format, and where to import from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="327"/>
<source>Format:</source>
<translation type="unfinished"></translation>
@@ -857,11 +908,21 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="362"/>
+ <source>Proxy Server (Optional)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="366"/>
<source>License Details</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="368"/>
+ <source>Set up the Bible's license details.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="371"/>
<source>Version Name:</source>
<translation type="unfinished"></translation>
@@ -882,11 +943,86 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="379"/>
+ <source>Please wait while your Bible is imported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="382"/>
<source>Ready.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="125"/>
+ <source>Invalid Bible Location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="125"/>
+ <source>You need to specify a file to import your Bible from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="136"/>
+ <source>Invalid Books File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="136"/>
+ <source>You need to specify a file with books of the Bible to use in the import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="146"/>
+ <source>Invalid Verse File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="146"/>
+ <source>You need to specify a file of Bible verses to import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="158"/>
+ <source>Invalid OpenSong Bible</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="158"/>
+ <source>You need to specify an OpenSong Bible file to import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="174"/>
+ <source>Empty Version Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="174"/>
+ <source>You need to specify a version name for your Bible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="184"/>
+ <source>Empty Copyright</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="184"/>
+ <source>You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="195"/>
+ <source>Bible Exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="195"/>
+ <source>This Bible already exists! Please import a different Bible or first delete the existing one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/importwizardform.py" line="226"/>
<source>Open OSIS File</source>
<translation type="unfinished"></translation>
@@ -897,6 +1033,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="242"/>
+ <source>Open Verses CSV File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/forms/importwizardform.py" line="251"/>
<source>Open OpenSong Bible</source>
<translation type="unfinished"></translation>
@@ -906,6 +1047,16 @@
<source>Starting import...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="447"/>
+ <source>Finished import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="451"/>
+ <source>Your Bible import failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>BiblesPlugin.MediaItem</name>
@@ -1005,6 +1156,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="387"/>
+ <source>No matching book could be found in this Bible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/bibles/lib/mediaitem.py" line="560"/>
<source>etc</source>
<translation type="unfinished"></translation>
@@ -1024,6 +1180,14 @@
</message>
</context>
<context>
+ <name>CustomPlugin</name>
+ <message>
+ <location filename="openlp/plugins/custom/customplugin.py" line="70"/>
+ <source><b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>CustomPlugin.CustomTab</name>
<message>
<location filename="openlp/plugins/custom/lib/customtab.py" line="39"/>
@@ -1031,6 +1195,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/>
+ <source>Custom Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/custom/lib/customtab.py" line="60"/>
<source>Display Footer</source>
<translation type="unfinished"></translation>
@@ -1139,22 +1308,22 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="89"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="88"/>
<source>Save && Preview</source>
- <translation type="unfinished">Save && Preview</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="152"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="151"/>
<source>Error</source>
- <translation type="unfinished">Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="272"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="271"/>
<source>You need to enter a title</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="277"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="276"/>
<source>You need to enter a slide</source>
<translation type="unfinished"></translation>
</message>
@@ -1166,11 +1335,21 @@
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/custom/lib/mediaitem.py" line="121"/>
+ <source>You must select an item to edit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/custom/lib/mediaitem.py" line="133"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CustomPlugin.editCustomForm</name>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="281"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="280"/>
<source>You have unsaved data, please save or clear</source>
<translation type="unfinished"></translation>
</message>
@@ -1263,7 +1442,7 @@
<message>
<location filename="openlp/core/ui/generaltab.py" line="201"/>
<source>CCLI Number:</source>
- <translation type="unfinished">CCLI number:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/core/ui/generaltab.py" line="189"/>
@@ -1930,6 +2109,11 @@
<source>Invalid Service Item</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/core/lib/mediamanageritem.py" line="492"/>
+ <source>You must select a %s service item.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MediaPlugin</name>
@@ -1960,7 +2144,7 @@
<context>
<name>OpenLP</name>
<message>
- <location filename="openlp/core/utils/__init__.py" line="194"/>
+ <location filename="openlp/core/utils/__init__.py" line="208"/>
<source>Image Files</source>
<translation type="unfinished"></translation>
</message>
@@ -2024,22 +2208,78 @@
</message>
</context>
<context>
+ <name>PresentationPlugin</name>
+ <message>
+ <location filename="openlp/plugins/presentations/presentationplugin.py" line="111"/>
+ <source><b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PresentationPlugin.MediaItem</name>
<message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="64"/>
+ <source>Presentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="68"/>
+ <source>Select Presentation(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="70"/>
+ <source>Automatic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/presentations/lib/mediaitem.py" line="108"/>
<source>Present using:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="141"/>
+ <source>File exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="141"/>
+ <source>A presentation with that filename already exists.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="180"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PresentationPlugin.PresentationTab</name>
<message>
+ <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="40"/>
+ <source>Presentations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="92"/>
+ <source>Available Controllers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/presentations/lib/presentationtab.py" line="98"/>
<source>available</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>RemotePlugin</name>
+ <message>
+ <location filename="openlp/plugins/remotes/remoteplugin.py" line="72"/>
+ <source><b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RemotePlugin.RemoteTab</name>
<message>
<location filename="openlp/plugins/remotes/lib/remotetab.py" line="39"/>
@@ -2230,7 +2470,7 @@
<message>
<location filename="openlp/core/ui/servicemanager.py" line="709"/>
<source>Error</source>
- <translation type="unfinished">Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/core/ui/servicemanager.py" line="674"/>
@@ -2359,6 +2599,108 @@
</message>
</context>
<context>
+ <name>SongUsagePlugin</name>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="66"/>
+ <source>&Delete recorded data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/>
+ <source>Start/Stop live song usage recording</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="161"/>
+ <source><b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/>
+ <source>Delete song usage to specified date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/>
+ <source>Generate report on Song Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/>
+ <source>Song Usage Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="73"/>
+ <source>&Extract recorded data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="62"/>
+ <source>&Song Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SongsPlugin</name>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="93"/>
+ <source>&Song</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="95"/>
+ <source>Import songs using the import wizard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="102"/>
+ <source>Songs of Fellowship (temp menu item)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="109"/>
+ <source>Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="118"/>
+ <source>Generic Document/Presentation Import (temp menu item)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="126"/>
+ <source>Import songs from Word/Writer/Powerpoint/Impress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="156"/>
+ <source>Open Songs of Fellowship file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="166"/>
+ <source>Import Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="166"/>
+ <source>Error importing Songs of Fellowship file.
+OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="179"/>
+ <source>Open documents or presentations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="188"/>
+ <source><strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SongsPlugin.AuditDeleteDialog</name>
<message>
<location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="61"/>
@@ -2369,6 +2711,11 @@
<context>
<name>SongsPlugin.AuditDetailDialog</name>
<message>
+ <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/>
+ <source>Song Usage Extraction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="92"/>
<source>Select Date Range</source>
<translation type="unfinished"></translation>
@@ -2389,42 +2736,42 @@
<message>
<location filename="openlp/plugins/songs/forms/authorsdialog.py" line="77"/>
<source>Author Maintenance</source>
- <translation>Author Maintenance</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsdialog.py" line="79"/>
<source>Display name:</source>
- <translation>&Display name:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsdialog.py" line="81"/>
<source>First name:</source>
- <translation>&First name:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsdialog.py" line="83"/>
<source>Last name:</source>
- <translation>&Last name:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsform.py" line="98"/>
<source>Error</source>
- <translation>Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsform.py" line="82"/>
<source>You need to type in the first name of the author.</source>
- <translation>You need to type in the first name of the author.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsform.py" line="90"/>
<source>You need to type in the last name of the author.</source>
- <translation>You need to type in the last name of the author.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/authorsform.py" line="98"/>
<source>You haven't set a display name for the author, would you like me to combine the first and last names for you?</source>
- <translation>You haven't set a display name for the author, would you like me to combine the first and last names for you?</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2432,222 +2779,222 @@
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="438"/>
<source>Song Editor</source>
- <translation>Song Editor</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="440"/>
<source>&Title:</source>
- <translation>&Title:</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="442"/>
+ <source>Alt&ernate Title:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="444"/>
<source>&Lyrics:</source>
- <translation>&Lyrics:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="446"/>
<source>&Verse Order:</source>
- <translation>&Verse order:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="448"/>
<source>&Add</source>
- <translation>&Add</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="450"/>
<source>&Edit</source>
- <translation>&Edit</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="452"/>
<source>Ed&it All</source>
- <translation>Ed&it All</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="454"/>
<source>&Delete</source>
- <translation>&Delete</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="456"/>
<source>Title && Lyrics</source>
- <translation>Title && Lyrics</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="459"/>
<source>Authors</source>
- <translation>Authors</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="461"/>
<source>&Add to Song</source>
- <translation>&Add to Song</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="463"/>
<source>&Remove</source>
- <translation>&Remove</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="465"/>
<source>&Manage Authors, Topics, Books</source>
- <translation>&Manage Authors, Topics, Books</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="467"/>
<source>Topic</source>
- <translation>Topic</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="469"/>
<source>A&dd to Song</source>
- <translation>A&dd to Song</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="471"/>
<source>R&emove</source>
- <translation>R&emove</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="473"/>
<source>Song Book</source>
- <translation>Song Book</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="475"/>
<source>Authors, Topics && Book</source>
- <translation>Authors, Topics && Book</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="478"/>
<source>Theme</source>
- <translation>Theme</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="480"/>
+ <source>New &Theme</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="482"/>
<source>Copyright Information</source>
- <translation>Copyright Information</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="484"/>
+ <source>©</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="486"/>
<source>CCLI Number:</source>
- <translation>CCLI number:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="488"/>
<source>Comments</source>
- <translation>Comments</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongdialog.py" line="490"/>
<source>Theme, Copyright Info && Comments</source>
- <translation>Theme, Copyright Info && Comments</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/editsongform.py" line="98"/>
+ <source>Save && Preview</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="284"/>
<source>Add Author</source>
- <translation>Add Author</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="284"/>
<source>This author does not exist, do you want to add them?</source>
- <translation>This author does not exist, do you want to add them?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="312"/>
<source>No Author Selected</source>
- <translation>No Author Selected</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="312"/>
<source>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</source>
- <translation>You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/>
<source>Add Topic</source>
- <translation>Add Topic</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="337"/>
<source>This topic does not exist, do you want to add it?</source>
- <translation>This topic does not exist, do you want to add it?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="363"/>
<source>No Topic Selected</source>
- <translation>No Topic Selected</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="363"/>
<source>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic.</source>
- <translation>You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "add Topic to Song" button to add the new topic.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="387"/>
<source>Add Book</source>
- <translation>Add Book</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="387"/>
<source>This song book does not exist, do you want to add it?</source>
- <translation>This song book does not exist, do you want to add it?</translation>
- </message>
- <message>
- <location filename="openlp/plugins/songs/forms/editsongform.py" line="566"/>
- <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source>
- <translation>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</translation>
- </message>
- <message>
- <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="442"/>
- <source>Alt&ernate Title:</source>
- <translation>Alt&ernate Title:</translation>
- </message>
- <message>
- <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="480"/>
- <source>New &Theme</source>
- <translation>New &Theme</translation>
- </message>
- <message>
- <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="484"/>
- <source>©</source>
- <translation>©</translation>
- </message>
- <message>
- <location filename="openlp/plugins/songs/forms/editsongform.py" line="98"/>
- <source>Save && Preview</source>
- <translation>Save && Preview</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="566"/>
<source>Error</source>
- <translation>Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="518"/>
<source>You need to type in a song title.</source>
- <translation>You need to type in a song title.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="526"/>
<source>You need to type in at least one verse.</source>
- <translation>You need to type in at least one verse.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="577"/>
<source>Warning</source>
- <translation>Warning</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="534"/>
<source>You have not added any authors for this song. Do you want to add an author now?</source>
- <translation>You have not added any authors for this song. Do you want to add an author now?</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/editsongform.py" line="566"/>
+ <source>The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editsongform.py" line="577"/>
<source>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</source>
- <translation>You have not used %s anywhere in the verse order. Are you sure you want to save the song like this?</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2655,17 +3002,17 @@
<message>
<location filename="openlp/plugins/songs/forms/editversedialog.py" line="89"/>
<source>Edit Verse</source>
- <translation>Edit Verse</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editversedialog.py" line="91"/>
<source>&Verse type:</source>
- <translation>&Verse type:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/editversedialog.py" line="107"/>
<source>&Insert</source>
- <translation>&Insert</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2711,6 +3058,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/songs/forms/songimportform.py" line="194"/>
+ <source>Starting import...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/songs/forms/songimportwizard.py" line="232"/>
<source>Song Import Wizard</source>
<translation type="unfinished"></translation>
@@ -2800,11 +3152,6 @@
<source>%p%</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="openlp/plugins/songs/forms/songimportform.py" line="194"/>
- <source>Starting import...</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>SongsPlugin.MediaItem</name>
@@ -2816,7 +3163,12 @@
<message>
<location filename="openlp/plugins/songs/lib/mediaitem.py" line="71"/>
<source>Song Maintenance</source>
- <translation type="unfinished">Song Maintenance</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="71"/>
+ <source>Maintain the lists of authors, topics and books</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/lib/mediaitem.py" line="143"/>
@@ -2851,7 +3203,7 @@
<message>
<location filename="openlp/plugins/songs/lib/mediaitem.py" line="157"/>
<source>Authors</source>
- <translation type="unfinished">Authors</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/lib/mediaitem.py" line="209"/>
@@ -2859,6 +3211,26 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="282"/>
+ <source>You must select an item to edit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="293"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="297"/>
+ <source>Delete song?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="300"/>
+ <source>Delete %d songs?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/songs/lib/mediaitem.py" line="303"/>
<source>Delete Confirmation</source>
<translation type="unfinished"></translation>
@@ -2874,27 +3246,27 @@
<message>
<location filename="openlp/plugins/songs/forms/songbookdialog.py" line="69"/>
<source>Edit Book</source>
- <translation>Edit Book</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songbookdialog.py" line="71"/>
<source>&Name:</source>
- <translation>&Name:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songbookdialog.py" line="72"/>
<source>&Publisher:</source>
- <translation>&Publisher:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songbookform.py" line="52"/>
<source>Error</source>
- <translation>Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songbookform.py" line="52"/>
<source>You need to type in a name for the book.</source>
- <translation>You need to type in a name for the book.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2902,37 +3274,72 @@
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="213"/>
<source>Song Maintenance</source>
- <translation>Song Maintenance</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="215"/>
<source>Authors</source>
- <translation>Authors</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="217"/>
<source>Topics</source>
- <translation>Topics</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="219"/>
<source>Books/Hymnals</source>
- <translation>Books/Hymnals</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="233"/>
<source>&Add</source>
- <translation>&Add</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="235"/>
<source>&Edit</source>
- <translation>&Edit</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenancedialog.py" line="237"/>
<source>&Delete</source>
- <translation>&Delete</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="229"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="139"/>
+ <source>Couldn't add your author.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="151"/>
+ <source>Couldn't add your topic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="165"/>
+ <source>Couldn't add your book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="195"/>
+ <source>Couldn't save your author.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="211"/>
+ <source>Couldn't save your topic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="229"/>
+ <source>Couldn't save your book.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
@@ -2940,22 +3347,83 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>Are you sure you want to delete the selected author?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>This author can't be deleted, they are currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>No author selected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
<source>Delete Topic</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>Are you sure you want to delete the selected topic?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>This topic can't be deleted, it is currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>No topic selected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
<source>Delete Book</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
+ <source>Are you sure you want to delete the selected book?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
+ <source>This book can't be deleted, it is currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
<source>No book selected!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>SongsPlugin.SongUsageDeleteForm</name>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="44"/>
+ <source>Delete Selected Song Usage Events?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="44"/>
+ <source>Are you sure you want to delete selected Song Usage data?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SongsPlugin.SongUsageDetailForm</name>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="63"/>
+ <source>Output File Location</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SongsPlugin.SongsTab</name>
<message>
<location filename="openlp/plugins/songs/lib/songstab.py" line="39"/>
@@ -2972,6 +3440,11 @@
<source>Enable search as you type</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/songstab.py" line="68"/>
+ <source>Display Verses on Live Tool bar</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SongsPlugin.TopicsForm</name>
@@ -2988,7 +3461,12 @@
<message>
<location filename="openlp/plugins/songs/forms/topicsform.py" line="51"/>
<source>Error</source>
- <translation type="unfinished">Error</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/topicsform.py" line="51"/>
+ <source>You need to type in a topic name!</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3019,7 +3497,7 @@
<message>
<location filename="openlp/core/ui/thememanager.py" line="448"/>
<source>Error</source>
- <translation type="unfinished">Error</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="openlp/core/ui/thememanager.py" line="59"/>
=== modified file 'resources/i18n/openlp_et.ts'
--- resources/i18n/openlp_et.ts 2010-06-21 16:43:59 +0000
+++ resources/i18n/openlp_et.ts 2010-06-22 17:44:29 +0000
@@ -262,6 +262,11 @@
<source>Show an alert message</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/alerts/alertsplugin.py" line="97"/>
+ <source><b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AlertsPlugin.AlertForm</name>
@@ -322,6 +327,14 @@
</message>
</context>
<context>
+ <name>AlertsPlugin.AlertsManager</name>
+ <message>
+ <location filename="openlp/plugins/alerts/lib/alertsmanager.py" line="95"/>
+ <source>Alert message created and delayed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>AlertsPlugin.AlertsTab</name>
<message>
<location filename="openlp/plugins/alerts/lib/alertstab.py" line="41"/>
@@ -723,10 +736,15 @@
<context>
<name>BiblePlugin</name>
<message>
- <location filename="openlp/plugins/bibles/bibleplugin.py" line="73"/>
+ <location filename="openlp/plugins/bibles/bibleplugin.py" line="84"/>
<source>&Bible</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/bibles/bibleplugin.py" line="93"/>
+ <source><strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>BiblesPlugin,BiblesTab</name>
@@ -795,6 +813,20 @@
<source>Display Dual Bible Verses</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/bibles/lib/biblestab.py" line="154"/>
+ <source>Only show new chapter numbers</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>BiblesPlugin.BiblesTab</name>
+ <message>
+ <location filename="openlp/plugins/bibles/lib/biblestab.py" line="177"/>
+ <source>Note:
+Changes don't affect verses already in the service</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>BiblesPlugin.ImportWizardForm</name>
@@ -938,6 +970,126 @@
<source>Starting import...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="313"/>
+ <source>Welcome to the Bible Import Wizard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="317"/>
+ <source>This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="322"/>
+ <source>Select Import Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="324"/>
+ <source>Select the import format, and where to import from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="362"/>
+ <source>Proxy Server (Optional)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="368"/>
+ <source>Set up the Bible's license details.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/bibleimportwizard.py" line="379"/>
+ <source>Please wait while your Bible is imported.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="125"/>
+ <source>Invalid Bible Location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="125"/>
+ <source>You need to specify a file to import your Bible from.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="136"/>
+ <source>Invalid Books File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="136"/>
+ <source>You need to specify a file with books of the Bible to use in the import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="146"/>
+ <source>Invalid Verse File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="146"/>
+ <source>You need to specify a file of Bible verses to import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="158"/>
+ <source>Invalid OpenSong Bible</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="158"/>
+ <source>You need to specify an OpenSong Bible file to import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="174"/>
+ <source>Empty Version Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="174"/>
+ <source>You need to specify a version name for your Bible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="184"/>
+ <source>Empty Copyright</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="184"/>
+ <source>You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="195"/>
+ <source>Bible Exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="195"/>
+ <source>This Bible already exists! Please import a different Bible or first delete the existing one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="242"/>
+ <source>Open Verses CSV File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="447"/>
+ <source>Finished import.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/bibles/forms/importwizardform.py" line="451"/>
+ <source>Your Bible import failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>BiblesPlugin.MediaItem</name>
@@ -1046,6 +1198,11 @@
<source>Bible not fully loaded</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/bibles/lib/mediaitem.py" line="387"/>
+ <source>No matching book could be found in this Bible.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>BiblesPlugin.Opensong</name>
@@ -1056,6 +1213,14 @@
</message>
</context>
<context>
+ <name>CustomPlugin</name>
+ <message>
+ <location filename="openlp/plugins/custom/customplugin.py" line="70"/>
+ <source><b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>CustomPlugin.CustomTab</name>
<message>
<location filename="openlp/plugins/custom/lib/customtab.py" line="39"/>
@@ -1067,6 +1232,11 @@
<source>Display Footer</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/custom/lib/customtab.py" line="58"/>
+ <source>Custom Display</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CustomPlugin.EditCustomForm</name>
@@ -1171,22 +1341,22 @@
<translation type="unfinished">Autorid:</translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="89"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="88"/>
<source>Save && Preview</source>
<translation type="unfinished">Salvesta && eelvaatle</translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="152"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="151"/>
<source>Error</source>
<translation type="unfinished">Viga</translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="272"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="271"/>
<source>You need to enter a title</source>
<translation type="unfinished">Pead sisestama pealkirja</translation>
</message>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="277"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="276"/>
<source>You need to enter a slide</source>
<translation type="unfinished">Pead sisenema slaidile</translation>
</message>
@@ -1198,11 +1368,21 @@
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/custom/lib/mediaitem.py" line="121"/>
+ <source>You must select an item to edit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/custom/lib/mediaitem.py" line="133"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CustomPlugin.editCustomForm</name>
<message>
- <location filename="openlp/plugins/custom/forms/editcustomform.py" line="281"/>
+ <location filename="openlp/plugins/custom/forms/editcustomform.py" line="280"/>
<source>You have unsaved data, please save or clear</source>
<translation type="unfinished">Sul on salvestamata andmeid, palun salvesta või tühjenda</translation>
</message>
@@ -1962,6 +2142,11 @@
<source>You must select one or more items to send live.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/core/lib/mediamanageritem.py" line="492"/>
+ <source>You must select a %s service item.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MediaPlugin</name>
@@ -1992,7 +2177,7 @@
<context>
<name>OpenLP</name>
<message>
- <location filename="openlp/core/utils/__init__.py" line="194"/>
+ <location filename="openlp/core/utils/__init__.py" line="208"/>
<source>Image Files</source>
<translation type="unfinished"></translation>
</message>
@@ -2056,12 +2241,50 @@
</message>
</context>
<context>
+ <name>PresentationPlugin</name>
+ <message>
+ <location filename="openlp/plugins/presentations/presentationplugin.py" line="111"/>
+ <source><b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PresentationPlugin.MediaItem</name>
<message>
<location filename="openlp/plugins/presentations/lib/mediaitem.py" line="108"/>
<source>Present using:</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="64"/>
+ <source>Presentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="68"/>
+ <source>Select Presentation(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="70"/>
+ <source>Automatic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="141"/>
+ <source>File exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="141"/>
+ <source>A presentation with that filename already exists.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/mediaitem.py" line="180"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PresentationPlugin.PresentationTab</name>
@@ -2070,6 +2293,24 @@
<source>available</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="40"/>
+ <source>Presentations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/presentations/lib/presentationtab.py" line="92"/>
+ <source>Available Controllers</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RemotePlugin</name>
+ <message>
+ <location filename="openlp/plugins/remotes/remoteplugin.py" line="72"/>
+ <source><b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>RemotePlugin.RemoteTab</name>
@@ -2391,6 +2632,108 @@
</message>
</context>
<context>
+ <name>SongUsagePlugin</name>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="62"/>
+ <source>&Song Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="66"/>
+ <source>&Delete recorded data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="68"/>
+ <source>Delete song usage to specified date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="73"/>
+ <source>&Extract recorded data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="75"/>
+ <source>Generate report on Song Usage</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="84"/>
+ <source>Song Usage Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="86"/>
+ <source>Start/Stop live song usage recording</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/songusageplugin.py" line="161"/>
+ <source><b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SongsPlugin</name>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="93"/>
+ <source>&Song</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="95"/>
+ <source>Import songs using the import wizard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="102"/>
+ <source>Songs of Fellowship (temp menu item)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="109"/>
+ <source>Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="118"/>
+ <source>Generic Document/Presentation Import (temp menu item)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="126"/>
+ <source>Import songs from Word/Writer/Powerpoint/Impress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="156"/>
+ <source>Open Songs of Fellowship file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="166"/>
+ <source>Import Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="166"/>
+ <source>Error importing Songs of Fellowship file.
+OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="179"/>
+ <source>Open documents or presentations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/songsplugin.py" line="188"/>
+ <source><strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SongsPlugin.AuditDeleteDialog</name>
<message>
<location filename="openlp/plugins/songusage/forms/songusagedeletedialog.py" line="61"/>
@@ -2415,6 +2758,11 @@
<source>Report Location</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedetaildialog.py" line="89"/>
+ <source>Song Usage Extraction</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SongsPlugin.AuthorsForm</name>
@@ -2900,6 +3248,31 @@
<source>CCLI Licence: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="71"/>
+ <source>Maintain the lists of authors, topics and books</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="282"/>
+ <source>You must select an item to edit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="293"/>
+ <source>You must select an item to delete.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="297"/>
+ <source>Delete song?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/mediaitem.py" line="300"/>
+ <source>Delete %d songs?</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SongsPlugin.SongBookForm</name>
@@ -2986,6 +3359,102 @@
<source>No book selected!</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="229"/>
+ <source>Error</source>
+ <translation type="unfinished">Viga</translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="139"/>
+ <source>Couldn't add your author.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="151"/>
+ <source>Couldn't add your topic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="165"/>
+ <source>Couldn't add your book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="195"/>
+ <source>Couldn't save your author.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="211"/>
+ <source>Couldn't save your topic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="229"/>
+ <source>Couldn't save your book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>Are you sure you want to delete the selected author?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>This author can't be deleted, they are currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="239"/>
+ <source>No author selected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>Are you sure you want to delete the selected topic?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>This topic can't be deleted, it is currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="255"/>
+ <source>No topic selected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
+ <source>Are you sure you want to delete the selected book?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/songmaintenanceform.py" line="271"/>
+ <source>This book can't be deleted, it is currently assigned to at least one song.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SongsPlugin.SongUsageDeleteForm</name>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="44"/>
+ <source>Delete Selected Song Usage Events?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedeleteform.py" line="44"/>
+ <source>Are you sure you want to delete selected Song Usage data?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SongsPlugin.SongUsageDetailForm</name>
+ <message>
+ <location filename="openlp/plugins/songusage/forms/songusagedetailform.py" line="63"/>
+ <source>Output File Location</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SongsPlugin.SongsTab</name>
@@ -3004,6 +3473,11 @@
<source>Enable search as you type</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songs/lib/songstab.py" line="68"/>
+ <source>Display Verses on Live Tool bar</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SongsPlugin.TopicsForm</name>
@@ -3022,6 +3496,11 @@
<source>Error</source>
<translation type="unfinished">Viga</translation>
</message>
+ <message>
+ <location filename="openlp/plugins/songs/forms/topicsform.py" line="51"/>
+ <source>You need to type in a topic name!</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Splashscreen</name>
=== modified file 'scripts/translation_utils.py'
--- scripts/translation_utils.py 2010-06-09 17:09:32 +0000
+++ scripts/translation_utils.py 2010-06-22 17:44:29 +0000
@@ -25,143 +25,210 @@
###############################################################################
# Short description
# Steps for creating languages:
-# 1. make shure that the openlp_en.ts file exist
+# 1. make sure that the openlp_en.ts file exist
# 2. go to scripts folder and start:
# python translation_utils.py -a
###############################################################################
import os
import urllib
+import re
from optparse import OptionParser
from PyQt4 import QtCore
-
-ignore_pathes = [u"./scripts", u"./openlp/core/test"]
-ignore_files = [u"setup.py"]
-translation_path = u"http://pootle.projecthq.biz/export/openlp/"
-translations = [ u"en"
- , u"af"
- , u"en_ZA"
- , u"en_GB"
- , u"de"
- , u"hu"
- , u"ko"
- , u"nb"
- , u"pt_BR"
- , u"es"
- , u"sv"]
-
-def write_file(filename, stringlist):
- content = u''
- for line in stringlist:
- content = u'%s%s\n' % (content, line)
- file = open(filename, u'w')
- file.write(content.encode('utf8'))
- file.close()
+from BeautifulSoup import BeautifulSoup
+
+class TranslationUtils(object):
+ def __init__(self):
+ self.ignore_paths = [u'./scripts']
+ self.ignore_files = [u'setup.py']
+ self.server_url = u'http://pootle.projecthq.biz/export/openlp/'
+ self.cmd_stack = []
+ self.stack_count = 0
+ self.verbose = False
+
+
+ def process_stack(self):
+ if len(self.cmd_stack) > 0:
+ if len(self.cmd_stack) == self.stack_count:
+ print u'Process %d commands' % self.stack_count
+ print u'%d. ' % (self.stack_count-len(self.cmd_stack)+1),
+ command = self.cmd_stack.pop(0)
+ if len(command) > 1:
+ command[0](command[1])
+ else:
+ command[0]()
+ else:
+ print "Finished all commands"
+
+
+ def downloadTranslations(self):
+ print 'Download Translation files from HQ-Server'
+ page = urllib.urlopen(u'%s' % (self.server_url))
+ soup = BeautifulSoup(page)
+ languages = soup.findAll(text=re.compile(".*\.ts"))
+ for language in languages:
+ filename = os.path.join(u'..', u'resources', u'i18n',
+ u'openlp_%s' % language)
+ self.printVerbose(u'Get Translation File: %s' % filename)
+ self.get_and_write_file(language, filename)
+ print u' done'
+ self.process_stack()
+
+ def get_and_write_file(self, language, filename):
+ page = urllib.urlopen(u'%s%s' % (self.server_url, language))
+ content = page.read().decode('utf8')
+ page.close()
+ file = open(filename, u'w')
+ file.write(content.encode('utf8'))
+ file.close()
+
+ def creation(self, language):
+ print "Create new Translation File"
+ """
+ Use this option to create a new translation file
+ this function:
+ * create the new *.ts file
+ """
+ filename = os.path.join(u'..', u'resources', u'i18n',
+ u'openlp_%s.ts' % language)
+ self.get_and_write_file(u'en.ts', filename)
+ self.printVerbose("""
+ Please remind: For permanent providing this language:
+ this language name have to append to the global list
+ variable "translations" in this file
+ and this file have to be uploaded to the Pootle Server
+ Please contact the developers!
+ """)
+ print u' done'
+ self.process_stack()
+
+
+ def preparation(self):
+ print u'Generating the openlp.pro file'
+ stringlist = []
+ start_dir = os.path.join(u'..')
+ for root, dirs, files in os.walk(start_dir):
+ for file in files:
+ path = u'%s' % root
+ path = path.replace('\\','/')
+ path = path.replace('..','.')
+
+ if file.startswith(u'hook-') or file.startswith(u'test_'):
+ continue
+
+ cond = False
+ for search in self.ignore_paths:
+ if path.startswith(search):
+ cond = True
+ if cond:
+ continue
+ cond = False
+ for search in self.ignore_files:
+ if search == file:
+ cond = True
+ if cond:
+ continue
+
+ if file.endswith(u'.py'):
+ line = u'%s/%s' % (path, file)
+ self.printVerbose(u'Parsing "%s"' % line)
+ stringlist.append(u'SOURCES += %s' % line)
+ elif file.endswith(u'.pyw'):
+ line = u'%s/%s' % (path, file)
+ self.printVerbose(u'Parsing "%s"' % line)
+ stringlist.append(u'SOURCES += %s' % line)
+ elif file.endswith(u'.ts'):
+ line = u'%s/%s' % (path, file)
+ self.printVerbose(u'Parsing "%s"' % line)
+ stringlist.append(u'TRANSLATIONS += %s' % line)
+
+ stringlist.sort()
+ self.write_file(os.path.join(start_dir, u'openlp.pro'), stringlist)
+ print u' done'
+ self.process_stack()
+
+ def update(self):
+ print u'Update the translation files'
+ cmd = u'pylupdate4 -verbose -noobsolete ../openlp.pro'
+ self.start_cmd(cmd)
+
+ def generate(self):
+ print u'Generate the related *.qm files'
+ cmd = u'lrelease ../openlp.pro'
+ self.start_cmd(cmd)
+
+ def write_file(self, filename, stringlist):
+ content = u''
+ for line in stringlist:
+ content = u'%s%s\n' % (content, line)
+ file = open(filename, u'w')
+ file.write(content.encode('utf8'))
+ file.close()
+
+ def printVerbose(self, data):
+ if self.verbose:
+ print u' %s' % data
+
+ def start_cmd(self, command):
+ self.printVerbose(command)
+ self.process = QtCore.QProcess()
+ self.process.start(command)
+ while (self.process.waitForReadyRead()):
+ self.printVerbose(u'ReadyRead: %s' % QtCore.QString(self.process.readAll()))
+ self.printVerbose(self.process.readAllStandardError())
+ self.printVerbose(self.process.readAllStandardOutput())
+ print u' done'
+ self.process_stack()
+
def main():
+ # start Main Class
+ Util = TranslationUtils()
+
# Set up command line options.
- usage = u'Usage: %prog [options]'
+ usage = u'''
+ This script handle the translation files for OpenLP.
+ Usage: %prog [options]
+ If no option will be used, options "-d -p -u -g" will be set automatically
+ '''
parser = OptionParser(usage=usage)
- parser.add_option("-d", "--download-ts", action="store_true",
- dest="download", help="Load languages from Pootle Server")
- parser.add_option("-p", "--prepare", action="store_true", dest="prepare",
- help="preparation (generate pro file)")
- parser.add_option("-u", "--update", action="store_true", dest="update",
- help="update translation files")
- parser.add_option("-g", "--generate", action="store_true", dest="generate",
- help="generate qm files")
- parser.add_option("-a", "--all", action="store_true", dest="all",
- help="proceed all options")
+ parser.add_option('-d', '--download-ts', action='store_true',
+ dest='download', help='Load languages from Pootle Server')
+ parser.add_option('-c', '--create', metavar='lang',
+ help='creation of new translation file, Parameter: language (e.g. "en_GB"')
+ parser.add_option('-p', '--prepare', action='store_true', dest='prepare',
+ help='preparation (generate pro file)')
+ parser.add_option('-u', '--update', action='store_true', dest='update',
+ help='update translation files')
+ parser.add_option('-g', '--generate', action='store_true', dest='generate',
+ help='generate qm files')
+ parser.add_option('-v', '--verbose', action='store_true', dest='verbose',
+ help='Give more informations while processing')
(options, args) = parser.parse_args()
if options.download:
- downloadTranslations()
- elif options.prepare:
- preparation()
- elif options.update:
- update()
- elif options.generate:
- generate()
- elif options.all:
- all()
- else:
- pass
-
-def downloadTranslations():
- print "download()"
- for language in translations:
- filename = os.path.join(u'..', u'resources', u'i18n',
- u"openlp_%s.ts" % language)
- print filename
- page = urllib.urlopen(u"%s%s.ts" % (translation_path, language))
- content = page.read().decode("utf8")
- page.close()
- file = open(filename, u'w')
- file.write(content.encode('utf8'))
- file.close()
-
-def preparation():
- stringlist = []
- start_dir = os.path.join(u'..')
- for root, dirs, files in os.walk(start_dir):
- for file in files:
- path = u"%s" % root
- path = path.replace("\\","/")
- path = path.replace("..",".")
-
- if file.startswith(u'hook-') or file.startswith(u'test_'):
- continue
-
- cond = False
- for search in ignore_pathes:
- if path.startswith(search):
- cond = True
- if cond:
- continue
- cond = False
- for search in ignore_files:
- if search == file:
- cond = True
- if cond:
- continue
-
- if file.endswith(u'.py'):
- line = u"%s/%s" % (path, file)
- print u'Parsing "%s"' % line
- stringlist.append(u"SOURCES += %s" % line)
- elif file.endswith(u'.pyw'):
- line = u"%s/%s" % (path, file)
- print u'Parsing "%s"' % line
- stringlist.append(u"SOURCES += %s" % line)
- elif file.endswith(u'.ts'):
- line = u"%s/%s" % (path, file)
- print u'Parsing "%s"' % line
- stringlist.append(u"TRANSLATIONS += %s" % line)
-
- print u'Generating PRO file...',
- stringlist.sort()
- write_file(os.path.join(start_dir, u'openlp.pro'), stringlist)
- print u'done.'
-
-def update():
- print "update()"
- updateProcess = QtCore.QProcess()
- updateProcess.start(u"pylupdate4 -noobsolete ../openlp.pro")
- updateProcess.waitForFinished(60000)
-
-def generate():
- print "generate()"
- generateProcess = QtCore.QProcess()
- generateProcess.start(u"lrelease ../openlp.pro")
- generateProcess.waitForFinished(60000)
-
-def all():
- print "all()"
- downloadTranslations()
- preparation()
- update()
- generate()
+ Util.cmd_stack.append([Util.downloadTranslations])
+ if options.create:
+ Util.cmd_stack.append([Util.creation, u'%s' % options.create])
+ if options.prepare:
+ Util.cmd_stack.append([Util.preparation])
+ if options.update:
+ Util.cmd_stack.append([Util.update])
+ if options.generate:
+ Util.cmd_stack.append([Util.generate])
+ if options.verbose:
+ Util.verbose = True
+
+ if len(Util.cmd_stack) == 0:
+ Util.cmd_stack.append([Util.downloadTranslations])
+ Util.cmd_stack.append([Util.preparation])
+ Util.cmd_stack.append([Util.update])
+ Util.cmd_stack.append([Util.generate])
+
+ Util.stack_count = len(Util.cmd_stack)
+ Util.process_stack()
+
if __name__ == u'__main__':
Follow ups