[gnome-commander] Use Unicode in translatable strings



commit 8c179015bc7a955fc6b195fd82e56a274655e0eb
Author: Piotr Drąg <piotrdrag gmail com>
Date:   Sat Apr 29 21:33:07 2017 +0200

    Use Unicode in translatable strings
    
    See https://developer.gnome.org/hig/stable/typography.html
    
    https://bugzilla.gnome.org/show_bug.cgi?id=781948

 data/gnome-commander.appdata.xml.in           |    2 +-
 data/org.gnome.gnome-commander.gschema.xml    |    8 ++--
 plugins/fileroller/file-roller-plugin.cc      |    8 ++--
 src/dialogs/gnome-cmd-advrename-dialog.cc     |    6 +-
 src/dialogs/gnome-cmd-con-dialog.cc           |    2 +-
 src/dialogs/gnome-cmd-delete-dialog.cc        |    6 +-
 src/dialogs/gnome-cmd-key-shortcuts-dialog.cc |    4 +-
 src/dialogs/gnome-cmd-make-copy-dialog.cc     |    2 +-
 src/dialogs/gnome-cmd-options-dialog.cc       |   10 ++--
 src/dialogs/gnome-cmd-prepare-copy-dialog.cc  |    2 +-
 src/dialogs/gnome-cmd-prepare-move-dialog.cc  |    2 +-
 src/dialogs/gnome-cmd-prepare-xfer-dialog.cc  |    4 +-
 src/dialogs/gnome-cmd-search-dialog.cc        |   10 ++--
 src/eggcellrendererkeys.cc                    |    4 +-
 src/gnome-cmd-dir-indicator.cc                |    2 +-
 src/gnome-cmd-file-popmenu.cc                 |   10 ++--
 src/gnome-cmd-main-menu.cc                    |   22 ++++----
 src/gnome-cmd-main-win.cc                     |    2 +-
 src/gnome-cmd-python-plugin.cc                |    2 +-
 src/gnome-cmd-xfer-progress-win.cc            |    2 +-
 src/gnome-cmd-xfer.cc                         |    6 +-
 src/imageloader.cc                            |    8 ++--
 src/intviewer/search-progress-dlg.cc          |    4 +-
 src/intviewer/viewer-window.cc                |    4 +-
 src/tags/gnome-cmd-tags.cc                    |   66 ++++++++++++------------
 src/utils.cc                                  |    8 ++--
 26 files changed, 103 insertions(+), 103 deletions(-)
---
diff --git a/data/gnome-commander.appdata.xml.in b/data/gnome-commander.appdata.xml.in
index f1ed3e6..e37cbdc 100644
--- a/data/gnome-commander.appdata.xml.in
+++ b/data/gnome-commander.appdata.xml.in
@@ -8,7 +8,7 @@
   <summary>Two-pane file manager</summary>
   <description>
     <p>
-      GNOME Commander is a "two-pane" graphical file manager for the GNOME
+      GNOME Commander is a “two-pane” graphical file manager for the GNOME
       desktop environment. It features separate tabs for each pane,
       setting up custom device buttons, bookmark manager, fully integrated
       commandline, file quick search, an internal image viewer, a powerful
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index 409919d..51a6bd2 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -30,7 +30,7 @@
       <default>true</default>
       <summary>Use default font</summary>
       <description>
-          Whether to use the system's default fixed width font for the file
+          Whether to use the system’s default fixed width font for the file
           panels instead of a font specific to gnome-commander.
       </description>
     </key>
@@ -38,7 +38,7 @@
       <default>'DejaVu Sans Mono 8'</default>
       <summary>Panel font</summary>
       <description>
-          A custom font that will be used for the file panes if the "Use default font" option is turned off.
+          A custom font that will be used for the file panes if the “Use default font” option is turned off.
       </description>
     </key>
     <key name='size-display-mode' enum='org.gnome.gnome-commander.GnomeCmdSizeDispMode'>
@@ -187,7 +187,7 @@
       <summary>Symlink string</summary>
       <description>
           This string defines the default name of a newly created symlink. Leave the string
-          empty to use the default value which is hard coded into the program code. A '%s'
+          empty to use the default value which is hard coded into the program code. A “%s”
           will be expanded to the item name for which a link should be created.
       </description>
     </key>
@@ -287,7 +287,7 @@
       <default>4</default>
       <summary>Main window state</summary>
       <description>
-          The number represents the main window state, e.g. 'maximized', 'fullscreen', etc. and is 
calculated internally.
+          The number represents the main window state, e.g. “maximized”, “fullscreen”, etc. and is 
calculated internally.
       </description>
     </key>
     <key name="middle-mouse-btn-mode" enum="org.gnome.gnome-commander.MiddleMouseButtonMode">
diff --git a/plugins/fileroller/file-roller-plugin.cc b/plugins/fileroller/file-roller-plugin.cc
index 9ddf09d..04db43c 100644
--- a/plugins/fileroller/file-roller-plugin.cc
+++ b/plugins/fileroller/file-roller-plugin.cc
@@ -448,7 +448,7 @@ static GList *create_popup_menu_items (GnomeCmdPlugin *plugin, GnomeCmdState *st
 
     FILE_ROLLER_PLUGIN (plugin)->priv->state = state;
 
-    item = create_menu_item (_("Create Archive..."), TRUE, GTK_SIGNAL_FUNC (on_add_to_archive), plugin);
+    item = create_menu_item (_("Create Archive…"), TRUE, GTK_SIGNAL_FUNC (on_add_to_archive), plugin);
     items = g_list_append (items, item);
 
     if (num_files == 1)
@@ -467,7 +467,7 @@ static GList *create_popup_menu_items (GnomeCmdPlugin *plugin, GnomeCmdState *st
 
                 gchar *text;
 
-                text = g_strdup_printf (_("Extract to '%s'"), fname);
+                text = g_strdup_printf (_("Extract to “%s”"), fname);
                 item = create_menu_item (text, TRUE, GTK_SIGNAL_FUNC (on_extract_cwd), f->uri);
                 g_object_set_data (G_OBJECT (item), "target_name", g_strdup (fname));
                 items = g_list_append (items, item);
@@ -477,7 +477,7 @@ static GList *create_popup_menu_items (GnomeCmdPlugin *plugin, GnomeCmdState *st
                 {
                     gchar *path = gnome_vfs_unescape_string (gnome_vfs_uri_get_path 
(state->inactive_dir_uri), NULL);
 
-                    text = g_strdup_printf (_("Extract to '%s'"), path);
+                    text = g_strdup_printf (_("Extract to “%s”"), path);
                     item = create_menu_item (text, TRUE, GTK_SIGNAL_FUNC (on_extract_cwd), f->uri);
                     g_object_set_data (G_OBJECT (item), "target_dir", path);
                     items = g_list_append (items, item);
@@ -592,7 +592,7 @@ static void configure (GnomeCmdPlugin *plugin)
     g_object_set_data (G_OBJECT (dialog), "date_format_test_label", label);
     table_add (table, label, 1, 3, (GtkAttachOptions) (GTK_EXPAND|GTK_FILL));
 
-    gchar* text = g_strdup_printf("<small>%s</small>",_("Use $N as a pattern for the original file name. See 
the manual page for \"strftime\" for other patterns."));
+    gchar* text = g_strdup_printf("<small>%s</small>",_("Use $N as a pattern for the original file name. See 
the manual page for “strftime” for other patterns."));
     label = create_label (dialog, text);
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     gtk_label_set_markup (GTK_LABEL (label), text);
diff --git a/src/dialogs/gnome-cmd-advrename-dialog.cc b/src/dialogs/gnome-cmd-advrename-dialog.cc
index 65e7e2f..5cb6fc0 100644
--- a/src/dialogs/gnome-cmd-advrename-dialog.cc
+++ b/src/dialogs/gnome-cmd-advrename-dialog.cc
@@ -128,7 +128,7 @@ inline GtkWidget *GnomeCmdAdvrenameDialog::Private::create_placeholder_menu(Gnom
 
     GtkItemFactoryEntry *i = items;
 
-    i->path = g_strdup (_("/_Save Profile As..."));
+    i->path = g_strdup (_("/_Save Profile As…"));
     i->callback = (GtkItemFactoryCallback) manage_profiles;
     i->callback_action = TRUE;
     i->item_type = (gchar *) "<StockItem>";
@@ -137,7 +137,7 @@ inline GtkWidget *GnomeCmdAdvrenameDialog::Private::create_placeholder_menu(Gnom
 
     if (!cfg->profiles.empty())
     {
-        i->path = g_strdup (_("/_Manage Profiles..."));
+        i->path = g_strdup (_("/_Manage Profiles…"));
         i->callback = (GtkItemFactoryCallback) manage_profiles;
         i->item_type = (gchar *) "<StockItem>";
         i->extra_data = GTK_STOCK_EDIT;
@@ -698,7 +698,7 @@ GnomeCmdAdvrenameDialog::GnomeCmdAdvrenameDialog(GnomeCmdData::AdvrenameConfig &
     gtk_window_set_transient_for (*this, *main_win);
 
     gtk_dialog_add_action_widget (*this,
-                                  priv->create_button_with_menu (_("Profiles..."), &cfg),
+                                  priv->create_button_with_menu (_("Profiles…"), &cfg),
                                   GCMD_RESPONSE_PROFILES);
 
     gtk_dialog_add_buttons (*this,
diff --git a/src/dialogs/gnome-cmd-con-dialog.cc b/src/dialogs/gnome-cmd-con-dialog.cc
index 35179fa..e53583b 100644
--- a/src/dialogs/gnome-cmd-con-dialog.cc
+++ b/src/dialogs/gnome-cmd-con-dialog.cc
@@ -329,7 +329,7 @@ gboolean GnomeCmdConnectDialog::verify_uri()
     if (type==CON_URI && uri.empty())
     {
         gnome_cmd_show_message (*this,
-                                stringify(g_strdup_printf (_("\"%s\" is not a valid location"), 
uri.c_str())),
+                                stringify(g_strdup_printf (_("“%s” is not a valid location"), uri.c_str())),
                                 _("Please check spelling and try again."));
         return FALSE;
     }
diff --git a/src/dialogs/gnome-cmd-delete-dialog.cc b/src/dialogs/gnome-cmd-delete-dialog.cc
index 37b67fc..317c27f 100644
--- a/src/dialogs/gnome-cmd-delete-dialog.cc
+++ b/src/dialogs/gnome-cmd-delete-dialog.cc
@@ -130,7 +130,7 @@ inline void create_delete_progress_win (DeleteData *data)
     GtkWidget *button;
 
     data->progwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_title (GTK_WINDOW (data->progwin), _("Deleting..."));
+    gtk_window_set_title (GTK_WINDOW (data->progwin), _("Deleting…"));
     gtk_window_set_policy (GTK_WINDOW (data->progwin), FALSE, FALSE, FALSE);
     gtk_window_set_position (GTK_WINDOW (data->progwin), GTK_WIN_POS_CENTER);
     gtk_widget_set_size_request (GTK_WIDGET (data->progwin), 300, -1);
@@ -202,7 +202,7 @@ static gboolean update_delete_status_widgets (DeleteData *data)
     if (data->problem)
     {
         const gchar *error = gnome_vfs_result_to_string (data->vfs_status);
-        gchar *msg = g_strdup_printf (_("Error while deleting \"%s\"\n\n%s"), data->problem_file, error);
+        gchar *msg = g_strdup_printf (_("Error while deleting “%s”\n\n%s"), data->problem_file, error);
 
         data->problem_action = run_simple_dialog (
             *main_win, TRUE, GTK_MESSAGE_ERROR, msg, _("Delete problem"),
@@ -275,7 +275,7 @@ void gnome_cmd_delete_dialog_show (GList *files)
                 return;
 
             gchar *fname = get_utf8 (f->info->name);
-            msg = g_strdup_printf (_("Do you want to delete \"%s\"?"), fname);
+            msg = g_strdup_printf (_("Do you want to delete “%s”?"), fname);
             g_free (fname);
         }
         else
diff --git a/src/dialogs/gnome-cmd-key-shortcuts-dialog.cc b/src/dialogs/gnome-cmd-key-shortcuts-dialog.cc
index af5ee3b..f6aac5b 100644
--- a/src/dialogs/gnome-cmd-key-shortcuts-dialog.cc
+++ b/src/dialogs/gnome-cmd-key-shortcuts-dialog.cc
@@ -489,7 +489,7 @@ inline gboolean conflict_confirm (GtkWidget *view, const gchar *action, guint ac
                                              (GtkDialogFlags) (GTK_DIALOG_MODAL | 
GTK_DIALOG_DESTROY_WITH_PARENT),
                                              GTK_MESSAGE_WARNING,
                                              GTK_BUTTONS_NONE,
-                                             _("Shortcut \"%s\" is already taken by \"%s\"."),
+                                             _("Shortcut “%s” is already taken by “%s”."),
                                              accel_string, action);
     gtk_dialog_add_buttons (GTK_DIALOG (dlg), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                               _("_Reassign shortcut"), GTK_RESPONSE_OK,
@@ -497,7 +497,7 @@ inline gboolean conflict_confirm (GtkWidget *view, const gchar *action, guint ac
     gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_CANCEL);
     gtk_window_set_title (GTK_WINDOW (dlg), _("Conflicting Shortcuts"));
     gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dlg), _("Reassigning the shortcut will 
cause it "
-                                                                          "to be removed from \"%s\"."), 
action);
+                                                                          "to be removed from “%s”."), 
action);
     gtk_widget_show_all (dlg);
     gint response = gtk_dialog_run (GTK_DIALOG (dlg));
 
diff --git a/src/dialogs/gnome-cmd-make-copy-dialog.cc b/src/dialogs/gnome-cmd-make-copy-dialog.cc
index 153f413..d5bd5e2 100644
--- a/src/dialogs/gnome-cmd-make-copy-dialog.cc
+++ b/src/dialogs/gnome-cmd-make-copy-dialog.cc
@@ -134,7 +134,7 @@ GtkWidget *gnome_cmd_make_copy_dialog_new (GnomeCmdFile *f, GnomeCmdDir *dir)
     dialog->priv->f = f->ref();
     dialog->priv->dir = gnome_cmd_dir_ref (dir);
 
-    gchar *msg = g_strdup_printf (_("Copy \"%s\" to"), f->get_name());
+    gchar *msg = g_strdup_printf (_("Copy “%s” to"), f->get_name());
     GtkWidget *msg_label = create_label (GTK_WIDGET (dialog), msg);
     g_free (msg);
 
diff --git a/src/dialogs/gnome-cmd-options-dialog.cc b/src/dialogs/gnome-cmd-options-dialog.cc
index 7177898..7613bdb 100644
--- a/src/dialogs/gnome-cmd-options-dialog.cc
+++ b/src/dialogs/gnome-cmd-options-dialog.cc
@@ -187,7 +187,7 @@ static GtkWidget *create_general_tab (GtkWidget *parent, GnomeCmdData::Options &
     cat = create_category (parent, cat_box, _("Multiple instances"));
     gtk_box_pack_start (GTK_BOX (vbox), cat, FALSE, TRUE, 0);
 
-    check = create_check (parent, _("Don't start a new instance"), "multiple_instance_check");
+    check = create_check (parent, _("Don’t start a new instance"), "multiple_instance_check");
     gtk_box_pack_start (GTK_BOX (cat_box), check, FALSE, TRUE, 0);
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), !cfg.allow_multiple_instances);
 #endif
@@ -369,7 +369,7 @@ static GtkWidget *create_format_tab (GtkWidget *parent, GnomeCmdData::Options &c
     g_object_set_data (G_OBJECT (parent), "date_format_test_label", label);
     table_add (table, label, 1, 1, (GtkAttachOptions) (GTK_EXPAND|GTK_FILL));
 
-    label = create_label (parent, _("See the manual page for \"strftime\" for help on how to set the format 
string."));
+    label = create_label (parent, _("See the manual page for “strftime” for help on how to set the format 
string."));
     gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
     table_add (table, label, 1, 2, GTK_FILL);
 
@@ -453,7 +453,7 @@ static void on_edit_colors_close (GtkButton *btn, GtkWidget *dlg)
 
 static void on_colors_edit (GtkButton *btn, GtkWidget *parent)
 {
-    GtkWidget *dlg = gnome_cmd_dialog_new (_("Edit Colors..."));
+    GtkWidget *dlg = gnome_cmd_dialog_new (_("Edit Colors…"));
     g_object_ref (dlg);
 
     gtk_window_set_modal (GTK_WINDOW (dlg), TRUE);
@@ -782,7 +782,7 @@ static GtkWidget *create_layout_tab (GtkWidget *parent, GnomeCmdData::Options &c
     gtk_box_pack_start (GTK_BOX (hbox), cm_optmenu, TRUE, TRUE, 0);
 
 
-    btn = create_button_with_data (parent, _("Edit..."), GTK_SIGNAL_FUNC (on_colors_edit), parent);
+    btn = create_button_with_data (parent, _("Edit…"), GTK_SIGNAL_FUNC (on_colors_edit), parent);
     g_object_set_data (G_OBJECT (parent), "color_btn", btn);
     gtk_box_pack_start (GTK_BOX (hbox), btn, FALSE, TRUE, 0);
     gtk_widget_set_sensitive (btn, cfg.color_mode == GNOME_CMD_COLOR_CUSTOM);
@@ -797,7 +797,7 @@ static GtkWidget *create_layout_tab (GtkWidget *parent, GnomeCmdData::Options &c
     g_signal_connect (check, "toggled", G_CALLBACK (on_ls_colors_toggled), parent);
     gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0);
 
-    btn = create_button_with_data (parent, _("Edit colors..."), GTK_SIGNAL_FUNC (on_ls_colors_edit), parent);
+    btn = create_button_with_data (parent, _("Edit colors…"), GTK_SIGNAL_FUNC (on_ls_colors_edit), parent);
     g_object_set_data (G_OBJECT (parent), "ls_colors_edit_btn", btn);
     gtk_box_pack_start (GTK_BOX (hbox), btn, FALSE, TRUE, 0);
     gtk_widget_set_sensitive (btn, cfg.use_ls_colors);
diff --git a/src/dialogs/gnome-cmd-prepare-copy-dialog.cc b/src/dialogs/gnome-cmd-prepare-copy-dialog.cc
index 58c0b6e..9acabb3 100644
--- a/src/dialogs/gnome-cmd-prepare-copy-dialog.cc
+++ b/src/dialogs/gnome-cmd-prepare-copy-dialog.cc
@@ -137,7 +137,7 @@ void gnome_cmd_prepare_copy_dialog_show (GnomeCmdFileSelector *from, GnomeCmdFil
     {
         GnomeCmdFile *f = (GnomeCmdFile *) data->dialog->src_files->data;
         gchar *fname = get_utf8 (f->info->name);
-        dest_dir_frame_msg = g_strdup_printf (_("Copy \"%s\" to"), fname);
+        dest_dir_frame_msg = g_strdup_printf (_("Copy “%s” to"), fname);
         g_free (fname);
     }
     else
diff --git a/src/dialogs/gnome-cmd-prepare-move-dialog.cc b/src/dialogs/gnome-cmd-prepare-move-dialog.cc
index 65c52fc..381ed07 100644
--- a/src/dialogs/gnome-cmd-prepare-move-dialog.cc
+++ b/src/dialogs/gnome-cmd-prepare-move-dialog.cc
@@ -123,7 +123,7 @@ void gnome_cmd_prepare_move_dialog_show (GnomeCmdFileSelector *from, GnomeCmdFil
     {
         GnomeCmdFile *f = (GnomeCmdFile *) data->dialog->src_files->data;
         gchar *fname = get_utf8 (f->info->name);
-        dest_dir_frame_msg = g_strdup_printf (_("Move \"%s\" to"), fname);
+        dest_dir_frame_msg = g_strdup_printf (_("Move “%s” to"), fname);
         g_free (fname);
     }
     else
diff --git a/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc b/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
index f85cf15..bb1c82b 100644
--- a/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
+++ b/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
@@ -146,7 +146,7 @@ static void on_ok (GtkButton *button, GnomeCmdPrepareXferDialog *dialog)
                     else
                     {
                         // Nothing exists, ask the user if a new directory might be suitable in the path 
that he specified
-                        gchar *msg = g_strdup_printf (_("The directory '%s' doesn't exist, do you want to 
create it?"),
+                        gchar *msg = g_strdup_printf (_("The directory “%s” doesn’t exist, do you want to 
create it?"),
                                                       g_path_get_basename (parent_dir));
                         gint choice = run_simple_dialog (GTK_WIDGET (dialog), TRUE, GTK_MESSAGE_QUESTION, 
msg, "",
                                                          -1, _("No"), _("Yes"), NULL);
@@ -186,7 +186,7 @@ static void on_ok (GtkButton *button, GnomeCmdPrepareXferDialog *dialog)
             else
             {
                 // Nothing exists, ask the user if a new directory might be suitable in the path that he 
specified
-                gchar *msg = g_strdup_printf (_("The directory '%s' doesn't exist, do you want to create 
it?"),
+                gchar *msg = g_strdup_printf (_("The directory “%s” doesn’t exist, do you want to create 
it?"),
                                               g_path_get_basename (dest_path));
                 GtkWidget *dir_dialog = gtk_message_dialog_new (*main_win,
                                                             (GtkDialogFlags) 0,
diff --git a/src/dialogs/gnome-cmd-search-dialog.cc b/src/dialogs/gnome-cmd-search-dialog.cc
index 61d7081..a7156d0 100644
--- a/src/dialogs/gnome-cmd-search-dialog.cc
+++ b/src/dialogs/gnome-cmd-search-dialog.cc
@@ -178,7 +178,7 @@ inline GtkWidget *GnomeCmdSearchDialog::Private::create_placeholder_menu(GnomeCm
 
     GtkItemFactoryEntry *i = items;
 
-    i->path = g_strdup (_("/_Save Profile As..."));
+    i->path = g_strdup (_("/_Save Profile As…"));
     i->callback = (GtkItemFactoryCallback) manage_profiles;
     i->callback_action = TRUE;
     i->item_type = (gchar*) "<StockItem>";
@@ -187,7 +187,7 @@ inline GtkWidget *GnomeCmdSearchDialog::Private::create_placeholder_menu(GnomeCm
 
     if (!cfg.profiles.empty())
     {
-        i->path = g_strdup (_("/_Manage Profiles..."));
+        i->path = g_strdup (_("/_Manage Profiles…"));
         i->callback = (GtkItemFactoryCallback) manage_profiles;
         i->item_type = (gchar*) "<StockItem>";
         i->extra_data = GTK_STOCK_EDIT;
@@ -523,7 +523,7 @@ static gboolean update_search_status_widgets (SearchData *data)
     {
         int matches = data->dialog->priv->result_list->size();
 
-        gchar *fmt = data->stopped ? ngettext("Found %d match - search aborted", "Found %d matches - search 
aborted", matches) :
+        gchar *fmt = data->stopped ? ngettext("Found %d match — search aborted", "Found %d matches — search 
aborted", matches) :
                                      ngettext("Found %d match", "Found %d matches", matches);
 
         gchar *msg = g_strdup_printf (fmt, matches);
@@ -1052,7 +1052,7 @@ static void gnome_cmd_search_dialog_init (GnomeCmdSearchDialog *dialog)
 {
     dialog->priv = new GnomeCmdSearchDialog::Private(dialog);
 
-    gtk_window_set_title (*dialog, _("Search..."));
+    gtk_window_set_title (*dialog, _("Search…"));
     gtk_window_set_resizable (*dialog, TRUE);
     gtk_dialog_set_has_separator (*dialog, FALSE);
     gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
@@ -1148,7 +1148,7 @@ GnomeCmdSearchDialog::GnomeCmdSearchDialog(GnomeCmdData::SearchConfig &cfg): def
     gtk_window_set_default_size (*this, defaults.width, defaults.height);
     gtk_window_set_transient_for (*this, *main_win);
 
-    GtkWidget *button = priv->create_button_with_menu(_("Profiles..."), cfg);
+    GtkWidget *button = priv->create_button_with_menu(_("Profiles…"), cfg);
 
     gtk_dialog_add_action_widget (*this, button, GCMD_RESPONSE_PROFILES);
 
diff --git a/src/eggcellrendererkeys.cc b/src/eggcellrendererkeys.cc
index e12151f..3c4a84a 100644
--- a/src/eggcellrendererkeys.cc
+++ b/src/eggcellrendererkeys.cc
@@ -432,7 +432,7 @@ void egg_cell_renderer_keys_get_size (GtkCellRenderer *cell,
     GtkRequisition requisition;
 
     if (keys->sizing_label == NULL)
-        keys->sizing_label = gtk_label_new (_("New accelerator..."));
+        keys->sizing_label = gtk_label_new (_("New accelerator…"));
 
     gtk_widget_size_request (keys->sizing_label, &requisition);
     GTK_CELL_RENDERER_CLASS (parent_class)->get_size (cell, widget, cell_area, x_offset, y_offset, width, 
height);
@@ -649,7 +649,7 @@ egg_cell_renderer_keys_start_editing (GtkCellRenderer      *cell,
 
     gtk_widget_modify_fg (label, GTK_STATE_NORMAL, &widget->style->fg[GTK_STATE_SELECTED]);
 
-    gtk_label_set_text (GTK_LABEL (label), _("New accelerator..."));
+    gtk_label_set_text (GTK_LABEL (label), _("New accelerator…"));
 
     gtk_container_add (GTK_CONTAINER (eventbox), label);
 
diff --git a/src/gnome-cmd-dir-indicator.cc b/src/gnome-cmd-dir-indicator.cc
index c1d81d1..b276a26 100644
--- a/src/gnome-cmd-dir-indicator.cc
+++ b/src/gnome-cmd-dir-indicator.cc
@@ -408,7 +408,7 @@ void gnome_cmd_dir_indicator_show_bookmarks (GnomeCmdDirIndicator *indicator)
 
     add_menu_item (indicator, GTK_MENU_SHELL (indicator->priv->bookmark_popup), NULL, NULL, indicator);
     add_menu_item (indicator, GTK_MENU_SHELL (indicator->priv->bookmark_popup), _("Add current dir"), 
GTK_SIGNAL_FUNC (on_bookmarks_add_current), indicator);
-    add_menu_item (indicator, GTK_MENU_SHELL (indicator->priv->bookmark_popup), _("Manage bookmarks..."), 
GTK_SIGNAL_FUNC (on_bookmarks_manage), indicator);
+    add_menu_item (indicator, GTK_MENU_SHELL (indicator->priv->bookmark_popup), _("Manage bookmarks…"), 
GTK_SIGNAL_FUNC (on_bookmarks_manage), indicator);
 
     gnome_popup_menu_do_popup (indicator->priv->bookmark_popup, (GtkMenuPositionFunc) get_popup_pos, 
indicator, NULL, NULL, NULL);
 
diff --git a/src/gnome-cmd-file-popmenu.cc b/src/gnome-cmd-file-popmenu.cc
index 90b5a5d..aa7f5e5 100644
--- a/src/gnome-cmd-file-popmenu.cc
+++ b/src/gnome-cmd-file-popmenu.cc
@@ -119,7 +119,7 @@ static void cb_exec_default (GtkMenuItem *menu_item, GList *files)
             data->files = g_list_append (data->files, f);
         }
         else
-            gnome_cmd_show_message (NULL, f->info->name, _("Couldn't retrieve MIME type of the file."));
+            gnome_cmd_show_message (NULL, f->info->name, _("Couldn’t retrieve MIME type of the file."));
     }
 
     g_hash_table_foreach (hash, (GHFunc) htcb_exec_with_app, NULL);
@@ -161,7 +161,7 @@ static void on_open_with_other (GtkMenuItem *menu_item, GList *files)
     const gchar *labels[] = {_("Application:")};
     GtkWidget *dialog;
 
-    dialog = gnome_cmd_string_dialog_new (_("Open with other..."), labels, 1,
+    dialog = gnome_cmd_string_dialog_new (_("Open with other…"), labels, 1,
                                           (GnomeCmdStringDialogCallback) on_open_with_other_ok, files);
 
     g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
@@ -471,7 +471,7 @@ inline gchar *get_default_application_action_name (GList *files, gchar **icon_pa
 
     gchar *escaped_app_name = string_double_underscores (app->name);
     gnome_vfs_mime_application_free (app);
-    gchar *retval = g_strdup_printf (_("_Open with \"%s\""), escaped_app_name);
+    gchar *retval = g_strdup_printf (_("_Open with “%s”"), escaped_app_name);
     g_free (escaped_app_name);
 
     return retval;
@@ -520,7 +520,7 @@ GtkWidget *gnome_cmd_file_popmenu_new (GnomeCmdFileList *fl)
         GNOMEUIINFO_ITEM_STOCK(N_("Send files"), NULL, file_sendto, GTK_STOCK_EXECUTE),
         GNOMEUIINFO_ITEM_FILENAME (N_("Open _terminal here"), NULL, command_open_terminal__internal, 
PIXMAPS_DIR G_DIR_SEPARATOR_S  "terminal.svg"),
         GNOMEUIINFO_SEPARATOR,
-        GNOMEUIINFO_ITEM_STOCK(N_("_Properties..."), NULL, on_properties, GTK_STOCK_PROPERTIES),
+        GNOMEUIINFO_ITEM_STOCK(N_("_Properties…"), NULL, on_properties, GTK_STOCK_PROPERTIES),
         GNOMEUIINFO_END
     };
 
@@ -566,7 +566,7 @@ GtkWidget *gnome_cmd_file_popmenu_new (GnomeCmdFileList *fl)
 
     // Add open with other
     apps_uiinfo[++i].type = GNOME_APP_UI_ITEM;
-    apps_uiinfo[i].label = g_strdup (_("Other _Application..."));
+    apps_uiinfo[i].label = g_strdup (_("Other _Application…"));
     apps_uiinfo[i].moreinfo = (gpointer) on_open_with_other;
     apps_uiinfo[i].user_data = files;
     apps_uiinfo[i].pixmap_type = GNOME_APP_PIXMAP_NONE;
diff --git a/src/gnome-cmd-main-menu.cc b/src/gnome-cmd-main-menu.cc
index 477ae3e..327947d 100644
--- a/src/gnome-cmd-main-menu.cc
+++ b/src/gnome-cmd-main-menu.cc
@@ -420,26 +420,26 @@ static void init (GnomeCmdMainMenu *main_menu)
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("_Properties..."), "Alt+ENTER", NULL,
+            MENU_TYPE_ITEM, _("_Properties…"), "Alt+ENTER", NULL,
             (gpointer) file_properties, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_PROPERTIES,
             NULL
         },
         MENUTYPE_SEPARATOR,
         {
-            MENU_TYPE_ITEM, _("_Search..."), "Alt+F7", NULL,
+            MENU_TYPE_ITEM, _("_Search…"), "Alt+F7", NULL,
             (gpointer) edit_search, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_FIND,
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("_Quick Search..."), "", NULL,
+            MENU_TYPE_ITEM, _("_Quick Search…"), "", NULL,
             (gpointer) edit_quick_search, NULL,
             GNOME_APP_PIXMAP_NONE, 0,
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("_Enable Filter..."), "", NULL,
+            MENU_TYPE_ITEM, _("_Enable Filter…"), "", NULL,
             (gpointer) edit_filter, NULL,
             GNOME_APP_PIXMAP_NONE, 0,
             NULL
@@ -666,13 +666,13 @@ static void init (GnomeCmdMainMenu *main_menu)
     MenuData bookmarks_menu_uiinfo[] =
     {
         {
-            MENU_TYPE_ITEM, _("_Bookmark this Directory..."), "", NULL,
+            MENU_TYPE_ITEM, _("_Bookmark this Directory…"), "", NULL,
             (gpointer) bookmarks_add_current, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_ADD,
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("_Manage Bookmarks..."), "Ctrl+D", NULL,
+            MENU_TYPE_ITEM, _("_Manage Bookmarks…"), "Ctrl+D", NULL,
             (gpointer) bookmarks_edit, NULL,
             GNOME_APP_PIXMAP_NONE, NULL,
             NULL
@@ -684,7 +684,7 @@ static void init (GnomeCmdMainMenu *main_menu)
     MenuData plugins_menu_uiinfo[] =
     {
         {
-            MENU_TYPE_ITEM, _("_Configure Plugins..."), "", NULL,
+            MENU_TYPE_ITEM, _("_Configure Plugins…"), "", NULL,
             (gpointer) plugins_configure, NULL,
             GNOME_APP_PIXMAP_DATA, exec_wheel_xpm,
             NULL
@@ -696,13 +696,13 @@ static void init (GnomeCmdMainMenu *main_menu)
     MenuData options_menu_uiinfo[] =
     {
         {
-            MENU_TYPE_ITEM, _("_Options..."), "Ctrl+O", NULL,
+            MENU_TYPE_ITEM, _("_Options…"), "Ctrl+O", NULL,
             (gpointer) options_edit, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_PREFERENCES,
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("_Keyboard Shortcuts..."), "", NULL,
+            MENU_TYPE_ITEM, _("_Keyboard Shortcuts…"), "", NULL,
             (gpointer) options_edit_shortcuts, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_ITALIC,
             NULL
@@ -713,13 +713,13 @@ static void init (GnomeCmdMainMenu *main_menu)
     MenuData connections_menu_uiinfo[] =
     {
         {
-            MENU_TYPE_ITEM, _("_Remote Server..."), "Ctrl+F", NULL,
+            MENU_TYPE_ITEM, _("_Remote Server…"), "Ctrl+F", NULL,
             (gpointer) connections_open, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_CONNECT,
             NULL
         },
         {
-            MENU_TYPE_ITEM, _("New Connection..."), "Ctrl+N", NULL,
+            MENU_TYPE_ITEM, _("New Connection…"), "Ctrl+N", NULL,
             (gpointer) connections_new, NULL,
             GNOME_APP_PIXMAP_STOCK, GTK_STOCK_CONNECT,
             NULL
diff --git a/src/gnome-cmd-main-win.cc b/src/gnome-cmd-main-win.cc
index b745514..c2e2539 100644
--- a/src/gnome-cmd-main-win.cc
+++ b/src/gnome-cmd-main-win.cc
@@ -782,7 +782,7 @@ static void init (GnomeCmdMainWin *mw)
     mw->priv->file_selector[LEFT] = NULL;
     mw->priv->file_selector[RIGHT] = NULL;
 
-    gnome_app_construct (GNOME_APP (mw), "gnome-commander", gcmd_owner.is_root() ? _("GNOME Commander - ROOT 
PRIVILEGES") :
+    gnome_app_construct (GNOME_APP (mw), "gnome-commander", gcmd_owner.is_root() ? _("GNOME Commander — ROOT 
PRIVILEGES") :
                                                                                    _("GNOME Commander"));
     g_object_set_data (*mw, "main_win", mw);
     restore_size_and_pos (mw);
diff --git a/src/gnome-cmd-python-plugin.cc b/src/gnome-cmd-python-plugin.cc
index ad204f3..935de9c 100644
--- a/src/gnome-cmd-python-plugin.cc
+++ b/src/gnome-cmd-python-plugin.cc
@@ -213,7 +213,7 @@ gboolean gnome_cmd_python_plugin_execute(const PythonPluginData *plugin, GnomeCm
 
     if (!pmod)
     {
-        gnome_cmd_show_message (*main_win, _("Can't load python module 'gnomevfs' ('gnome.vfs')"));
+        gnome_cmd_show_message (*main_win, _("Can’t load python module “gnomevfs” (“gnome.vfs”)"));
         goto out_A;
     }
 
diff --git a/src/gnome-cmd-xfer-progress-win.cc b/src/gnome-cmd-xfer-progress-win.cc
index 1eb358a..81d92de 100644
--- a/src/gnome-cmd-xfer-progress-win.cc
+++ b/src/gnome-cmd-xfer-progress-win.cc
@@ -39,7 +39,7 @@ static GtkWindowClass *parent_class = NULL;
 static void on_cancel (GtkButton *btn, GnomeCmdXferProgressWin *win)
 {
     win->cancel_pressed = TRUE;
-    gnome_cmd_xfer_progress_win_set_action (win, _("stopping..."));
+    gnome_cmd_xfer_progress_win_set_action (win, _("stopping…"));
     gtk_widget_set_sensitive (GTK_WIDGET (win), FALSE);
 }
 
diff --git a/src/gnome-cmd-xfer.cc b/src/gnome-cmd-xfer.cc
index 203e7ef..53ebac9 100644
--- a/src/gnome-cmd-xfer.cc
+++ b/src/gnome-cmd-xfer.cc
@@ -263,7 +263,7 @@ static gboolean update_xfer_gui_func (XferData *data)
     {
         if (data->prev_phase != GNOME_VFS_XFER_PHASE_COPYING)
         {
-            gnome_cmd_xfer_progress_win_set_action (data->win, _("copying..."));
+            gnome_cmd_xfer_progress_win_set_action (data->win, _("copying…"));
             data->prev_file = -1;
         }
 
@@ -271,7 +271,7 @@ static gboolean update_xfer_gui_func (XferData *data)
         {
             gchar *t = str_uri_basename (data->cur_file_name);
             gchar *fn = get_utf8 (t);
-            gchar *msg = g_strdup_printf (_("[file %ld of %ld] \"%s\""), data->cur_file, data->files_total, 
fn);
+            gchar *msg = g_strdup_printf (_("[file %ld of %ld] “%s”"), data->cur_file, data->files_total, 
fn);
 
             gnome_cmd_xfer_progress_win_set_msg (data->win, msg);
 
@@ -463,7 +463,7 @@ gnome_cmd_xfer_uris_start (GList *src_uri_list,
 
     data->win = GNOME_CMD_XFER_PROGRESS_WIN (gnome_cmd_xfer_progress_win_new (num_files));
     gtk_widget_ref (GTK_WIDGET (data->win));
-    gtk_window_set_title (GTK_WINDOW (data->win), _("preparing..."));
+    gtk_window_set_title (GTK_WINDOW (data->win), _("preparing…"));
     gtk_widget_show (GTK_WIDGET (data->win));
 
     //  start the transfer
diff --git a/src/imageloader.cc b/src/imageloader.cc
index a080186..0e40f75 100644
--- a/src/imageloader.cc
+++ b/src/imageloader.cc
@@ -106,11 +106,11 @@ void IMAGE_init ()
         {
             gchar *path2 = g_build_filename ("../pixmaps", pixmap_files[i], NULL);
 
-            g_warning (_("Couldn't load installed file type pixmap, trying to load %s instead"), path2);
+            g_warning (_("Couldn’t load installed file type pixmap, trying to load %s instead"), path2);
 
             pixmaps[i] = gnome_cmd_pixmap_new_from_file (path2);
             if (!pixmaps[i])
-                g_warning (_("Can't find the pixmap anywhere. Make sure you have installed the program or is 
executing gnome-commander from the gnome-commander-%s/src directory"), VERSION);
+                g_warning (_("Can’t find the pixmap anywhere. Make sure you have installed the program or is 
executing gnome-commander from the gnome-commander-%s/src directory"), VERSION);
 
             g_free (path2);
         }
@@ -131,10 +131,10 @@ void IMAGE_init ()
         {
             gchar *path2 = g_build_filename ("../pixmaps", pixmap_files[i], NULL);
 
-            g_warning (_("Couldn't load installed pixmap, trying to load %s instead"), path2);
+            g_warning (_("Couldn’t load installed pixmap, trying to load %s instead"), path2);
 
             if (!load_icon (path2, &e->pixmap, &e->mask, &e->lnk_pixmap, &e->lnk_mask))
-                g_warning (_("Can't find the pixmap anywhere. Make sure you have installed the program or is 
executing gnome-commander from the gnome-commander-%s/src directory"), VERSION);
+                g_warning (_("Can’t find the pixmap anywhere. Make sure you have installed the program or is 
executing gnome-commander from the gnome-commander-%s/src directory"), VERSION);
             g_free (path2);
         }
 
diff --git a/src/intviewer/search-progress-dlg.cc b/src/intviewer/search-progress-dlg.cc
index e166a3c..47fee38 100644
--- a/src/intviewer/search-progress-dlg.cc
+++ b/src/intviewer/search-progress-dlg.cc
@@ -72,7 +72,7 @@ static void search_progress_dlg_init (GViewerSearchProgressDlg *sdlg)
     GtkDialog *dlg = GTK_DIALOG(sdlg);
     // sdlg->priv->progress = 0;
 
-    gtk_window_set_title (GTK_WINDOW (dlg), _("Searching..."));
+    gtk_window_set_title (GTK_WINDOW (dlg), _("Searching…"));
     gtk_window_set_modal (GTK_WINDOW (dlg), TRUE);
     gtk_dialog_add_button (dlg, GTK_STOCK_STOP, 12);
 
@@ -182,7 +182,7 @@ void gviewer_show_search_progress_dlg(GtkWindow *parent, const gchar *searching_
     GtkWidget *w = gviewer_search_progress_dlg_new(parent);
     GViewerSearchProgressDlg *dlg = GVIEWER_SEARCH_PROGRESS_DLG (w);
 
-    gchar *str = g_strdup_printf (_("Searching for \"%s\""), searching_text);
+    gchar *str = g_strdup_printf (_("Searching for “%s”"), searching_text);
     gtk_label_set_text (GTK_LABEL (dlg->priv->label), str);
 
     dlg->priv->abort_indicator = abort;
diff --git a/src/intviewer/viewer-window.cc b/src/intviewer/viewer-window.cc
index b53b303..3a9305a 100644
--- a/src/intviewer/viewer-window.cc
+++ b/src/intviewer/viewer-window.cc
@@ -768,7 +768,7 @@ static void create_menu_items (GtkWidget *container, GtkAccelGroup *accel, gpoin
                 GNOME_APP_PIXMAP_STOCK, GTK_STOCK_COPY,
                 NO_GOBJ_KEY, NO_GOBJ_VAL,
                 NO_MENU_ITEM, NO_GSLIST},
-        {MI_NORMAL, _("Find..."), GDK_F, GDK_CONTROL_MASK, G_CALLBACK (menu_edit_find),
+        {MI_NORMAL, _("Find…"), GDK_F, GDK_CONTROL_MASK, G_CALLBACK (menu_edit_find),
                 GNOME_APP_PIXMAP_STOCK, GTK_STOCK_FIND,
                 NO_GOBJ_KEY, NO_GOBJ_VAL,
                 NO_MENU_ITEM, NO_GSLIST},
@@ -1181,7 +1181,7 @@ static void start_find_thread(GViewerWindow *obj, gboolean forward)
     {
         GtkWidget *w;
 
-        w = gtk_message_dialog_new(GTK_WINDOW (obj), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, 
_("Pattern \"%s\" was not found"), obj->priv->search_pattern);
+        w = gtk_message_dialog_new(GTK_WINDOW (obj), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, 
_("Pattern “%s” was not found"), obj->priv->search_pattern);
         gtk_dialog_run (GTK_DIALOG (w));
         gtk_widget_destroy (w);
     }
diff --git a/src/tags/gnome-cmd-tags.cc b/src/tags/gnome-cmd-tags.cc
index 193ed20..2899fd1 100644
--- a/src/tags/gnome-cmd-tags.cc
+++ b/src/tags/gnome-cmd-tags.cc
@@ -132,7 +132,7 @@ void gcmd_tags_init()
                        {TAG_AUDIO_DURATION, {"Audio.Duration", TAG_AUDIO, N_("Duration"), N_("Duration of 
track in seconds.")}},
                        {TAG_AUDIO_DURATIONMMSS, {"Audio.Duration.MMSS", TAG_AUDIO, N_("Duration [MM:SS]"), 
N_("Duration of track as MM:SS.")}},
                        {TAG_AUDIO_GENRE, {"Audio.Genre", TAG_AUDIO, N_("Genre"), N_("Type of music 
classification for the track as defined in ID3 spec.")}},
-                       {TAG_AUDIO_ISNEW, {"Audio.IsNew", TAG_AUDIO, N_("Is New"), N_("Set to \"1\" if track 
is new to the user (default \"0\").")}},
+                       {TAG_AUDIO_ISNEW, {"Audio.IsNew", TAG_AUDIO, N_("Is New"), N_("Set to “1” if track is 
new to the user (default “0”).")}},
                        {TAG_AUDIO_ISRC, {"Audio.ISRC", TAG_AUDIO, N_("ISRC"), N_("ISRC (international 
standard recording code).")}},
                        {TAG_AUDIO_LASTPLAY, {"Audio.LastPlay", TAG_AUDIO, N_("Last Play"), N_("When track 
was last played.")}},
                        {TAG_AUDIO_LYRICS, {"Audio.Lyrics", TAG_AUDIO, N_("Lyrics"), N_("Lyrics of the 
track.")}},
@@ -141,9 +141,9 @@ void gcmd_tags_init()
                        {TAG_AUDIO_MBARTISTID, {"Audio.MBArtistID", TAG_AUDIO, N_("MB Artist ID"), 
N_("MusicBrainz artist ID in UUID format.")}},
                        {TAG_AUDIO_MBTRACKID, {"Audio.MBTrackID", TAG_AUDIO, N_("MB Track ID"), 
N_("MusicBrainz track ID in UUID format.")}},
                        {TAG_AUDIO_MPEG_CHANNELMODE, {"Audio.MPEG.ChannelMode", TAG_AUDIO, N_("Channel 
Mode"), N_("MPEG channel mode.")}},
-                       {TAG_AUDIO_MPEG_COPYRIGHTED, {"Audio.MPEG.Copyrighted", TAG_AUDIO, N_("Copyrighted"), 
N_("\"1\" if the copyrighted bit is set.")}},
+                       {TAG_AUDIO_MPEG_COPYRIGHTED, {"Audio.MPEG.Copyrighted", TAG_AUDIO, N_("Copyrighted"), 
N_("“1” if the copyrighted bit is set.")}},
                        {TAG_AUDIO_MPEG_LAYER, {"Audio.MPEG.Layer", TAG_AUDIO, N_("Layer"), N_("MPEG 
layer.")}},
-                       {TAG_AUDIO_MPEG_ORIGINAL, {"Audio.MPEG.Original", TAG_AUDIO, N_("Original Audio"), 
N_("\"1\" if the \"original\" bit is set.")}},
+                       {TAG_AUDIO_MPEG_ORIGINAL, {"Audio.MPEG.Original", TAG_AUDIO, N_("Original Audio"), 
N_("“1” if the “original” bit is set.")}},
                        {TAG_AUDIO_MPEG_VERSION, {"Audio.MPEG.Version", TAG_AUDIO, N_("MPEG Version"), 
N_("MPEG version.")}},
                        {TAG_AUDIO_PERFORMER, {"Audio.Performer", TAG_AUDIO, N_("Performer"), N_("Name of the 
performer/conductor of the music.")}},
                        {TAG_AUDIO_PLAYCOUNT, {"Audio.PlayCount", TAG_AUDIO, N_("Play Count"), N_("Number of 
times the track has been played.")}},
@@ -184,16 +184,16 @@ void gcmd_tags_init()
                        {TAG_DOC_LOCALESYSTEMDEFAULT, {"Doc.LocaleSystemDefault", TAG_DOC, N_("Locale System 
Default"), N_("Identifier representing the default system locale.")}},
                        {TAG_DOC_MANAGER, {"Doc.Manager", TAG_DOC, N_("Manager"), N_("Name of the manager of 
<Doc.Creator> entity.")}},
                        {TAG_DOC_MMCLIPCOUNT, {"Doc.MMClipCount", TAG_DOC, N_("Multimedia Clip Count"), 
N_("Number of multimedia clips in the document.")}},
-                       {TAG_DOC_NOTECOUNT, {"Doc.NoteCount", TAG_DOC, N_("Note Count"), N_("Number of 
\"notes\" in the document.")}},
+                       {TAG_DOC_NOTECOUNT, {"Doc.NoteCount", TAG_DOC, N_("Note Count"), N_("Number of 
“notes” in the document.")}},
                        {TAG_DOC_OBJECTCOUNT, {"Doc.ObjectCount", TAG_DOC, N_("Object Count"), N_("Number of 
objects (OLE and other graphics) in the document.")}},
                        {TAG_DOC_PAGECOUNT, {"Doc.PageCount", TAG_DOC, N_("Page Count"), N_("Number of pages 
in the document.")}},
                        {TAG_DOC_PARAGRAPHCOUNT, {"Doc.ParagraphCount", TAG_DOC, N_("Paragraph Count"), 
N_("Number of paragraphs in the document.")}},
-                       {TAG_DOC_PRESENTATIONFORMAT, {"Doc.PresentationFormat", TAG_DOC, N_("Presentation 
Format"), N_("Type of presentation, like \"On-screen Show\", \"SlideView\", etc.")}},
+                       {TAG_DOC_PRESENTATIONFORMAT, {"Doc.PresentationFormat", TAG_DOC, N_("Presentation 
Format"), N_("Type of presentation, like “On-screen Show”, “SlideView”, etc.")}},
                        {TAG_DOC_PRINTDATE, {"Doc.PrintDate", TAG_DOC, N_("Print Date"), N_("Specifies the 
date and time when the document was last printed.")}},
                        {TAG_DOC_PRINTEDBY, {"Doc.PrintedBy", TAG_DOC, N_("Printed By"), N_("Specifies the 
name of the last person who printed the document.")}},
                        {TAG_DOC_REVISIONCOUNT, {"Doc.RevisionCount", TAG_DOC, N_("Revision Count"), 
N_("Number of revision on the document.")}},
                        {TAG_DOC_SCALE, {"Doc.Scale", TAG_DOC, N_("Scale"), N_("Scale.")}},
-                       {TAG_DOC_SECURITY, {"Doc.Security", TAG_DOC, N_("Security"), N_("One of: \"Password 
protected\", \"Read-only recommended\", \"Read-only enforced\" or \"Locked for annotations\".")}},
+                       {TAG_DOC_SECURITY, {"Doc.Security", TAG_DOC, N_("Security"), N_("One of: “Password 
protected”, “Read-only recommended”, “Read-only enforced” or “Locked for annotations”.")}},
                        {TAG_DOC_SLIDECOUNT, {"Doc.SlideCount", TAG_DOC, N_("Slide Count"), N_("Number of 
slides in the presentation document.")}},
                        {TAG_DOC_SPREADSHEETCOUNT, {"Doc.SpreadsheetCount", TAG_DOC, N_("Spreadsheet Count"), 
N_("Number of pages in the document.")}},
                        {TAG_DOC_SUBJECT, {"Doc.Subject", TAG_DOC, N_("Subject"), N_("Document subject.")}},
@@ -213,7 +213,7 @@ void gcmd_tags_init()
                        {TAG_EXIF_COMPRESSEDBITSPERPIXEL, {"Exif.CompressedBitsPerPixel", TAG_EXIF, 
N_("Compressed Bits per Pixel"), N_("Information specific to compressed data. The compression mode used for a 
compressed image is indicated in unit bits per pixel.")}},
                        {TAG_EXIF_COMPRESSION, {"Exif.Compression", TAG_EXIF, N_("Compression"), N_("The 
compression scheme used for the image data. When a primary image is JPEG compressed, this designation is not 
necessary and is omitted. When thumbnails use JPEG compression, this tag value is set to 6.")}},
                        {TAG_EXIF_CONTRAST, {"Exif.Contrast", TAG_EXIF, N_("Contrast"), N_("The direction of 
contrast processing applied by the camera when the image was shot.")}},
-                       {TAG_EXIF_COPYRIGHT, {"Exif.Copyright", TAG_EXIF, N_("Copyright"), N_("Copyright 
information. The tag is used to indicate both the photographer and editor copyrights. It is the copyright 
notice of the person or organization claiming rights to the image. The Interoperability copyright statement 
including date and rights should be written in this field; e.g., \"Copyright, John Smith, 19xx. All rights 
reserved.\". The field records both the photographer and editor copyrights, with each recorded in a separate 
part of the statement. When there is a clear distinction between the photographer and editor copyrights, 
these are to be written in the order of photographer followed by editor copyright, separated by NULL (in this 
case, since the statement also ends with a NULL, there are two NULL codes) (see example 1). When only the 
photographer is given, it is terminated by one NULL code. When only the editor copyright is given, the 
photographer copyright part con
 sists of one space followed by a terminating NULL code, then the editor copyright is given. When the field 
is left blank, it is treated as unknown.")}},
+                       {TAG_EXIF_COPYRIGHT, {"Exif.Copyright", TAG_EXIF, N_("Copyright"), N_("Copyright 
information. The tag is used to indicate both the photographer and editor copyrights. It is the copyright 
notice of the person or organization claiming rights to the image. The Interoperability copyright statement 
including date and rights should be written in this field; e.g., “Copyright, John Smith, 19xx. All rights 
reserved.”. The field records both the photographer and editor copyrights, with each recorded in a separate 
part of the statement. When there is a clear distinction between the photographer and editor copyrights, 
these are to be written in the order of photographer followed by editor copyright, separated by NULL (in this 
case, since the statement also ends with a NULL, there are two NULL codes) (see example 1). When only the 
photographer is given, it is terminated by one NULL code. When only the editor copyright is given, the 
photographer copyright part c
 onsists of one space followed by a terminating NULL code, then the editor copyright is given. When the field 
is left blank, it is treated as unknown.")}},
                        {TAG_EXIF_CUSTOMRENDERED, {"Exif.CustomRendered", TAG_EXIF, N_("Custom Rendered"), 
N_("The use of special processing on image data, such as rendering geared to output. When special processing 
is performed, the reader is expected to disable or minimize any further processing.")}},
                        {TAG_EXIF_DATETIME, {"Exif.DateTime", TAG_EXIF, N_("Date and Time"), N_("The date and 
time of image creation.")}},
                        {TAG_EXIF_DATETIMEDIGITIZED, {"Exif.DateTimeDigitized", TAG_EXIF, N_("Date and Time 
(digitized)"), N_("The date and time when the image was stored as digital data.")}},
@@ -245,9 +245,9 @@ void gcmd_tags_init()
                        {TAG_EXIF_GPSALTITUDEREF, {"Exif.GPS.AltitudeRef", TAG_EXIF, N_("Altitude 
Reference"), N_("Indicates the altitude used as the reference altitude. If the reference is sea level and the 
altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given and the 
altitude is indicated as an absolute value in the <Exif.GPS.Altitude> tag. The reference unit is meters.")}},
                        {TAG_EXIF_GPSINFOIFDPOINTER, {"Exif.GPS.InfoIFDPointer", TAG_EXIF, N_("GPS Info 
IFDPointer"), N_("A pointer to the GPS Info IFD. The Interoperability structure of the GPS Info IFD, like 
that of Exif IFD, has no image data.")}},
                        {TAG_EXIF_GPSLATITUDE, {"Exif.GPS.Latitude", TAG_EXIF, N_("Latitude"), N_("Indicates 
the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, 
respectively. When degrees, minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When degrees and 
minutes are used and, for example, fractions of minutes are given up to two decimal places, the format is 
dd/1,mmmm/100,0/1.")}},
-                       {TAG_EXIF_GPSLATITUDEREF, {"Exif.GPS.LatitudeRef", TAG_EXIF, N_("North or South 
Latitude"), N_("Indicates whether the latitude is north or south latitude. The ASCII value 'N' indicates 
north latitude, and 'S' is south latitude.")}},
+                       {TAG_EXIF_GPSLATITUDEREF, {"Exif.GPS.LatitudeRef", TAG_EXIF, N_("North or South 
Latitude"), N_("Indicates whether the latitude is north or south latitude. The ASCII value “N” indicates 
north latitude, and “S” is south latitude.")}},
                        {TAG_EXIF_GPSLONGITUDE, {"Exif.GPS.Longitude", TAG_EXIF, N_("Longitude"), 
N_("Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees, minutes, 
and seconds, respectively. When degrees, minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. 
When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, 
the format is ddd/1,mmmm/100,0/1.")}},
-                       {TAG_EXIF_GPSLONGITUDEREF, {"Exif.GPS.LongitudeRef", TAG_EXIF, N_("East or West 
Longitude"), N_("Indicates whether the longitude is east or west longitude. ASCII 'E' indicates east 
longitude, and 'W' is west longitude.")}},
+                       {TAG_EXIF_GPSLONGITUDEREF, {"Exif.GPS.LongitudeRef", TAG_EXIF, N_("East or West 
Longitude"), N_("Indicates whether the longitude is east or west longitude. ASCII “E” indicates east 
longitude, and “W” is west longitude.")}},
                        {TAG_EXIF_GPSVERSIONID, {"Exif.GPS.VersionID", TAG_EXIF, N_("GPS Tag Version"), 
N_("Indicates the version of <Exif.GPS.InfoIFD>. This tag is mandatory when <Exif.GPS.Info> tag is 
present.")}},
                        {TAG_EXIF_IMAGEDESCRIPTION, {"Exif.ImageDescription", TAG_EXIF, N_("Image 
Description"), N_("A character string giving the title of the image. Two-bytes character codes cannot be 
used. When a 2-bytes code is necessary, the Exif Private tag <Exif.UserComment> is to be used.")}},
                        {TAG_EXIF_IMAGELENGTH, {"Exif.ImageLength", TAG_EXIF, N_("Image Length"), N_("The 
number of rows of image data. In JPEG compressed data a JPEG marker is used instead of this tag.")}},
@@ -256,7 +256,7 @@ void gcmd_tags_init()
                        {TAG_EXIF_IMAGEWIDTH, {"Exif.ImageWidth", TAG_EXIF, N_("Image Width"), N_("The number 
of columns of image data, equal to the number of pixels per row. In JPEG compressed data a JPEG marker is 
used instead of this tag.")}},
                        {TAG_EXIF_INTERCOLORPROFILE, {"Exif.InterColorProfile", TAG_EXIF, N_("Inter Color 
Profile"), N_("Inter Color Profile.")}},
                        {TAG_EXIF_INTEROPERABILITYIFDPOINTER, {"Exif.InteroperabilityIFDPointer", TAG_EXIF, 
N_("Interoperability IFD Pointer"), N_("Interoperability IFD is composed of tags which stores the information 
to ensure the Interoperability and pointed by the following tag located in Exif IFD. The Interoperability 
structure of Interoperability IFD is the same as TIFF defined IFD structure but does not contain the image 
data characteristically compared with normal TIFF IFD.")}},
-                       {TAG_EXIF_INTEROPERABILITYINDEX, {"Exif.InteroperabilityIndex", TAG_EXIF, 
N_("Interoperability Index"), N_("Indicates the identification of the Interoperability rule. Use \"R98\" for 
stating ExifR98 Rules.")}},
+                       {TAG_EXIF_INTEROPERABILITYINDEX, {"Exif.InteroperabilityIndex", TAG_EXIF, 
N_("Interoperability Index"), N_("Indicates the identification of the Interoperability rule. Use “R98” for 
stating ExifR98 Rules.")}},
                        {TAG_EXIF_INTEROPERABILITYVERSION, {"Exif.InteroperabilityVersion", TAG_EXIF, 
N_("Interoperability Version"), N_("Interoperability version.")}},
                        {TAG_EXIF_IPTCNAA, {"Exif.IPTC_NAA", TAG_EXIF, "IPTC/NAA", N_("An IPTC/NAA 
record.")}},
                        {TAG_EXIF_ISOSPEEDRATINGS, {"Exif.ISOSpeedRatings", TAG_EXIF, N_("ISO Speed 
Ratings"), N_("The ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232.")}},
@@ -282,7 +282,7 @@ void gcmd_tags_init()
                        {TAG_EXIF_RELATEDIMAGEFILEFORMAT, {"Exif.RelatedImageFileFormat", TAG_EXIF, 
N_("Related Image File Format"), N_("Related image file format.")}},
                        {TAG_EXIF_RELATEDIMAGELENGTH, {"Exif.RelatedImageLength", TAG_EXIF, N_("Related Image 
Length"), N_("Related image length.")}},
                        {TAG_EXIF_RELATEDIMAGEWIDTH, {"Exif.RelatedImageWidth", TAG_EXIF, N_("Related Image 
Width"), N_("Related image width.")}},
-                       {TAG_EXIF_RELATEDSOUNDFILE, {"Exif.RelatedSoundFile", TAG_EXIF, N_("Related Sound 
File"), N_("This tag is used to record the name of an audio file related to the image data. The only 
relational information recorded here is the Exif audio file name and extension (an ASCII string consisting of 
8 characters + '.' + 3 characters). The path is not recorded. When using this tag, audio files must be 
recorded in conformance to the Exif audio format. Writers are also allowed to store the data such as Audio 
within APP2 as FlashPix extension stream data. Audio files must be recorded in conformance to the Exif audio 
format. If multiple files are mapped to one file, the above format is used to record just one audio file 
name. If there are multiple audio files, the first recorded file is given. When there are three Exif audio 
files \"SND00001.WAV\", \"SND00002.WAV\" and \"SND00003.WAV\", the Exif image file name for each of them, 
\"DSC00001.JPG\", is indicated. By c
 ombining multiple relational information, a variety of playback possibilities can be supported. The method 
of using relational information is left to the implementation on the playback side. Since this information is 
an ASCII character string, it is terminated by NULL. When this tag is used to map audio files, the relation 
of the audio file to image data must also be indicated on the audio file end.")}},
+                       {TAG_EXIF_RELATEDSOUNDFILE, {"Exif.RelatedSoundFile", TAG_EXIF, N_("Related Sound 
File"), N_("This tag is used to record the name of an audio file related to the image data. The only 
relational information recorded here is the Exif audio file name and extension (an ASCII string consisting of 
8 characters + “.” + 3 characters). The path is not recorded. When using this tag, audio files must be 
recorded in conformance to the Exif audio format. Writers are also allowed to store the data such as Audio 
within APP2 as FlashPix extension stream data. Audio files must be recorded in conformance to the Exif audio 
format. If multiple files are mapped to one file, the above format is used to record just one audio file 
name. If there are multiple audio files, the first recorded file is given. When there are three Exif audio 
files “SND00001.WAV”, “SND00002.WAV” and “SND00003.WAV”, the Exif image file name for each of them, 
“DSC00001.JPG”, is ind
 icated. By combining multiple relational information, a variety of playback possibilities can be supported. 
The method of using relational information is left to the implementation on the playback side. Since this 
information is an ASCII character string, it is terminated by NULL. When this tag is used to map audio files, 
the relation of the audio file to image data must also be indicated on the audio file end.")}},
                        {TAG_EXIF_RESOLUTIONUNIT, {"Exif.ResolutionUnit", TAG_EXIF, N_("Resolution Unit"), 
N_("The unit for measuring <Exif.XResolution> and <Exif.YResolution>. The same unit is used for both 
<Exif.XResolution> and <Exif.YResolution>. If the image resolution is unknown, 2 (inches) is designated.")}},
                        {TAG_EXIF_ROWSPERSTRIP, {"Exif.RowsPerStrip", TAG_EXIF, N_("Rows per Strip"), N_("The 
number of rows per strip. This is the number of rows in the image of one strip when an image is divided into 
strips. With JPEG compressed data this designation is not needed and is omitted.")}},
                        {TAG_EXIF_SAMPLESPERPIXEL, {"Exif.SamplesPerPixel", TAG_EXIF, N_("Samples per 
Pixel"), N_("The number of components per pixel. Since this standard applies to RGB and YCbCr images, the 
value set for this tag is 3. In JPEG compressed data a JPEG marker is used instead of this tag.")}},
@@ -308,25 +308,25 @@ void gcmd_tags_init()
                        {TAG_EXIF_TIFFEPSTANDARDID, {"Exif.TIFF_EPStandardID", TAG_EXIF, N_("TIFF/EP Standard 
ID"), N_("TIFF/EP Standard ID.")}},
                        {TAG_EXIF_TRANSFERFUNCTION, {"Exif.TransferFunction", TAG_EXIF, N_("Transfer 
Function"), N_("A transfer function for the image, described in tabular style. Normally this tag is not 
necessary, since color space is specified in <Exif.ColorSpace> tag.")}},
                        {TAG_EXIF_TRANSFERRANGE, {"Exif.TransferRange", TAG_EXIF, N_("Transfer Range"), 
N_("Transfer range.")}},
-                       {TAG_EXIF_USERCOMMENT, {"Exif.UserComment", TAG_EXIF, N_("User Comment"), N_("A tag 
for Exif users to write keywords or comments on the image besides those in <Exif.ImageDescription>, and 
without the character code limitations of the <Exif.ImageDescription> tag. The character code used in the 
<Exif.UserComment> tag is identified based on an ID code in a fixed 8-byte area at the start of the tag data 
area. The unused portion of the area is padded with NULL (\"00.h\"). ID codes are assigned by means of 
registration. The value of CountN is determinated based on the 8 bytes in the character code area and the 
number of bytes in the user comment part. Since the TYPE is not ASCII, NULL termination is not necessary. The 
ID code for the <Exif.UserComment> area may be a Defined code such as JIS or ASCII, or may be Undefined. The 
Undefined name is UndefinedText, and the ID code is filled with 8 bytes of all \"NULL\" (\"00.H\"). An Exif 
reader that reads the <Exif
 .UserComment> tag must have a function for determining the ID code. This function is not required in Exif 
readers that do not use the <Exif.UserComment> tag. When a <Exif.UserComment> area is set aside, it is 
recommended that the ID code be ASCII and that the following user comment part be filled with blank 
characters [20.H].")}},
+                       {TAG_EXIF_USERCOMMENT, {"Exif.UserComment", TAG_EXIF, N_("User Comment"), N_("A tag 
for Exif users to write keywords or comments on the image besides those in <Exif.ImageDescription>, and 
without the character code limitations of the <Exif.ImageDescription> tag. The character code used in the 
<Exif.UserComment> tag is identified based on an ID code in a fixed 8-byte area at the start of the tag data 
area. The unused portion of the area is padded with NULL (“00.h”). ID codes are assigned by means of 
registration. The value of CountN is determinated based on the 8 bytes in the character code area and the 
number of bytes in the user comment part. Since the TYPE is not ASCII, NULL termination is not necessary. The 
ID code for the <Exif.UserComment> area may be a Defined code such as JIS or ASCII, or may be Undefined. The 
Undefined name is UndefinedText, and the ID code is filled with 8 bytes of all “NULL” (“00.H”). An Exif 
reader that reads the
  <Exif.UserComment> tag must have a function for determining the ID code. This function is not required in 
Exif readers that do not use the <Exif.UserComment> tag. When a <Exif.UserComment> area is set aside, it is 
recommended that the ID code be ASCII and that the following user comment part be filled with blank 
characters [20.H].")}},
                        {TAG_EXIF_WHITEBALANCE, {"Exif.WhiteBalance", TAG_EXIF, N_("White Balance"), N_("The 
white balance mode set when the image was shot.")}},
                        {TAG_EXIF_WHITEPOINT, {"Exif.WhitePoint", TAG_EXIF, N_("White Point"), N_("The 
chromaticity of the white point of the image. Normally this tag is not necessary, since color space is 
specified in <Exif.ColorSpace> tag.")}},
                        {TAG_EXIF_XMLPACKET, {"Exif.XMLPacket", TAG_EXIF, N_("XML Packet"), N_("XMP 
metadata.")}},
                        {TAG_EXIF_XRESOLUTION, {"Exif.XResolution", TAG_EXIF, N_("x Resolution"), N_("The 
number of pixels per <Exif.ResolutionUnit> in the <Exif.ImageWidth> direction. When the image resolution is 
unknown, 72 [dpi] is designated.")}},
-                       {TAG_EXIF_YCBCRCOEFFICIENTS, {"Exif.YCbCrCoefficients", TAG_EXIF, N_("YCbCr 
Coefficients"), N_("The matrix coefficients for transformation from RGB to YCbCr image data. No default is 
given in TIFF; but here \"Color Space Guidelines\" is used as the default. The color space is declared in a 
color space information tag, with the default being the value that gives the optimal image characteristics 
under this condition.")}},
+                       {TAG_EXIF_YCBCRCOEFFICIENTS, {"Exif.YCbCrCoefficients", TAG_EXIF, N_("YCbCr 
Coefficients"), N_("The matrix coefficients for transformation from RGB to YCbCr image data. No default is 
given in TIFF; but here “Color Space Guidelines” is used as the default. The color space is declared in a 
color space information tag, with the default being the value that gives the optimal image characteristics 
under this condition.")}},
                        {TAG_EXIF_YCBCRPOSITIONING, {"Exif.YCbCrPositioning", TAG_EXIF, N_("YCbCr 
Positioning"), N_("The position of chrominance components in relation to the luminance component. This field 
is designated only for JPEG compressed data or uncompressed YCbCr data. The TIFF default is 1 (centered); but 
when Y:Cb:Cr = 4:2:2 it is recommended that 2 (co-sited) be used to record data, in order to improve the 
image quality when viewed on TV systems. When this field does not exist, the reader shall assume the TIFF 
default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is recommended. If the reader does not 
have the capability of supporting both kinds of <Exif.YCbCrPositioning>, it shall follow the TIFF default 
regardless of the value in this field. It is preferable that readers be able to support both centered and 
co-sited positioning.")}},
                        {TAG_EXIF_YCBCRSUBSAMPLING, {"Exif.YCbCrSubSampling", TAG_EXIF, N_("YCbCr 
Sub-Sampling"), N_("The sampling ratio of chrominance components in relation to the luminance component. In 
JPEG compressed data a JPEG marker is used instead of this tag.")}},
                        {TAG_EXIF_YRESOLUTION, {"Exif.YResolution", TAG_EXIF, N_("y Resolution"), N_("The 
number of pixels per <Exif.ResolutionUnit> in the <Exif.ImageLength> direction. The same value as 
<Exif.XResolution> is designated.")}},
                        {TAG_FILE_ACCESSED, {"File.Accessed", TAG_FILE, N_("Accessed"), N_("Last access 
datetime.")}},
-                       {TAG_FILE_CONTENT, {"File.Content", TAG_FILE, N_("Content"), N_("File's contents 
filtered as plain text.")}},
+                       {TAG_FILE_CONTENT, {"File.Content", TAG_FILE, N_("Content"), N_("File’s contents 
filtered as plain text.")}},
                        {TAG_FILE_DESCRIPTION, {"File.Description", TAG_FILE, N_("Description"), N_("Editable 
free text/notes.")}},
-                       {TAG_FILE_FORMAT, {"File.Format", TAG_FILE, N_("Format"), N_("MIME type of the file 
or if a directory it should contain value \"Folder\".")}},
+                       {TAG_FILE_FORMAT, {"File.Format", TAG_FILE, N_("Format"), N_("MIME type of the file 
or if a directory it should contain value “Folder”.")}},
                        {TAG_FILE_KEYWORDS, {"File.Keywords", TAG_FILE, N_("Keywords"), N_("Editable array of 
keywords.")}},
                        {TAG_FILE_LINK, {"File.Link", TAG_FILE, N_("Link"), N_("URI of link target.")}},
                        {TAG_FILE_MODIFIED, {"File.Modified", TAG_FILE, N_("Modified"), N_("Last modified 
datetime.")}},
                        {TAG_FILE_NAME, {"File.Name", TAG_FILE, N_("Name"), N_("File name excluding path but 
including the file extension.")}},
                        {TAG_FILE_PATH, {"File.Path", TAG_FILE, N_("Path"), N_("Full file path of file 
excluding the file name.")}},
-                       {TAG_FILE_PERMISSIONS, {"File.Permissions", TAG_FILE, N_("Permissions"), 
N_("Permission string in unix format eg \"-rw-r--r--\".")}},
+                       {TAG_FILE_PERMISSIONS, {"File.Permissions", TAG_FILE, N_("Permissions"), 
N_("Permission string in unix format eg “-rw-r--r--”.")}},
                        {TAG_FILE_PUBLISHER, {"File.Publisher", TAG_FILE, N_("Publisher"), N_("Editable DC 
type for the name of the publisher of the file (EG dc:publisher field in RSS feed).")}},
                        {TAG_FILE_RANK, {"File.Rank", TAG_FILE, N_("Rank"), N_("Editable file rank for 
grading favourites. Value should be in the range 1..10.")}},
                        {TAG_FILE_SIZE, {"File.Size", TAG_FILE, N_("Size"), N_("Size of the file in bytes or 
if a directory number of items it contains.")}},
@@ -424,7 +424,7 @@ void gcmd_tags_init()
                        {TAG_IMAGE_DESCRIPTION, {"Image.Description", TAG_IMAGE, N_("Description"), 
N_("Description of the image.")}},
                        {TAG_IMAGE_EXPOSUREPROGRAM, {"Image.ExposureProgram", TAG_IMAGE, N_("Exposure 
Program"), N_("The program used by the camera to set exposure when the picture is taken. EG Manual, Normal, 
Aperture priority etc.")}},
                        {TAG_IMAGE_EXPOSURETIME, {"Image.ExposureTime", TAG_IMAGE, N_("Exposure Time"), 
N_("Exposure time used to capture the photo in seconds.")}},
-                       {TAG_IMAGE_FLASH, {"Image.Flash", TAG_IMAGE, N_("Flash"), N_("Set to \"1\" if flash 
was fired.")}},
+                       {TAG_IMAGE_FLASH, {"Image.Flash", TAG_IMAGE, N_("Flash"), N_("Set to “1” if flash was 
fired.")}},
                        {TAG_IMAGE_FNUMBER, {"Image.Fnumber", TAG_IMAGE, N_("F Number"), N_("Diameter of the 
aperture relative to the effective focal length of the lens.")}},
                        {TAG_IMAGE_FOCALLENGTH, {"Image.FocalLength", TAG_IMAGE, N_("Focal Length"), 
N_("Focal length of lens in mm.")}},
                        {TAG_IMAGE_HEIGHT, {"Image.Height", TAG_IMAGE, N_("Height"), N_("Height in 
pixels.")}},
@@ -433,12 +433,12 @@ void gcmd_tags_init()
                        {TAG_IMAGE_MAKE, {"Image.Make", TAG_IMAGE, N_("Make"), N_("Make of camera used to 
take the image.")}},
                        {TAG_IMAGE_METERINGMODE, {"Image.MeteringMode", TAG_IMAGE, N_("Metering Mode"), 
N_("Metering mode used to acquire the image (IE Unknown, Average, CenterWeightedAverage, Spot, MultiSpot, 
Pattern, Partial).")}},
                        {TAG_IMAGE_MODEL, {"Image.Model", TAG_IMAGE, N_("Model"), N_("Model of camera used to 
take the image.")}},
-                       {TAG_IMAGE_ORIENTATION, {"Image.Orientation", TAG_IMAGE, N_("Orientation"), 
N_("Represents the orientation of the image wrt camera (IE \"top,left\" or \"bottom,right\").")}},
+                       {TAG_IMAGE_ORIENTATION, {"Image.Orientation", TAG_IMAGE, N_("Orientation"), 
N_("Represents the orientation of the image wrt camera (IE “top,left” or “bottom,right”).")}},
                        {TAG_IMAGE_SOFTWARE, {"Image.Software", TAG_IMAGE, N_("Software"), N_("Software used 
to produce/enhance the image.")}},
                        {TAG_IMAGE_TITLE, {"Image.Title", TAG_IMAGE, N_("Title"), N_("Title of image.")}},
                        {TAG_IMAGE_WHITEBALANCE, {"Image.WhiteBalance", TAG_IMAGE, N_("White Balance"), 
N_("White balance setting of the camera when the picture was taken (auto or manual).")}},
                        {TAG_IMAGE_WIDTH, {"Image.Width", TAG_IMAGE, N_("Width"), N_("Width in pixels.")}},
-                       {TAG_IPTC_ACTIONADVISED, {"IPTC.ActionAdvised", TAG_IPTC, N_("Action Advised"), 
N_("The type of action that this object provides to a previous object. '01' Object Kill, '02' Object Replace, 
'03' Object Append, '04' Object Reference.")}},
+                       {TAG_IPTC_ACTIONADVISED, {"IPTC.ActionAdvised", TAG_IPTC, N_("Action Advised"), 
N_("The type of action that this object provides to a previous object. “01” Object Kill, “02” Object Replace, 
“03” Object Append, “04” Object Reference.")}},
                        {TAG_IPTC_ARMID, {"IPTC.ARMID", TAG_IPTC, N_("ARM Identifier"), N_("Identifies the 
Abstract Relationship Method (ARM).")}},
                        {TAG_IPTC_ARMVERSION, {"IPTC.ARMVersion", TAG_IPTC, N_("ARM Version"), N_("Identifies 
the version of the Abstract Relationship Method (ARM).")}},
                        {TAG_IPTC_AUDIODURATION, {"IPTC.AudioDuration", TAG_IPTC, N_("Audio Duration"), 
N_("The running time of the audio data in the form HHMMSS.")}},
@@ -465,17 +465,17 @@ void gcmd_tags_init()
                        {TAG_IPTC_DESTINATION, {"IPTC.Destination", TAG_IPTC, N_("Destination"), N_("Routing 
information.")}},
                        {TAG_IPTC_DIGITALCREATIONDATE, {"IPTC.DigitalCreationDate", TAG_IPTC, N_("Digital 
Creation Date"), N_("The date the digital representation of the object was created.")}},
                        {TAG_IPTC_DIGITALCREATIONTIME, {"IPTC.DigitalCreationTime", TAG_IPTC, N_("Digital 
Creation Time"), N_("The time the digital representation of the object was created.")}},
-                       {TAG_IPTC_EDITORIALUPDATE, {"IPTC.EditorialUpdate", TAG_IPTC, N_("Editorial Update"), 
N_("The type of update this object provides to a previous object. The link to the previous object is made 
using the ARM. '01' indicates an additional language.")}},
+                       {TAG_IPTC_EDITORIALUPDATE, {"IPTC.EditorialUpdate", TAG_IPTC, N_("Editorial Update"), 
N_("The type of update this object provides to a previous object. The link to the previous object is made 
using the ARM. “01” indicates an additional language.")}},
                        {TAG_IPTC_EDITSTATUS, {"IPTC.EditStatus", TAG_IPTC, N_("Edit Status"), N_("Status of 
the object, according to the practice of the provider.")}},
                        {TAG_IPTC_ENVELOPENUM, {"IPTC.EnvelopeNum", TAG_IPTC, N_("Envelope Number"), N_("A 
number unique for the date and the service ID.")}},
-                       {TAG_IPTC_ENVELOPEPRIORITY, {"IPTC.EnvelopePriority", TAG_IPTC, N_("Envelope 
Priority"), N_("Specifies the envelope handling priority and not the editorial urgency. '1' for most urgent, 
'5' for normal, and '8' for least urgent. '9' is user-defined.")}},
+                       {TAG_IPTC_ENVELOPEPRIORITY, {"IPTC.EnvelopePriority", TAG_IPTC, N_("Envelope 
Priority"), N_("Specifies the envelope handling priority and not the editorial urgency. “1” for most urgent, 
“5” for normal, and “8” for least urgent. “9” is user-defined.")}},
                        {TAG_IPTC_EXPIRATIONDATE, {"IPTC.ExpirationDate", TAG_IPTC, N_("Expiration Date"), 
N_("Designates the latest date the provider intends the object to be used.")}},
                        {TAG_IPTC_EXPIRATIONTIME, {"IPTC.ExpirationTime", TAG_IPTC, N_("Expiration Time"), 
N_("Designates the latest time the provider intends the object to be used.")}},
                        {TAG_IPTC_FILEFORMAT, {"IPTC.FileFormat", TAG_IPTC, N_("File Format"), N_("File 
format of the data described by this metadata.")}},
                        {TAG_IPTC_FILEVERSION, {"IPTC.FileVersion", TAG_IPTC, N_("File Version"), N_("Version 
of the file format.")}},
                        {TAG_IPTC_FIXTUREID, {"IPTC.FixtureID", TAG_IPTC, N_("Fixture Identifier"), 
N_("Identifies objects that recur often and predictably, enabling users to immediately find or recall such an 
object.")}},
                        {TAG_IPTC_HEADLINE, {"IPTC.Headline", TAG_IPTC, N_("Headline"), N_("A publishable 
entry providing a synopsis of the contents of the object.")}},
-                       {TAG_IPTC_IMAGEORIENTATION, {"IPTC.ImageOrientation", TAG_IPTC, N_("Image 
Orientation"), N_("The layout of the image area: 'P' for portrait, 'L' for landscape, and 'S' for square.")}},
+                       {TAG_IPTC_IMAGEORIENTATION, {"IPTC.ImageOrientation", TAG_IPTC, N_("Image 
Orientation"), N_("The layout of the image area: “P” for portrait, “L” for landscape, and “S” for square.")}},
                        {TAG_IPTC_IMAGETYPE, {"IPTC.ImageType", TAG_IPTC, N_("Image Type"), N_("The data 
format of the image object.")}},
                        {TAG_IPTC_KEYWORDS, {"IPTC.Keywords", TAG_IPTC, N_("Keywords"), N_("Used to indicate 
specific information retrieval words (multiple values allowed).")}},
                        {TAG_IPTC_LANGUAGEID, {"IPTC.LanguageID", TAG_IPTC, N_("Language Identifier"), 
N_("The major national language of the object, according to the 2-letter codes of ISO 639:1988.")}},
@@ -483,7 +483,7 @@ void gcmd_tags_init()
                        {TAG_IPTC_MAXSUBFILESIZE, {"IPTC.MaxSubfileSize", TAG_IPTC, N_("Max Subfile Size"), 
N_("The maximum size for a subfile dataset containing a portion of the object data.")}},
                        {TAG_IPTC_MODELVERSION, {"IPTC.ModelVersion", TAG_IPTC, N_("Model Version"), 
N_("Version of IIM part 1.")}},
                        {TAG_IPTC_OBJECTATTRIBUTE, {"IPTC.ObjectAttribute", TAG_IPTC, N_("Object Attribute 
Reference"), N_("Defines the nature of the object independent of the subject (multiple values allowed).")}},
-                       {TAG_IPTC_OBJECTCYCLE, {"IPTC.ObjectCycle", TAG_IPTC, N_("Object Cycle"), N_("Where 
'a' is morning, 'p' is evening, 'b' is both.")}},
+                       {TAG_IPTC_OBJECTCYCLE, {"IPTC.ObjectCycle", TAG_IPTC, N_("Object Cycle"), N_("Where 
“a” is morning, “p” is evening, “b” is both.")}},
                        {TAG_IPTC_OBJECTNAME, {"IPTC.ObjectName", TAG_IPTC, N_("Object Name"), N_("A 
shorthand reference for the object.")}},
                        {TAG_IPTC_OBJECTSIZEANNOUNCED, {"IPTC.ObjectSizeAnnounced", TAG_IPTC, N_("Object Size 
Announced"), N_("The total size of the object data if it is known.")}},
                        {TAG_IPTC_OBJECTTYPE, {"IPTC.ObjectType", TAG_IPTC, N_("Object Type Reference"), 
N_("Distinguishes between different types of objects within the IIM.")}},
@@ -514,7 +514,7 @@ void gcmd_tags_init()
                        {TAG_IPTC_TIMECREATED, {"IPTC.TimeCreated", TAG_IPTC, N_("Time Created"), N_("The 
time the intellectual content of the object was created rather than the date of the creation of the physical 
representation (multiple values allowed).")}},
                        {TAG_IPTC_TIMESENT, {"IPTC.TimeSent", TAG_IPTC, N_("Time Sent"), N_("The time the 
service sent the material.")}},
                        {TAG_IPTC_UNO, {"IPTC.UNO", TAG_IPTC, N_("Unique Name of Object"), N_("An eternal, 
globally unique identification for the object, independent of provider and for any media form.")}},
-                       {TAG_IPTC_URGENCY, {"IPTC.Urgency", TAG_IPTC, N_("Urgency"), N_("Specifies the 
editorial urgency of content and not necessarily the envelope handling priority. '1' is most urgent, '5' 
normal, and '8' least urgent.")}},
+                       {TAG_IPTC_URGENCY, {"IPTC.Urgency", TAG_IPTC, N_("Urgency"), N_("Specifies the 
editorial urgency of content and not necessarily the envelope handling priority. “1” is most urgent, “5” 
normal, and “8” least urgent.")}},
                        {TAG_IPTC_WRITEREDITOR, {"IPTC.WriterEditor", TAG_IPTC, N_("Writer/Editor"), N_("The 
name of the person involved in the writing, editing or correcting the object or caption/abstract (multiple 
values allowed).")}},
                        {TAG_PDF_PAGESIZE, {"PDF.PageSize", TAG_PDF, N_("Page Size"), N_("Page size 
format.")}},
                        {TAG_PDF_PAGEWIDTH, {"PDF.PageWidth", TAG_PDF, N_("Page Width"), N_("Page width in 
mm.")}},
@@ -522,15 +522,15 @@ void gcmd_tags_init()
                        {TAG_PDF_VERSION, {"PDF.Version", TAG_PDF, N_("PDF Version"), N_("The PDF version of 
the document.")}},
                        {TAG_PDF_PRODUCER, {"PDF.Producer", TAG_PDF, N_("Producer"), N_("The application that 
converted the document to PDF.")}},
                        {TAG_PDF_EMBEDDEDFILES, {"PDF.EmbeddedFiles", TAG_PDF, N_("Embedded Files"), 
N_("Number of embedded files in the document.")}},
-                       {TAG_PDF_OPTIMIZED, {"PDF.Optimized", TAG_PDF, N_("Fast Web View"), N_("Set to \"1\" 
if optimized for network access.")}},
-                       {TAG_PDF_PRINTING, {"PDF.Printing", TAG_PDF, N_("Printing"), N_("Set to \"1\" if 
printing is allowed.")}},
-                       {TAG_PDF_HIRESPRINTING, {"PDF.HiResPrinting", TAG_PDF, N_("Printing in High 
Resolution"), N_("Set to \"1\" if high resolution printing is allowed.")}},
-                       {TAG_PDF_COPYING, {"PDF.Copying", TAG_PDF, N_("Copying"), N_("Set to \"1\" if copying 
the contents is allowed.")}},
-                       {TAG_PDF_MODIFYING, {"PDF.Modifying", TAG_PDF, N_("Modifying"), N_("Set to \"1\" if 
modifying the contents is allowed.")}},
-                       {TAG_PDF_DOCASSEMBLY, {"PDF.DocAssembly", TAG_PDF, N_("Document Assembly"), N_("Set 
to \"1\" if inserting, rotating, or deleting pages and creating navigation elements is allowed.")}},
-                       {TAG_PDF_COMMENTING, {"PDF.Commenting", TAG_PDF, N_("Commenting"), N_("Set to \"1\" 
if adding or modifying text annotations is allowed.")}},
-                       {TAG_PDF_FORMFILLING, {"PDF.FormFilling", TAG_PDF, N_("Form Filling"), N_("Set to 
\"1\" if filling of form fields is allowed.")}},
-                       {TAG_PDF_ACCESSIBILITYSUPPORT, {"PDF.AccessibilitySupport", TAG_PDF, 
N_("Accessibility Support"), N_("Set to \"1\" if accessibility support (e.g. screen readers) is enabled.")}},
+                       {TAG_PDF_OPTIMIZED, {"PDF.Optimized", TAG_PDF, N_("Fast Web View"), N_("Set to “1” if 
optimized for network access.")}},
+                       {TAG_PDF_PRINTING, {"PDF.Printing", TAG_PDF, N_("Printing"), N_("Set to “1” if 
printing is allowed.")}},
+                       {TAG_PDF_HIRESPRINTING, {"PDF.HiResPrinting", TAG_PDF, N_("Printing in High 
Resolution"), N_("Set to “1” if high resolution printing is allowed.")}},
+                       {TAG_PDF_COPYING, {"PDF.Copying", TAG_PDF, N_("Copying"), N_("Set to “1” if copying 
the contents is allowed.")}},
+                       {TAG_PDF_MODIFYING, {"PDF.Modifying", TAG_PDF, N_("Modifying"), N_("Set to “1” if 
modifying the contents is allowed.")}},
+                       {TAG_PDF_DOCASSEMBLY, {"PDF.DocAssembly", TAG_PDF, N_("Document Assembly"), N_("Set 
to “1” if inserting, rotating, or deleting pages and creating navigation elements is allowed.")}},
+                       {TAG_PDF_COMMENTING, {"PDF.Commenting", TAG_PDF, N_("Commenting"), N_("Set to “1” if 
adding or modifying text annotations is allowed.")}},
+                       {TAG_PDF_FORMFILLING, {"PDF.FormFilling", TAG_PDF, N_("Form Filling"), N_("Set to “1” 
if filling of form fields is allowed.")}},
+                       {TAG_PDF_ACCESSIBILITYSUPPORT, {"PDF.AccessibilitySupport", TAG_PDF, 
N_("Accessibility Support"), N_("Set to “1” if accessibility support (e.g. screen readers) is enabled.")}},
                        {TAG_VORBIS_CONTACT, {"Vorbis.Contact", TAG_VORBIS, N_("Contact"), N_("Contact 
information for the creators or distributors of the track.")}},
                        {TAG_VORBIS_DESCRIPTION, {"Vorbis.Description", TAG_VORBIS, N_("Description"), N_("A 
textual description of the data.")}},
                        {TAG_VORBIS_LICENSE, {"Vorbis.License", TAG_VORBIS, N_("License"), N_("License 
information.")}},
diff --git a/src/utils.cc b/src/utils.cc
index 47df526..ca9dd89 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -529,7 +529,7 @@ void mime_exec_single (GnomeCmdFile *f)
         if (f->has_mime_type("application/x-executable") || 
f->has_mime_type("application/x-executable-binary"))
         {
             gchar *fname = get_utf8 (f->info->name);
-            gchar *msg = g_strdup_printf (_("\"%s\" seems to be a binary executable file but it lacks the 
executable bit. Do you want to set it and then run the file?"), fname);
+            gchar *msg = g_strdup_printf (_("“%s” seems to be a binary executable file but it lacks the 
executable bit. Do you want to set it and then run the file?"), fname);
             gint ret = run_simple_dialog (*main_win, FALSE, GTK_MESSAGE_QUESTION, msg,
                                           _("Make Executable?"),
                                           -1, _("Cancel"), _("OK"), NULL);
@@ -558,7 +558,7 @@ void mime_exec_single (GnomeCmdFile *f)
             if (f->mime_begins_with("text/"))
             {
                 gchar *fname = get_utf8 (f->info->name);
-                gchar *msg = g_strdup_printf (_("\"%s\" is an executable text file. Do you want to run it, 
or display its contents?"), fname);
+                gchar *msg = g_strdup_printf (_("“%s” is an executable text file. Do you want to run it, or 
display its contents?"), fname);
                 gint ret = run_simple_dialog (*main_win, FALSE, GTK_MESSAGE_QUESTION, msg, _("Run or 
Display"),
                                               -1, _("Cancel"), _("Display"), _("Run"), NULL);
                 g_free (fname);
@@ -1256,7 +1256,7 @@ gboolean create_dir_if_needed (const gchar *dpath)
     {
         if (errno == ENOENT)
         {
-            g_print (_("Creating directory %s... "), dpath);
+            g_print (_("Creating directory %s… "), dpath);
             if (mkdir (dpath, S_IRUSR|S_IWUSR|S_IXUSR) == 0)  return TRUE;  else
             {
                 gchar *msg = g_strdup_printf (_("Failed to create the directory %s"), dpath);
@@ -1265,7 +1265,7 @@ gboolean create_dir_if_needed (const gchar *dpath)
             }
         }
         else
-            g_warning (_("Couldn't read from the directory %s: %s"), dpath, strerror (errno));
+            g_warning (_("Couldn’t read from the directory %s: %s"), dpath, strerror (errno));
 
         return FALSE;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]