Index: libslab-2.27.91/libslab/app-shell.c
===================================================================
--- libslab-2.27.91.orig/libslab/app-shell.c
+++ libslab-2.27.91/libslab/app-shell.c
@@ -41,6 +41,7 @@
 
 #include "application-tile.h"
 #include "themed-icon.h"
+#include "libslab-utils.h"
 
 #define TILE_EXEC_NAME "Tile_desktop_exec_name"
 #define SECONDS_IN_DAY 86400
@@ -705,7 +706,7 @@ create_application_category_sections (Ap
 		atk_object_set_name (a11y_cat, data->category);
 
 		markup = g_markup_printf_escaped ("<span size=\"x-large\" weight=\"bold\">%s</span>",
-			data->category);
+			_utf8(data->category));
 		data->section = SLAB_SECTION (slab_section_new_with_markup (markup, Style2));
 
 		/* as we filter these will be added/removed from parent container and we dont want them destroyed */
@@ -753,7 +754,7 @@ show_no_results_message (AppShellData *
 	str1 = g_strdup_printf ("%s", app_data->filter_string);
 	str2 = g_strdup_printf (_("Your filter \"%s\" does not match any items."), str1);
 	markup = g_markup_printf_escaped ("<span size=\"large\"><b>%s</b></span>\n\n%s",
-		_("No matches found."), str2);
+		_utf8(_("No matches found.")), _utf8(str2));
 	gtk_label_set_text (app_data->filtered_out_everything_widget_label, markup);
 	gtk_label_set_use_markup (app_data->filtered_out_everything_widget_label, TRUE);
 	gtk_box_pack_start (GTK_BOX (containing_vbox), app_data->filtered_out_everything_widget,
Index: libslab-2.27.91/libslab/application-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/application-tile.c
+++ libslab-2.27.91/libslab/application-tile.c
@@ -372,7 +372,7 @@ application_tile_setup (ApplicationTile
 /* make start action */
 
 	str = g_strdup_printf (_("Start %s"), this->name);
-	markup = g_markup_printf_escaped ("<b>%s</b>", str);
+	markup = g_markup_printf_escaped ("<b>%s</b>", _utf8(str));
 	action = tile_action_new (TILE (this), start_trigger, markup, TILE_ACTION_OPENS_NEW_WINDOW);
 	actions [APPLICATION_TILE_ACTION_START] = action;
 	g_free (markup);
@@ -392,7 +392,7 @@ application_tile_setup (ApplicationTile
 
 	if (gnome_desktop_item_get_string (priv->desktop_item, "DocPath")) {
 		action = tile_action_new (
-			TILE (this), help_trigger, _("Help"),
+			TILE (this), help_trigger, _utf8(_("Help")),
 			TILE_ACTION_OPENS_NEW_WINDOW | TILE_ACTION_OPENS_HELP);
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -439,7 +439,7 @@ application_tile_setup (ApplicationTile
 		key = "/apps/main-menu/upgrade_package_command";
 
 	if (verify_package_management_command (key)) {
-		action = tile_action_new (TILE (this), upgrade_trigger, _("Upgrade"), TILE_ACTION_OPENS_NEW_WINDOW);
+		action = tile_action_new (TILE (this), upgrade_trigger, _utf8(_("Upgrade")), TILE_ACTION_OPENS_NEW_WINDOW);
 		actions [APPLICATION_TILE_ACTION_UPGRADE_PACKAGE] = action;
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
 		gtk_container_add (menu_ctnr, menu_item);
@@ -454,7 +454,7 @@ application_tile_setup (ApplicationTile
 		key = "/apps/main-menu/uninstall_package_command";
 
 	if (verify_package_management_command (key)) {
-		action = tile_action_new (TILE (this), uninstall_trigger, _("Uninstall"), TILE_ACTION_OPENS_NEW_WINDOW);
+		action = tile_action_new (TILE (this), uninstall_trigger, _utf8(_("Uninstall")), TILE_ACTION_OPENS_NEW_WINDOW);
 		actions [APPLICATION_TILE_ACTION_UNINSTALL_PACKAGE] = action;
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
 		gtk_container_add (menu_ctnr, menu_item);
@@ -781,9 +781,9 @@ update_user_list_menu_item (ApplicationT
 	priv->is_bookmarked = bookmark_agent_has_item (priv->agent, TILE (this)->uri);
 
 	if (priv->is_bookmarked)
-		tile_action_set_menu_item_label (action, _("Remove from Favorites"));
+		tile_action_set_menu_item_label (action, _utf8(_("Remove from Favorites")));
 	else
-		tile_action_set_menu_item_label (action, _("Add to Favorites"));
+		tile_action_set_menu_item_label (action, _utf8(_("Add to Favorites")));
 
 	item = GTK_WIDGET (tile_action_get_menu_item (action));
 
@@ -874,9 +874,9 @@ update_startup_menu_item (ApplicationTil
 		return;
 
 	if (priv->startup_status == APP_IN_USER_STARTUP_DIR)
-		tile_action_set_menu_item_label (action, _("Remove from Startup Programs"));
+		tile_action_set_menu_item_label (action, _utf8(_("Remove from Startup Programs")));
 	else
-		tile_action_set_menu_item_label (action, _("Add to Startup Programs"));
+		tile_action_set_menu_item_label (action, _utf8(_("Add to Startup Programs")));
 }
 
 static void
Index: libslab-2.27.91/libslab/directory-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/directory-tile.c
+++ libslab-2.27.91/libslab/directory-tile.c
@@ -127,7 +127,7 @@ directory_tile_new (const gchar *in_uri,
 	else
 		basename = g_strdup (title);
 
-	header = create_header (basename);
+	header = create_header (_utf8(basename));
 
 	filename = g_filename_from_uri (uri, NULL, NULL);
 
@@ -168,7 +168,7 @@ directory_tile_new (const gchar *in_uri,
 
 	/* make open with default action */
 
-	markup = g_markup_printf_escaped (_("<b>Open</b>"));
+	markup = g_markup_printf_escaped (_utf8(_("<b>Open</b>")));
 	action = tile_action_new (TILE (this), open_with_default_trigger, markup, TILE_ACTION_OPENS_NEW_WINDOW);
 	g_free (markup);
 
@@ -187,7 +187,7 @@ directory_tile_new (const gchar *in_uri,
 
 	/* make rename action */
 
-	action = tile_action_new (TILE (this), rename_trigger, _("Rename..."), 0);
+	action = tile_action_new (TILE (this), rename_trigger, _utf8(_("Rename...")), 0);
 	TILE (this)->actions[DIRECTORY_TILE_ACTION_RENAME] = action;
 
 	menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -201,7 +201,7 @@ directory_tile_new (const gchar *in_uri,
 
 	if (!strncmp (TILE (this)->uri, "file://", 7))
 	{
-		action = tile_action_new (TILE (this), send_to_trigger, _("Send To..."),
+		action = tile_action_new (TILE (this), send_to_trigger, _utf8(_("Send To...")),
 			TILE_ACTION_OPENS_NEW_WINDOW);
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -210,7 +210,7 @@ directory_tile_new (const gchar *in_uri,
 	{
 		action = NULL;
 
-		menu_item = gtk_menu_item_new_with_label (_("Send To..."));
+		menu_item = gtk_menu_item_new_with_label (_utf8(_("Send To...")));
 		gtk_widget_set_sensitive (menu_item, FALSE);
 	}
 
@@ -225,7 +225,7 @@ directory_tile_new (const gchar *in_uri,
 
 	/* make move to trash action */
 
-	action = tile_action_new (TILE (this), move_to_trash_trigger, _("Move to Trash"), 0);
+	action = tile_action_new (TILE (this), move_to_trash_trigger, _utf8(_("Move to Trash")), 0);
 	TILE (this)->actions[DIRECTORY_TILE_ACTION_MOVE_TO_TRASH] = action;
 
 	menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -235,7 +235,7 @@ directory_tile_new (const gchar *in_uri,
 
 	if (priv->delete_enabled)
 	{
-		action = tile_action_new (TILE (this), delete_trigger, _("Delete"), 0);
+		action = tile_action_new (TILE (this), delete_trigger, _utf8(_("Delete")), 0);
 		TILE (this)->actions[DIRECTORY_TILE_ACTION_DELETE] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -454,7 +454,7 @@ gconf_enable_delete_cb (GConfClient *cli
 
 	if (priv->delete_enabled)
 	{
-		action = tile_action_new (tile, delete_trigger, _("Delete"), 0);
+		action = tile_action_new (tile, delete_trigger, _utf8(_("Delete")), 0);
 		tile->actions[DIRECTORY_TILE_ACTION_DELETE] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
Index: libslab-2.27.91/libslab/document-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/document-tile.c
+++ libslab-2.27.91/libslab/document-tile.c
@@ -156,7 +156,7 @@ document_tile_new (BookmarkStoreType boo
 	basename = g_uri_unescape_string (markup, NULL);
 	g_free (markup);
 
-	header = create_header (basename);
+	header = create_header (_utf8(basename));
 
 	time_str = create_subheader_string (modified);
 	subheader = create_subheader (time_str);
@@ -194,7 +194,7 @@ document_tile_new (BookmarkStoreType boo
 	if (priv->default_app) {
 		str = g_strdup_printf (_("Open with \"%s\""),
 				       g_app_info_get_name (priv->default_app));
-		markup = g_markup_printf_escaped ("<b>%s</b>", str);
+		markup = g_markup_printf_escaped ("<b>%s</b>", _utf8(str));
 		action = tile_action_new (TILE (this), open_with_default_trigger, markup,
 			TILE_ACTION_OPENS_NEW_WINDOW);
 		g_free (markup);
@@ -206,7 +206,7 @@ document_tile_new (BookmarkStoreType boo
 	}
 	else {
 		action = NULL;
-		menu_item = gtk_menu_item_new_with_label (_("Open with Default Application"));
+		menu_item = gtk_menu_item_new_with_label (_utf8(_("Open with Default Application")));
 		gtk_widget_set_sensitive (menu_item, FALSE);
 	}
 
@@ -217,7 +217,7 @@ document_tile_new (BookmarkStoreType boo
 	/* make open in nautilus action */
 
 	action = tile_action_new (TILE (this), open_in_file_manager_trigger,
-		_("Open in File Manager"), TILE_ACTION_OPENS_NEW_WINDOW);
+		_utf8(_("Open in File Manager")), TILE_ACTION_OPENS_NEW_WINDOW);
 	TILE (this)->actions[DOCUMENT_TILE_ACTION_OPEN_IN_FILE_MANAGER] = action;
 
 	if (!TILE (this)->default_action)
@@ -233,7 +233,7 @@ document_tile_new (BookmarkStoreType boo
 
 	/* make rename action */
 
-	action = tile_action_new (TILE (this), rename_trigger, _("Rename..."), 0);
+	action = tile_action_new (TILE (this), rename_trigger, _utf8(_("Rename...")), 0);
 	TILE (this)->actions[DOCUMENT_TILE_ACTION_RENAME] = action;
 
 	menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -247,7 +247,7 @@ document_tile_new (BookmarkStoreType boo
 
 	if (!strncmp (TILE (this)->uri, "file://", 7))
 	{
-		action = tile_action_new (TILE (this), send_to_trigger, _("Send To..."),
+		action = tile_action_new (TILE (this), send_to_trigger, _utf8(_("Send To...")),
 			TILE_ACTION_OPENS_NEW_WINDOW);
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -256,7 +256,7 @@ document_tile_new (BookmarkStoreType boo
 	{
 		action = NULL;
 
-		menu_item = gtk_menu_item_new_with_label (_("Send To..."));
+		menu_item = gtk_menu_item_new_with_label (_utf8(_("Send To...")));
 		gtk_widget_set_sensitive (menu_item, FALSE);
 	}
 
@@ -282,7 +282,7 @@ document_tile_new (BookmarkStoreType boo
 
 	/* make move to trash action */
 
-	action = tile_action_new (TILE (this), move_to_trash_trigger, _("Move to Trash"), 0);
+	action = tile_action_new (TILE (this), move_to_trash_trigger, _utf8(_("Move to Trash")), 0);
 	TILE (this)->actions[DOCUMENT_TILE_ACTION_MOVE_TO_TRASH] = action;
 
 	menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -292,7 +292,7 @@ document_tile_new (BookmarkStoreType boo
 
 	if (priv->delete_enabled)
 	{
-		action = tile_action_new (TILE (this), delete_trigger, _("Delete"), 0);
+		action = tile_action_new (TILE (this), delete_trigger, _utf8(_("Delete")), 0);
 		TILE (this)->actions[DOCUMENT_TILE_ACTION_DELETE] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -301,7 +301,7 @@ document_tile_new (BookmarkStoreType boo
 
 	if (!priv->is_bookmarked) {
 		/* clean item from menu */
-		action = tile_action_new (TILE (this), remove_recent_item, _("Remove from recent menu"), 0);
+		action = tile_action_new (TILE (this), remove_recent_item, _utf8(_("Remove from recent menu")), 0);
 		TILE (this)->actions[DOCUMENT_TILE_ACTION_CLEAN_ITEM] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -309,7 +309,7 @@ document_tile_new (BookmarkStoreType boo
 
 		/* clean all the items from menu */
 
-		action = tile_action_new (TILE (this), purge_recent_items, _("Purge all the recent items"), 0);
+		action = tile_action_new (TILE (this), purge_recent_items, _utf8(_("Purge all the recent items")), 0);
 		TILE (this)->actions[DOCUMENT_TILE_ACTION_CLEAN_ALL] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
@@ -743,9 +743,9 @@ update_user_list_menu_item (DocumentTile
 	priv->is_bookmarked = bookmark_agent_has_item (bookmark_agent_get_instance (BOOKMARK_STORE_USER_DOCS), TILE (this)->uri);
 
 	if (priv->is_bookmarked)
-		tile_action_set_menu_item_label (action, _("Remove from Favorites"));
+		tile_action_set_menu_item_label (action, _utf8(_("Remove from Favorites")));
 	else
-		tile_action_set_menu_item_label (action, _("Add to Favorites"));
+		tile_action_set_menu_item_label (action, _utf8(_("Add to Favorites")));
 
 	item = tile_action_get_menu_item (action);
 
@@ -859,7 +859,7 @@ gconf_enable_delete_cb (GConfClient *cli
 
 	if (priv->delete_enabled)
 	{
-		action = tile_action_new (tile, delete_trigger, _("Delete"), 0);
+		action = tile_action_new (tile, delete_trigger, _utf8(_("Delete")), 0);
 		tile->actions[DOCUMENT_TILE_ACTION_DELETE] = action;
 
 		menu_item = GTK_WIDGET (tile_action_get_menu_item (action));
Index: libslab-2.27.91/libslab/libslab-utils.h
===================================================================
--- libslab-2.27.91.orig/libslab/libslab-utils.h
+++ libslab-2.27.91/libslab/libslab-utils.h
@@ -37,6 +37,8 @@ GnomeDesktopThumbnailFactory *libslab_th
 void libslab_checkpoint_init (const char *checkpoint_config_file_basename, const char *checkpoint_file_basename);
 void libslab_checkpoint (const char *format, ...);
 
+#define _utf8(STRING)	(g_utf8_validate((STRING), -1, NULL) ? (STRING) :g_locale_to_utf8((STRING),-1,NULL,NULL,NULL))
+
 G_END_DECLS
 
 #endif
Index: libslab-2.27.91/libslab/slab-section.c
===================================================================
--- libslab-2.27.91.orig/libslab/slab-section.c
+++ libslab-2.27.91/libslab/slab-section.c
@@ -19,6 +19,7 @@
  */
 
 #include "slab-section.h"
+#include "libslab-utils.h"
 
 G_DEFINE_TYPE (SlabSection, slab_section, GTK_TYPE_VBOX)
 
Index: libslab-2.27.91/libslab/system-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/system-tile.c
+++ libslab-2.27.91/libslab/system-tile.c
@@ -124,7 +124,7 @@ system_tile_new (const gchar *desktop_it
 
 	menu_ctnr = GTK_CONTAINER (TILE (this)->context_menu);
 
-	markup = g_markup_printf_escaped (_("<b>Open %s</b>"), header_txt);
+	markup = g_markup_printf_escaped (_utf8(_("<b>Open %s</b>")), header_txt);
 	action = tile_action_new (TILE (this), open_trigger, markup, TILE_ACTION_OPENS_NEW_WINDOW);
 	actions [SYSTEM_TILE_ACTION_OPEN] = action;
 	g_free (markup);
@@ -137,7 +137,7 @@ system_tile_new (const gchar *desktop_it
 
 	gtk_container_add (menu_ctnr, gtk_separator_menu_item_new ());
 
-	markup = g_markup_printf_escaped (_("Remove from System Items"));
+	markup = g_markup_printf_escaped (_utf8(_("Remove from System Items")));
 	action = tile_action_new (TILE (this), remove_trigger, markup, 0);
 	actions [SYSTEM_TILE_ACTION_REMOVE] = action;
 	g_free (markup);
