Index: sources/rb-source.c
===================================================================
--- sources/rb-source.c	(revision 4942)
+++ sources/rb-source.c	(working copy)
@@ -550,13 +550,13 @@ default_get_status (RBSource *source,
 
 	/* hack to get these strings marked for translation */
 	if (0) {
-		ngettext ("%d song", "%d songs", 0);
+		ngettext ("%d track", "%d tracks", 0);
 	}
 
 	if (priv->query_model) {
 		*text = rhythmdb_query_model_compute_status_normal (priv->query_model,
-								    "%d song",
-								    "%d songs");
+								    "%d track",
+								    "%d tracks");
 		if (rhythmdb_query_model_has_pending_changes (priv->query_model))
 			*progress = -1.0f;
 	} else {
Index: sources/rb-play-queue-source.c
===================================================================
--- sources/rb-play-queue-source.c	(revision 4942)
+++ sources/rb-play-queue-source.c	(working copy)
@@ -87,7 +87,7 @@ G_DEFINE_TYPE (RBPlayQueueSource, rb_pla
 static GtkActionEntry rb_play_queue_source_actions [] =
 {
 	{ "ClearQueue", GTK_STOCK_CLEAR, N_("Clear _Queue"), NULL,
-	  N_("Remove all songs from the play queue"),
+	  N_("Remove all tracks from the play queue"),
 	  G_CALLBACK (rb_play_queue_source_cmd_clear) }
 };
 
Index: shell/rb-shell.c
===================================================================
--- shell/rb-shell.c	(revision 4942)
+++ shell/rb-shell.c	(working copy)
@@ -445,7 +445,7 @@ static GtkActionEntry rb_shell_actions [
 	  N_("Show all tracks in this music source"),
 	  G_CALLBACK (rb_shell_cmd_view_all) },
 	{ "ViewJumpToPlaying", GTK_STOCK_JUMP_TO, N_("_Jump to Playing Song"), "<control>J",
-	  N_("Scroll the view to the currently playing song"),
+	  N_("Scroll the view to the currently playing track"),
 	  G_CALLBACK (rb_shell_cmd_current_song) },
 };
 static guint rb_shell_n_actions = G_N_ELEMENTS (rb_shell_actions);
@@ -952,6 +952,9 @@ rb_shell_finalize (GObject *object)
 	rb_debug ("destroying window");
 	gtk_widget_destroy (shell->priv->window);
 
+	rb_debug ("destroying UI manager");
+	g_object_unref (shell->priv->ui_manager);
+
 	g_list_free (shell->priv->sources);
 	shell->priv->sources = NULL;
 
@@ -1721,7 +1724,7 @@ rb_shell_db_save_error_cb (RhythmDB *db,
 		  	   RBShell *shell)
 {
 	rb_error_dialog (GTK_WINDOW (shell->priv->window),
-			 _("Error while saving song information"),
+			 _("Error while saving track information"),
 			 "%s", error->message);
 }
 
@@ -3445,7 +3448,7 @@ rb_shell_get_song_properties (RBShell *s
 		g_set_error (error,
 			     RB_SHELL_ERROR,
 			     RB_SHELL_ERROR_NO_SUCH_URI,
-			     _("Unknown song URI: %s"),
+			     _("Unknown track URI: %s"),
 			     uri);
 		return FALSE;
 	}
@@ -3474,7 +3477,7 @@ rb_shell_set_song_property (RBShell *she
 		g_set_error (error,
 			     RB_SHELL_ERROR,
 			     RB_SHELL_ERROR_NO_SUCH_URI,
-			     _("Unknown song URI: %s"),
+			     _("Unknown track URI: %s"),
 			     uri);
 		return FALSE;
 	}
Index: shell/rb-shell-player.c
===================================================================
--- shell/rb-shell-player.c	(revision 4942)
+++ shell/rb-shell-player.c	(working copy)
@@ -228,10 +228,10 @@ enum
 static GtkActionEntry rb_shell_player_actions [] =
 {
 	{ "ControlPrevious", GTK_STOCK_MEDIA_PREVIOUS, N_("P_revious"), "<alt>Left",
-	  N_("Start playing the previous song"),
+	  N_("Start playing the previous track"),
 	  G_CALLBACK (rb_shell_player_cmd_previous) },
 	{ "ControlNext", GTK_STOCK_MEDIA_NEXT, N_("_Next"), "<alt>Right",
-	  N_("Start playing the next song"),
+	  N_("Start playing the next track"),
 	  G_CALLBACK (rb_shell_player_cmd_next) },
 	{ "ControlVolumeUp", NULL, N_("_Increase Volume"), "<control>Up",
 	  N_("Increase playback volume"),
@@ -248,13 +248,13 @@ static GtkToggleActionEntry rb_shell_pla
 	  N_("Start playback"),
 	  G_CALLBACK (rb_shell_player_cmd_play) },
 	{ "ControlShuffle", GNOME_MEDIA_SHUFFLE, N_("Sh_uffle"), "<control>U",
-	  N_("Play songs in a random order"),
+	  N_("Play tracks in a random order"),
 	  G_CALLBACK (rb_shell_player_shuffle_changed_cb) },
 	{ "ControlRepeat", GNOME_MEDIA_REPEAT, N_("_Repeat"), "<control>R",
-	  N_("Play first song again after all songs are played"),
+	  N_("Play first track again after all tracks are played"),
 	  G_CALLBACK (rb_shell_player_repeat_changed_cb) },
 	{ "ViewSongPositionSlider", NULL, N_("_Song Position Slider"), NULL,
-	  N_("Change the visibility of the song position slider"),
+	  N_("Change the visibility of the track position slider"),
 	  G_CALLBACK (rb_shell_player_view_song_position_slider_changed_cb), TRUE },
 };
 static guint rb_shell_player_n_toggle_entries = G_N_ELEMENTS (rb_shell_player_toggle_entries);
@@ -1597,7 +1597,7 @@ rb_shell_player_do_previous (RBShellPlay
 	}
 
 	if (entry != NULL) {
-		rb_debug ("previous song found, doing previous");
+		rb_debug ("previous track found, doing previous");
 		if (new_source != player->priv->current_playing_source)
 			swap_playing_source (player, new_source);
 
@@ -1609,11 +1609,11 @@ rb_shell_player_do_previous (RBShellPlay
 		rb_shell_player_jump_to_current (player);
 		rhythmdb_entry_unref (entry);
 	} else {
-		rb_debug ("no previous song found, signaling error");
+		rb_debug ("no previous track found, signaling error");
 		g_set_error (error,
 			     RB_SHELL_PLAYER_ERROR,
 			     RB_SHELL_PLAYER_ERROR_END_OF_PLAYLIST,
-			     _("No previous song"));
+			     _("No previous track"));
 		rb_shell_player_set_playing_source (player, NULL);
 		return FALSE;
 	}
@@ -1690,7 +1690,7 @@ rb_shell_player_do_next (RBShellPlayer *
 		g_set_error (error,
 			     RB_SHELL_PLAYER_ERROR,
 			     RB_SHELL_PLAYER_ERROR_END_OF_PLAYLIST,
-			     _("No next song"));
+			     _("No next track"));
 		rb_debug ("No next entry, stopping playback");
 		rb_shell_player_set_playing_source (player, NULL);
 		rb_play_order_set_playing_entry (player->priv->play_order, NULL);
@@ -1726,7 +1726,7 @@ rb_shell_player_do_previous_or_seek (RBS
 			have_previous |= rb_play_order_has_previous (player->priv->queue_play_order);
 
 		if (have_previous) {
-			rb_debug ("after 3 second previous, restarting song");
+			rb_debug ("after 3 second previous, restarting track");
 			rb_player_set_time (player->priv->mmplayer, 0);
 			rb_header_sync_time (player->priv->header_widget);
 			return TRUE;
Index: shell/rb-shell-clipboard.c
===================================================================
--- shell/rb-shell-clipboard.c	(revision 4942)
+++ shell/rb-shell-clipboard.c	(working copy)
@@ -125,10 +125,10 @@ enum
 static GtkActionEntry rb_shell_clipboard_actions [] =
 {
 	{ "EditSelectAll", NULL, N_("Select _All"), "<control>A",
-	  N_("Select all songs"),
+	  N_("Select all tracks"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_select_all) },
 	{ "EditSelectNone", NULL, N_("D_eselect All"), "<shift><control>A",
-	  N_("Deselect all songs"),
+	  N_("Deselect all tracks"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_select_none) },
 	{ "EditCut", GTK_STOCK_CUT, N_("Cu_t"), "<control>X",
 	  N_("Cut selection"),
@@ -148,20 +148,20 @@ static GtkActionEntry rb_shell_clipboard
 
 	{ "EditPlaylistAdd", NULL, N_("Add to P_laylist") },
 	{ "EditPlaylistAddNew", GTK_STOCK_ADD, N_("_New Playlist..."), NULL,
-	  N_("Add the selected songs to a new playlist"),
+	  N_("Add the selected tracks to a new playlist"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_add_to_playlist_new) },
 	{ "AddToQueue", GTK_STOCK_ADD, N_("Add _to Play Queue"), NULL,
-	  N_("Add the selected songs to the play queue"),
+	  N_("Add the selected tracks to the play queue"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_add_song_to_queue) },
 	{ "QueueDelete", GTK_STOCK_REMOVE, N_("Remove"), NULL,
 	  N_("Remove selection"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_queue_delete) },
 
 	{ "MusicProperties", GTK_STOCK_PROPERTIES, N_("_Properties"), "<Alt>Return",
-	  N_("Show information on the selected song"),
+	  N_("Show information on the selected track"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_song_info) },
 	{ "QueueMusicProperties", GTK_STOCK_PROPERTIES, N_("_Properties"), NULL,
-	  N_("Show information on the selected song"),
+	  N_("Show information on the selected track"),
 	  G_CALLBACK (rb_shell_clipboard_cmd_queue_song_info) },
 };
 static guint rb_shell_clipboard_n_actions = G_N_ELEMENTS (rb_shell_clipboard_actions);
Index: shell/rb-tray-icon.c
===================================================================
--- shell/rb-tray-icon.c	(revision 4942)
+++ shell/rb-tray-icon.c	(working copy)
@@ -133,7 +133,7 @@ static GtkToggleActionEntry rb_tray_icon
 	  N_("Choose music to play"),
 	  G_CALLBACK (rb_tray_icon_show_window_changed_cb) },
 	{ "TrayShowNotifications", NULL, N_("Show N_otifications"), NULL,
-	  N_("Show notifications of song changes and other events"),
+	  N_("Show notifications of track changes and other events"),
 	  G_CALLBACK (rb_tray_icon_show_notifications_changed_cb) }
 };
 static guint rb_tray_icon_n_toggle_entries = G_N_ELEMENTS (rb_tray_icon_toggle_entries);
Index: data/glade/create-playlist.glade
===================================================================
--- data/glade/create-playlist.glade	(revision 4942)
+++ data/glade/create-playlist.glade	(working copy)
@@ -236,7 +236,7 @@
 			  <child>
 			    <widget class="GtkMenuItem" id="songs1">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">songs</property>
+			      <property name="label" translatable="yes">tracks</property>
 			      <property name="use_underline">True</property>
 			    </widget>
 			  </child>
Index: plugins/audioscrobbler/rb-lastfm-source.c
===================================================================
--- plugins/audioscrobbler/rb-lastfm-source.c	(revision 4942)
+++ plugins/audioscrobbler/rb-lastfm-source.c	(working copy)
@@ -213,7 +213,7 @@ static GtkActionEntry rb_lastfm_source_a
 	  N_("Skip the current track"),
 	  G_CALLBACK (rb_lastfm_source_skip_track) },
 	{ "LastfmLoveSong", GTK_STOCK_ADD, N_("Love Song"), NULL,
-	  N_("Mark this song as loved"),
+	  N_("Mark this track as loved"),
 	  G_CALLBACK (rb_lastfm_source_love_track) },
 	{ "LastfmBanSong", GTK_STOCK_CANCEL, N_("Ban Song"), NULL,
 	  N_("Ban the current track from being played again"),
@@ -973,19 +973,19 @@ rb_lastfm_source_command (RBLastfmSource
 static void
 rb_lastfm_source_love_track (GtkAction *action, RBLastfmSource *source)
 {
-	rb_lastfm_source_command (source, "command=love", _("Marking song loved..."));
+	rb_lastfm_source_command (source, "command=love", _("Marking track loved..."));
 }
 
 static void
 rb_lastfm_source_skip_track (GtkAction *action, RBLastfmSource *source)
 {
-	rb_lastfm_source_command (source, "command=skip", _("Skipping song..."));
+	rb_lastfm_source_command (source, "command=skip", _("Skipping track..."));
 }
 
 static void
 rb_lastfm_source_ban_track (GtkAction *action, RBLastfmSource *source)
 {
-	rb_lastfm_source_command (source, "command=ban", _("Banning song..."));
+	rb_lastfm_source_command (source, "command=ban", _("Banning track..."));
 }
 
 
Index: plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in
===================================================================
--- plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in	(revision 4942)
+++ plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in	(working copy)
@@ -2,7 +2,7 @@
 Module=audioscrobbler
 IAge=1
 _Name=Last.fm
-_Description=Submits song information to last.fm and plays last.fm radio streams
+_Description=Submits track information to last.fm and plays last.fm radio streams
 Icon=as-powered.png
 Authors=Alex Revo <xiphoidappendix@gmail.com>;Ruben Vermeersch <ruben@Lambda1.be>
 Copyright=Copyright © 2005-2006 Alex Revo, Ruben Vermeersch
Index: plugins/daap/rb-daap-source.c
===================================================================
--- plugins/daap/rb-daap-source.c	(revision 4942)
+++ plugins/daap/rb-daap-source.c	(working copy)
@@ -421,7 +421,7 @@ connection_connecting_cb (RBDAAPConnecti
 	case DAAP_GET_SONGS:
 	case DAAP_GET_PLAYLISTS:
 	case DAAP_GET_PLAYLIST_ENTRIES:
-		source->priv->connection_status = _("Retrieving songs from music share");
+		source->priv->connection_status = _("Retrieving tracks from music share");
 		break;
 	case DAAP_LOGOUT:
 	case DAAP_DONE:
Index: plugins/lyrics/lyrics.py
===================================================================
--- plugins/lyrics/lyrics.py	(revision 4942)
+++ plugins/lyrics/lyrics.py	(working copy)
@@ -254,7 +254,7 @@ class LyricsDisplayPlugin(rb.Plugin):
 
     def activate (self, shell):
 	self.action = gtk.Action ('ViewSongLyrics', _('Song L_yrics'),
-				  _('Display lyrics for the playing song'),
+				  _('Display lyrics for the playing track'),
 				  'rb-song-lyrics')
 	self.activate_id = self.action.connect ('activate', self.show_song_lyrics, shell)
 
Index: remote/dbus/rb-client.c
===================================================================
--- remote/dbus/rb-client.c	(revision 4942)
+++ remote/dbus/rb-client.c	(working copy)
@@ -76,10 +76,10 @@ static GOptionEntry args[] = {
 	{ "no-present", 0, 0, G_OPTION_ARG_NONE, &no_present, N_("Don't present an existing Rhythmbox window"), NULL },
 	{ "hide", 0, 0, G_OPTION_ARG_NONE, &hide, N_("Hide the Rhythmbox window"), NULL },
 
-	{ "next", 0, 0, G_OPTION_ARG_NONE, &next, N_("Jump to next song"), NULL },
-	{ "previous", 0, 0, G_OPTION_ARG_NONE, &previous, N_("Jump to previous song"), NULL },
+	{ "next", 0, 0, G_OPTION_ARG_NONE, &next, N_("Jump to next track"), NULL },
+	{ "previous", 0, 0, G_OPTION_ARG_NONE, &previous, N_("Jump to previous track"), NULL },
 
-	{ "notify", 0, 0, G_OPTION_ARG_NONE, &notify, N_("Show notification of the playing song"), NULL },
+	{ "notify", 0, 0, G_OPTION_ARG_NONE, &notify, N_("Show notification of the playing track"), NULL },
 
 	{ "play", 0, 0, G_OPTION_ARG_NONE, &play, N_("Resume playback if currently paused"), NULL },
 	{ "pause", 0, 0, G_OPTION_ARG_NONE, &pause, N_("Pause playback if currently playing"), NULL },
@@ -90,8 +90,8 @@ static GOptionEntry args[] = {
 	{ "enqueue", 0, 0, G_OPTION_ARG_NONE, &enqueue, N_("Add specified tracks to the play queue"), NULL },
 	{ "clear-queue", 0, 0, G_OPTION_ARG_NONE, &clear_queue, N_("Empty the play queue before adding new tracks"), NULL },
 
-	{ "print-playing", 0, 0, G_OPTION_ARG_NONE, &print_playing, N_("Print the title and artist of the playing song"), NULL },
-	{ "print-playing-format", 0, 0, G_OPTION_ARG_STRING, &print_playing_format, N_("Print formatted details of the song"), NULL },
+	{ "print-playing", 0, 0, G_OPTION_ARG_NONE, &print_playing, N_("Print the title and artist of the playing track"), NULL },
+	{ "print-playing-format", 0, 0, G_OPTION_ARG_STRING, &print_playing_format, N_("Print formatted details of the track"), NULL },
 
 #if GLIB_CHECK_VERSION(2,12,0)
 	{ "set-volume", 0, 0, G_OPTION_ARG_DOUBLE, &set_volume, N_("Set the playback volume"), NULL },
@@ -395,7 +395,7 @@ print_playing_song (DBusGProxy *shell_pr
 		g_print (_("Not playing"));
 		return;
 	}
-	rb_debug ("playing song is %s", playing_uri);
+	rb_debug ("playing track is %s", playing_uri);
 
 	org_gnome_Rhythmbox_Shell_get_song_properties (shell_proxy, playing_uri, &properties, &error);
 	if (annoy (&error))
Index: widgets/rb-query-creator-properties.c
===================================================================
--- widgets/rb-query-creator-properties.c	(revision 4942)
+++ widgets/rb-query-creator-properties.c	(working copy)
@@ -96,7 +96,7 @@ const RBQueryCreatorSortOption sort_opti
 	{ N_("Genre"), "Genre", N_("_In reverse alphabetical order") },
 	{ N_("Title"), "Title", N_("_In reverse alphabetical order") },
 	{ N_("Rating"), "Rating", N_("W_ith more highly rated tracks first") },
-	{ N_("Play Count"), "PlayCount", N_("W_ith more often played songs first") },
+	{ N_("Play Count"), "PlayCount", N_("W_ith more often played tracks first") },
 	{ N_("Year"), "Year", N_("W_ith newer tracks first") },
 	{ N_("Duration"), "Time", N_("W_ith longer tracks first") },
 	{ N_("Track Number"), "Track", N_("_In decreasing order")},
