← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~crichter/openlp/i18n into lp:openlp

 

rimach has proposed merging lp:~crichter/openlp/i18n into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)


* Trial for translation of Plugin Names in Media Manager and Plugin List.
* Removal of deactivated Plugins fixed
* translation handling for Type of Song texts (Verse, Chorus, ...) is unclear.

-- 
https://code.launchpad.net/~crichter/openlp/i18n/+merge/26126
Your team OpenLP Core is requested to review the proposed merge of lp:~crichter/openlp/i18n into lp:openlp.
=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py	2010-05-01 13:05:17 +0000
+++ openlp/core/lib/plugin.py	2010-05-27 06:56:27 +0000
@@ -267,3 +267,9 @@
         Called to ask the plugin if a theme can be deleted
         """
         return True
+
+    def get_display_name(self):
+        """
+        Called to get the translated title of plugin
+        """
+        return QtCore.QString(self.name)

=== modified file 'openlp/core/ui/mediadockmanager.py'
--- openlp/core/ui/mediadockmanager.py	2010-04-30 22:38:15 +0000
+++ openlp/core/ui/mediadockmanager.py	2010-05-27 06:56:27 +0000
@@ -33,8 +33,8 @@
         self.media_dock = media_dock
 
     def add_dock(self, media_item, icon, weight):
-        log.info(u'Adding %s dock' % media_item.title)
-        self.media_dock.addItem(media_item, icon, media_item.title)
+        log.info(u'Adding %s dock' % media_item.parent.get_display_name())
+        self.media_dock.addItem(media_item, icon, media_item.parent.get_display_name())
 
     def insert_dock(self, media_item, icon, weight):
         """
@@ -42,20 +42,20 @@
         This does not work as it gives a Segmentation error.
         For now add at end of stack if not present
         """
-        log.debug(u'Inserting %s dock' % media_item.title)
+        log.debug(u'Inserting %s dock' % media_item.parent.get_display_name())
         match = False
         for dock_index in range(0, self.media_dock.count()):
             if self.media_dock.widget(dock_index).settingsSection == \
-                media_item.title.lower():
+                unicode(media_item.parent.get_display_name().toLower()):
                 match = True
                 break
         if not match:
-            self.media_dock.addItem(media_item, icon, media_item.title)
+            self.media_dock.addItem(media_item, icon, media_item.parent.get_display_name())
 
     def remove_dock(self, name):
         log.debug(u'remove %s dock' % name)
         for dock_index in range(0, self.media_dock.count()):
             if self.media_dock.widget(dock_index):
-                if self.media_dock.widget(dock_index).settingsSection == name:
+                if self.media_dock.widget(dock_index).settingsSection == name.lower():
                     self.media_dock.widget(dock_index).hide()
                     self.media_dock.removeItem(dock_index)

=== modified file 'openlp/core/ui/pluginform.py'
--- openlp/core/ui/pluginform.py	2010-03-21 23:58:01 +0000
+++ openlp/core/ui/pluginform.py	2010-05-27 06:56:27 +0000
@@ -70,7 +70,7 @@
                 status_text = 'Inactive'
             elif plugin.status == PluginStatus.Disabled:
                 status_text = 'Disabled'
-            item.setText(u'%s (%s)' % (plugin.name, status_text))
+            item.setText(u'%s (%s)' % (plugin.get_display_name(), status_text))
             # If the plugin has an icon, set it!
             if plugin.icon:
                 item.setIcon(plugin.icon)
@@ -101,7 +101,7 @@
         plugin_name = self.PluginListWidget.currentItem().text().split(u' ')[0]
         self.activePlugin = None
         for plugin in self.parent.plugin_manager.plugins:
-            if plugin.name == plugin_name:
+            if plugin.get_display_name() == plugin_name:
                 self.activePlugin = plugin
                 break
         if self.activePlugin:
@@ -126,4 +126,4 @@
         elif self.activePlugin.status == PluginStatus.Disabled:
             status_text = 'Disabled'
         self.PluginListWidget.currentItem().setText(
-            u'%s (%s)' % (self.activePlugin.name, status_text))
+            u'%s (%s)' % (self.activePlugin.get_display_name(), status_text))

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2010-05-23 07:03:28 +0000
+++ openlp/core/ui/slidecontroller.py	2010-05-27 06:56:27 +0000
@@ -538,8 +538,8 @@
                     bits = frame[u'verseTag'].split(u':')
                     tag = None
                     #If verse handle verse number else tag only
-                    if bits[0] == self.trUtf8('Verse') or \
-                        bits[0] == self.trUtf8('Chorus'):
+                    if bits[0] == 'Verse' or \
+                        bits[0] == 'Chorus':
                         tag = u'%s\n%s' % (bits[0][0], bits[1][0:] )
                         tag1 = u'%s%s' % (bits[0][0], bits[1][0:] )
                         row = tag

=== modified file 'openlp/plugins/alerts/alertsplugin.py'
--- openlp/plugins/alerts/alertsplugin.py	2010-04-30 22:38:15 +0000
+++ openlp/plugins/alerts/alertsplugin.py	2010-05-27 06:56:27 +0000
@@ -27,7 +27,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.plugins.alerts.lib import AlertsManager, AlertsTab, DBManager
 from openlp.plugins.alerts.forms import AlertForm
 
@@ -95,3 +95,7 @@
         about_text = self.trUtf8('<b>Alerts Plugin</b><br>This plugin '
             'controls the displaying of alerts on the presentations screen')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('alertsPlugin', 'Alerts')
+        return display_name

=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py	2010-04-27 16:27:57 +0000
+++ openlp/plugins/bibles/bibleplugin.py	2010-05-27 06:56:27 +0000
@@ -27,7 +27,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem
 
 log = logging.getLogger(__name__)
@@ -97,3 +97,7 @@
         if self.settings_tab.bible_theme == theme:
             return False
         return True
+
+    def get_display_name(self):
+        display_name = translate('BiblePlugin', 'Bibles')
+        return display_name

=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py	2010-04-27 16:27:57 +0000
+++ openlp/plugins/custom/customplugin.py	2010-05-27 06:56:27 +0000
@@ -26,7 +26,7 @@
 import logging
 
 from forms import EditCustomForm
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.plugins.custom.lib import CustomManager, CustomMediaItem, CustomTab
 
 log = logging.getLogger(__name__)
@@ -77,3 +77,7 @@
         if len(self.custommanager.get_customs_for_theme(theme)) == 0:
             return True
         return False
+
+    def get_display_name(self):
+        display_name = translate('CustomPlugin', 'Custom')
+        return display_name

=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py	2010-03-21 23:58:01 +0000
+++ openlp/plugins/images/imageplugin.py	2010-05-27 06:56:27 +0000
@@ -25,7 +25,7 @@
 
 import logging
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.plugins.images.lib import ImageMediaItem, ImageTab
 
 log = logging.getLogger(__name__)
@@ -64,3 +64,7 @@
             'any songs which are rendered will use the selected image from '
             'the background instead of the one provied by the theme.<br>')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('ImagePlugin', 'Images')
+        return display_name

=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py	2010-05-06 16:49:12 +0000
+++ openlp/plugins/media/mediaplugin.py	2010-05-27 06:56:27 +0000
@@ -25,7 +25,7 @@
 
 import logging
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.plugins.media.lib import MediaMediaItem
 from PyQt4.phonon import Phonon
 
@@ -79,3 +79,7 @@
         about_text = self.trUtf8('<b>Media Plugin</b><br>This plugin '
             'allows the playing of audio and video media')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('MediaPlugin', 'Media')
+        return display_name

=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py	2010-05-05 19:21:05 +0000
+++ openlp/plugins/presentations/presentationplugin.py	2010-05-27 06:56:27 +0000
@@ -26,7 +26,8 @@
 import os
 import logging
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus
+from PyQt4 import QtCore
+from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
 from openlp.core.utils import AppLocation
 from openlp.plugins.presentations.lib import *
 
@@ -38,7 +39,7 @@
     def __init__(self, plugin_helpers):
         log.debug(u'Initialised')
         self.controllers = {}
-        Plugin.__init__(self, u'Presentations', u'1.9.1', plugin_helpers)
+        Plugin.__init__(self, 'Presentations', u'1.9.1', plugin_helpers)
         self.weight = -8
         self.icon = build_icon(u':/media/media_presentation.png')
         self.status = PluginStatus.Active
@@ -114,3 +115,7 @@
             'programs. The choice of available presentation programs is '
             'available to the user in a drop down box.')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('PresentationPlugin', 'Presentations')
+        return display_name

=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py	2010-05-04 21:19:40 +0000
+++ openlp/plugins/remotes/remoteplugin.py	2010-05-27 06:56:27 +0000
@@ -25,7 +25,7 @@
 
 import logging
 
-from openlp.core.lib import Plugin
+from openlp.core.lib import Plugin, translate
 from openlp.plugins.remotes.lib import RemoteTab, HttpServer
 
 log = logging.getLogger(__name__)
@@ -74,3 +74,7 @@
             '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')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('RemotesPlugin', 'Remotes')
+        return display_name

=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py	2010-05-18 21:32:58 +0000
+++ openlp/plugins/songs/songsplugin.py	2010-05-27 06:56:27 +0000
@@ -27,7 +27,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver
+from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver, translate
 from openlp.plugins.songs.lib import SongManager, SongMediaItem, SongsTab, \
     SofImport, OooImport
 
@@ -186,3 +186,7 @@
             return True
         return False
 
+    def get_display_name(self):
+        display_name = translate('SongsPlugin', 'Songs')
+        return display_name
+

=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py	2010-05-01 08:46:06 +0000
+++ openlp/plugins/songusage/songusageplugin.py	2010-05-27 06:56:27 +0000
@@ -28,7 +28,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import Plugin, Receiver, build_icon
+from openlp.core.lib import Plugin, Receiver, build_icon, translate
 from openlp.plugins.songusage.lib import SongUsageManager
 from openlp.plugins.songusage.forms import SongUsageDetailForm, \
     SongUsageDeleteForm
@@ -160,3 +160,7 @@
             'records the use of songs and when they have been used during '
             'a live service')
         return about_text
+
+    def get_display_name(self):
+        display_name = translate('SongUsagePlugin', 'SongUsage')
+        return display_name

=== modified file 'resources/i18n/openlp_af.qm'
Binary files resources/i18n/openlp_af.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_af.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_de.qm'
Binary files resources/i18n/openlp_de.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_de.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_en.ts'
--- resources/i18n/openlp_en.ts	2010-05-12 21:44:00 +0000
+++ resources/i18n/openlp_en.ts	2010-05-27 06:56:27 +0000
@@ -371,302 +371,302 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="605"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="606"/>
         <source>Theme Maintenance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="606"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="607"/>
         <source>Theme Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="607"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="608"/>
         <source>Background:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="608"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="609"/>
         <source>Opaque</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="609"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="610"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="610"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="611"/>
         <source>Background Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="611"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="612"/>
         <source>Solid Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="612"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="613"/>
         <source>Gradient</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="613"/>
-        <source>Image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="openlp/core/ui/amendthemedialog.py" line="614"/>
+        <source>Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="615"/>
         <source>&lt;Color1&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="615"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="616"/>
         <source>&lt;Color2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="616"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="617"/>
         <source>Image:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="617"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="618"/>
         <source>Gradient :</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="618"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="619"/>
         <source>Horizontal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="619"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="620"/>
         <source>Vertical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="620"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="621"/>
         <source>Circular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="621"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="622"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="624"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="625"/>
         <source>Main Font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="650"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="651"/>
         <source>Font:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="651"/>
-        <source>Font Color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="openlp/core/ui/amendthemedialog.py" line="652"/>
+        <source>Font Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="653"/>
         <source>Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="653"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="654"/>
         <source>pt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="629"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="630"/>
         <source>Wrap Indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="630"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="631"/>
         <source>Adjust Line Spacing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="654"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="655"/>
         <source>Normal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="655"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="656"/>
         <source>Bold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="656"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="657"/>
         <source>Italics</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="657"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="658"/>
         <source>Bold/Italics</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="658"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="659"/>
         <source>Font Weight:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="659"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="660"/>
         <source>Display Location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="660"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="661"/>
         <source>Use Default Location:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="661"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="662"/>
         <source>X Position:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="662"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="663"/>
         <source>Y Position:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="663"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="664"/>
         <source>Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="664"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="665"/>
         <source>Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="679"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="680"/>
         <source>px</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="646"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="647"/>
         <source>Font Main</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="649"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="650"/>
         <source>Footer Font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="669"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="670"/>
         <source>Font Footer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="672"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="673"/>
         <source>Outline</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="673"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="674"/>
         <source>Outline Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="675"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="676"/>
         <source>Outline Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="676"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="677"/>
         <source>Show Outline:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="677"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="678"/>
         <source>Shadow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="678"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="679"/>
         <source>Shadow Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="680"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="681"/>
         <source>Shadow Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="681"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="682"/>
         <source>Show Shadow:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="682"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="683"/>
         <source>Alignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="683"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="684"/>
         <source>Horizontal Align:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="684"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="685"/>
         <source>Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="685"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="686"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="686"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="687"/>
         <source>Center</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="687"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="688"/>
         <source>Vertical Align:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="688"/>
-        <source>Top</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="openlp/core/ui/amendthemedialog.py" line="689"/>
+        <source>Top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="690"/>
         <source>Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="690"/>
-        <source>Bottom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="openlp/core/ui/amendthemedialog.py" line="691"/>
+        <source>Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="692"/>
         <source>Slide Transition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="692"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="693"/>
         <source>Transition Active:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="693"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="694"/>
         <source>Other Options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/amendthemedialog.py" line="696"/>
+        <location filename="openlp/core/ui/amendthemedialog.py" line="697"/>
         <source>Preview</source>
         <translation type="unfinished"></translation>
     </message>
@@ -860,6 +860,11 @@
         <source>&lt;strong&gt;Bible Plugin&lt;/strong&gt;&lt;br /&gt;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="102"/>
+        <source>Bibles</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>BiblesTab</name>
@@ -955,6 +960,11 @@
         <source>&lt;b&gt;Custom Plugin&lt;/b&gt;&lt;br&gt;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.&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/custom/customplugin.py" line="82"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CustomTab</name>
@@ -1113,172 +1123,172 @@
 <context>
     <name>EditSongForm</name>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="424"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="464"/>
         <source>You need to enter a song title.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="428"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="468"/>
         <source>You need to enter some verses.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="484"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="528"/>
         <source>Save &amp;&amp; Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="501"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="545"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="422"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="426"/>
         <source>Song Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="423"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="424"/>
-        <source>Alternative Title:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="425"/>
-        <source>Lyrics:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="426"/>
-        <source>Verse Order:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="427"/>
-        <source>Add</source>
+        <source>Title:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="428"/>
-        <source>Edit</source>
+        <source>Alternative Title:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="429"/>
-        <source>Edit All</source>
+        <source>Lyrics:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="430"/>
-        <source>Delete</source>
+        <source>Verse Order:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="431"/>
-        <source>Title &amp;&amp; Lyrics</source>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="432"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="433"/>
+        <source>Edit All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="434"/>
-        <source>Authors</source>
+        <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="435"/>
+        <source>Title &amp;&amp; Lyrics</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="438"/>
+        <source>Authors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="439"/>
         <source>&amp;Add to Song</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="436"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="440"/>
         <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="437"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="441"/>
         <source>&amp;Manage Authors, Topics, Books</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="439"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="443"/>
         <source>Topic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="440"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="444"/>
         <source>A&amp;dd to Song</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="441"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="445"/>
         <source>R&amp;emove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="442"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="446"/>
         <source>Song Book</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="443"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="447"/>
         <source>Authors, Topics &amp;&amp; Book</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="446"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="450"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="447"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="451"/>
         <source>Add a Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="448"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="452"/>
         <source>Copyright Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="450"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="454"/>
         <source>CCLI Number:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="451"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="455"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="452"/>
+        <location filename="openlp/plugins/songs/forms/editsongdialog.py" line="456"/>
         <source>Theme, Copyright Info &amp;&amp; Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="433"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="473"/>
         <source> bitped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="436"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="476"/>
         <source>v</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="436"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="476"/>
         <source>c</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="444"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="484"/>
         <source>Invalid verse entry - Vx or Cx</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editsongform.py" line="452"/>
+        <location filename="openlp/plugins/songs/forms/editsongform.py" line="492"/>
         <source>Invalid verse entry, values must be I,B,T,P,E,O,Vx,Cx</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1286,58 +1296,53 @@
 <context>
     <name>EditVerseForm</name>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="113"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="93"/>
         <source>Edit Verse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="114"/>
-        <source>Verse Type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="127"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="99"/>
         <source>Intro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editverseform.py" line="155"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="95"/>
         <source>Verse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="126"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="98"/>
         <source>Pre-Chorus</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="125"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="96"/>
         <source>Chorus</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="123"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="97"/>
         <source>Bridge</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="129"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="100"/>
         <source>Ending</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="128"/>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="101"/>
         <source>Other</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="122"/>
-        <source>Number</source>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="94"/>
+        <source>Verse Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/forms/editverseform.py" line="156"/>
-        <source>Chrous</source>
+        <location filename="openlp/plugins/songs/forms/editversedialog.py" line="102"/>
+        <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1474,6 +1479,11 @@
         <source>&lt;b&gt;Image Plugin&lt;/b&gt;&lt;br&gt;Allows images of all types to be displayed.  If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.&lt;br&lt;br&gt;From the plugin if the &lt;i&gt;Override background&lt;/i&gt; is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/images/imageplugin.py" line="69"/>
+        <source>Images</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ImageTab</name>
@@ -1777,379 +1787,379 @@
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="620"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="643"/>
         <source>The Main Display has been blanked out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="589"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="612"/>
         <source>OpenLP Version Updated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="676"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="699"/>
         <source>Save Changes to Service?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="620"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="643"/>
         <source>OpenLP Main Display Blanked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="332"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="355"/>
         <source>OpenLP 2.0</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="333"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="356"/>
         <source>English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="334"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="357"/>
         <source>Default Theme: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="337"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="360"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="338"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="361"/>
         <source>&amp;Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="339"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="362"/>
         <source>&amp;Export</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="340"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="363"/>
         <source>&amp;Options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="341"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="364"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="342"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="365"/>
         <source>M&amp;ode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="345"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="368"/>
         <source>&amp;Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="346"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="369"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="347"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="370"/>
         <source>Media Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="349"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="372"/>
         <source>Service Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="351"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="374"/>
         <source>Theme Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="353"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="376"/>
         <source>&amp;New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="354"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="377"/>
         <source>New Service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="355"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="378"/>
         <source>Create a new Service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="356"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="379"/>
         <source>Ctrl+N</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="357"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="380"/>
         <source>&amp;Open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="358"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="381"/>
         <source>Open Service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="359"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="382"/>
         <source>Open an existing service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="360"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="383"/>
         <source>Ctrl+O</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="361"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="384"/>
         <source>&amp;Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="362"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="385"/>
         <source>Save Service</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="363"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="386"/>
         <source>Save the current service to disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="365"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="388"/>
         <source>Ctrl+S</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="366"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="389"/>
         <source>Save &amp;As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="367"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="390"/>
         <source>Save Service As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="368"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="391"/>
         <source>Save the current service under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="370"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="393"/>
         <source>F12</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="371"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="394"/>
         <source>E&amp;xit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="372"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="395"/>
         <source>Quit OpenLP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="373"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="396"/>
         <source>Alt+F4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="376"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="399"/>
         <source>&amp;Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="377"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="400"/>
         <source>&amp;Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="378"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="401"/>
         <source>Look &amp;&amp; &amp;Feel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="379"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="402"/>
         <source>&amp;Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="380"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="403"/>
         <source>&amp;Media Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="381"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="404"/>
         <source>Toggle Media Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="383"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="406"/>
         <source>Toggle the visibility of the Media Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="385"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="408"/>
         <source>F8</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="386"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="409"/>
         <source>&amp;Theme Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="387"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="410"/>
         <source>Toggle Theme Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="389"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="412"/>
         <source>Toggle the visibility of the Theme Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="391"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="414"/>
         <source>F10</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="392"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="415"/>
         <source>&amp;Service Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="393"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="416"/>
         <source>Toggle Service Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="395"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="418"/>
         <source>Toggle the visibility of the Service Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="397"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="420"/>
         <source>F9</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="398"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="421"/>
         <source>&amp;Preview Panel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="399"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="422"/>
         <source>Toggle Preview Panel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="401"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="424"/>
         <source>Toggle the visibility of the Preview Panel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="403"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="426"/>
         <source>F11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="404"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="427"/>
         <source>&amp;Plugin List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="405"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="428"/>
         <source>List the Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="406"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="429"/>
         <source>Alt+F7</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="407"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="430"/>
         <source>&amp;User Guide</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="408"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="431"/>
         <source>&amp;About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="409"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="432"/>
         <source>More information about OpenLP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="411"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="434"/>
         <source>Ctrl+F1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="412"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="435"/>
         <source>&amp;Online Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="413"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="436"/>
         <source>&amp;Web Site</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="415"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="438"/>
         <source>&amp;Auto Detect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="416"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="439"/>
         <source>Choose System language, if available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="420"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="443"/>
         <source>Set the interface language to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="422"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="445"/>
         <source>Add &amp;Tool...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="423"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="446"/>
         <source>Add an application to the list of tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="425"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="448"/>
         <source>&amp;Preview Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="426"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="449"/>
         <source>&amp;Live</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="586"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="609"/>
         <source>Version %s of OpenLP is now available for download (you are currently running version %s).
 
 You can download the latest version from http://openlp.org</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/mainwindow.py" line="676"/>
+        <location filename="openlp/core/ui/mainwindow.py" line="699"/>
         <source>Your service has changed.  Do you want to save those changes?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2302,6 +2312,11 @@
         <source>&lt;b&gt;Media Plugin&lt;/b&gt;&lt;br&gt;This plugin allows the playing of audio and video media</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/media/mediaplugin.py" line="84"/>
+        <source>Media</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>OpenLPExportForm</name>
@@ -2647,10 +2662,15 @@
 <context>
     <name>PresentationPlugin</name>
     <message>
-        <location filename="openlp/plugins/presentations/presentationplugin.py" line="112"/>
+        <location filename="openlp/plugins/presentations/presentationplugin.py" line="113"/>
         <source>&lt;b&gt;Presentation Plugin&lt;/b&gt; &lt;br&gt; 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>
+    <message>
+        <location filename="openlp/plugins/presentations/presentationplugin.py" line="120"/>
+        <source>Presentations</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PresentationTab</name>
@@ -2686,10 +2706,15 @@
 <context>
     <name>RemotesPlugin</name>
     <message>
-        <location filename="openlp/plugins/remotes/remoteplugin.py" line="74"/>
+        <location filename="openlp/plugins/remotes/remoteplugin.py" line="72"/>
         <source>&lt;b&gt;Remote Plugin&lt;/b&gt;&lt;br&gt;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&lt;br&gt;The Primary use for this would be to send alerts from a creche</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/remotes/remoteplugin.py" line="79"/>
+        <source>Remotes</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ServiceItemEditForm</name>
@@ -2852,12 +2877,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/servicemanager.py" line="812"/>
+        <location filename="openlp/core/ui/servicemanager.py" line="816"/>
         <source>Missing Display Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/servicemanager.py" line="812"/>
+        <location filename="openlp/core/ui/servicemanager.py" line="816"/>
         <source>Your item cannot be displayed as there is no handler to display it</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2881,97 +2906,97 @@
 <context>
     <name>SlideController</name>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="188"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="182"/>
         <source>Move to previous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="215"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="209"/>
         <source>Edit and re-preview Song</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="232"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="226"/>
         <source>Delay between slides in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="274"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="268"/>
         <source>Go to Verse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="220"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="214"/>
         <source>Start continuous loop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="134"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="130"/>
         <source>Live</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="243"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="237"/>
         <source>Start playing media</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="211"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="205"/>
         <source>Move to live</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="195"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="189"/>
         <source>Move to last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="547"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="541"/>
         <source>Verse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="191"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="185"/>
         <source>Move to next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="185"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="179"/>
         <source>Move to first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="247"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="241"/>
         <source>Blank Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="138"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="134"/>
         <source>Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="223"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="217"/>
         <source>Stop continuous loop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="231"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="225"/>
         <source>s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="250"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="244"/>
         <source>Theme Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="253"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="247"/>
         <source>Hide Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/core/ui/slidecontroller.py" line="548"/>
+        <location filename="openlp/core/ui/slidecontroller.py" line="542"/>
         <source>Chorus</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3140,77 +3165,77 @@
 <context>
     <name>SongMediaItem</name>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="359"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="367"/>
         <source>CCLI Licence: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="61"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="63"/>
         <source>Song</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="70"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="72"/>
         <source>Maintain the lists of authors, topics and books</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="146"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/>
         <source>Titles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="147"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="149"/>
         <source>Lyrics</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="141"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="143"/>
         <source>Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="144"/>
+        <source>Clear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="145"/>
+        <source>Search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="150"/>
+        <source>Authors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="openlp/plugins/songs/lib/mediaitem.py" line="142"/>
-        <source>Clear</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="143"/>
-        <source>Search</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="148"/>
-        <source>Authors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="140"/>
         <source>Search:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="70"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="72"/>
         <source>Song Maintenance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="204"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="206"/>
         <source>%s (%s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="277"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="284"/>
         <source>Delete song?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="279"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="286"/>
         <source>Delete %d songs?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="280"/>
+        <location filename="openlp/plugins/songs/lib/mediaitem.py" line="287"/>
         <source>Delete Confirmation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3243,24 +3268,34 @@
         <source>&lt;b&gt;SongUsage Plugin&lt;/b&gt;&lt;br&gt;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="165"/>
+        <source>SongUsage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SongsPlugin</name>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="232"/>
-        <source>&lt;b&gt;Song Plugin&lt;/b&gt; &lt;br&gt;This plugin allows Songs to be managed and displayed.&lt;br&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="198"/>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="152"/>
         <source>Open Songs of Fellowship file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="218"/>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="172"/>
         <source>Open documents or presentations</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="180"/>
+        <source>&lt;strong&gt;Song Plugin&lt;/strong&gt;&lt;br /&gt;This plugin allows songs to be managed and displayed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="190"/>
+        <source>Songs</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SongsTab</name>
@@ -3496,6 +3531,11 @@
         <source>&amp;Alert</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="openlp/plugins/alerts/alertsplugin.py" line="100"/>
+        <source>Alerts</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>export_menu</name>
@@ -3504,26 +3544,6 @@
         <source>&amp;Bible</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="180"/>
-        <source>&amp;Song</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="181"/>
-        <source>OpenSong</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="182"/>
-        <source>openlp.org 1.0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="183"/>
-        <source>OpenLP 2.0</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>import_menu</name>
@@ -3533,113 +3553,45 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="118"/>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="96"/>
         <source>&amp;Song</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="119"/>
-        <source>OpenSong</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="120"/>
-        <source>openlp.org 1.0</source>
+        <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="123"/>
-        <source>Import songs in openlp.org 1.0 format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="125"/>
-        <source>OpenLP 2.0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="128"/>
-        <source>Import songs in OpenLP 2.0 format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="130"/>
-        <source>Songs of Fellowship</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="135"/>
-        <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="138"/>
-        <source>Generic Document/Presentation Import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="142"/>
         <source>Import songs from Word/Writer/Powerpoint/Impress</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>self</name>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="162"/>
-        <source>Amend Display Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="163"/>
-        <source>Default Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="173"/>
-        <source>X</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="171"/>
-        <source>0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="174"/>
-        <source>Y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="175"/>
-        <source>Height</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="176"/>
-        <source>Width</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="172"/>
-        <source>Amend Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="openlp/core/ui/displaytab.py" line="177"/>
-        <source>Override Output Display</source>
+    <message>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="97"/>
+        <source>Import songs using the import wizard.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="104"/>
+        <source>Songs of Fellowship (temp menu item)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="117"/>
+        <source>Generic Document/Presentation Import (temp menu item)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>self.ImportSongMenu</name>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="207"/>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="161"/>
         <source>Import Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="openlp/plugins/songs/songsplugin.py" line="207"/>
+        <location filename="openlp/plugins/songs/songsplugin.py" line="161"/>
         <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>

=== modified file 'resources/i18n/openlp_en_GB.qm'
Binary files resources/i18n/openlp_en_GB.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_en_GB.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_en_ZA.qm'
Binary files resources/i18n/openlp_en_ZA.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_en_ZA.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_es.qm'
Binary files resources/i18n/openlp_es.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_es.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_hu.qm'
Binary files resources/i18n/openlp_hu.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_hu.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_nb.qm'
Binary files resources/i18n/openlp_nb.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_nb.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_pt_BR.qm'
Binary files resources/i18n/openlp_pt_BR.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_pt_BR.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'resources/i18n/openlp_sv.qm'
Binary files resources/i18n/openlp_sv.qm	2010-05-12 21:44:00 +0000 and resources/i18n/openlp_sv.qm	2010-05-27 06:56:27 +0000 differ
=== modified file 'scripts/translation_utils.py'
--- scripts/translation_utils.py	2010-05-20 16:46:53 +0000
+++ scripts/translation_utils.py	2010-05-27 06:56:27 +0000
@@ -136,7 +136,8 @@
                 line = u"%s/%s" % (path, file)
                 print u'Parsing "%s"' % line
                 stringlist.append(u"TRANSLATIONS += %s" % line)
-            
+                
+    stringlist.append(u'CODECFORTR    = UTF-8')
     print u'Generating PRO file...',
     stringlist.sort()
     write_file(os.path.join(start_dir, u'openlp.pro'), stringlist)


Follow ups