gnucash master: Replace ... with … in all translatable strings.

John Ralls jralls at code.gnucash.org
Fri Dec 23 15:44:14 EST 2022


Updated	 via  https://github.com/Gnucash/gnucash/commit/ab13b01f (commit)
	from  https://github.com/Gnucash/gnucash/commit/ff6d3d89 (commit)



commit ab13b01f8c7bf5a7ee84463bb39ec2d9614d8530
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Dec 23 12:43:54 2022 -0800

    Replace ... with … in all translatable strings.
    
    Also a few other places like translator comments and report options.
    
    Replaces https://github.com/Gnucash/gnucash/pull/1033.

diff --git a/doc/tip_of_the_day.list.c b/doc/tip_of_the_day.list.c
index f7c909488..4f6980b5d 100644
--- a/doc/tip_of_the_day.list.c
+++ b/doc/tip_of_the_day.list.c
@@ -119,7 +119,7 @@ registers after midnight, to get the new date as default for new \
 transactions. It is not necessary to restart GnuCash.")
 
  N_( "To search through all your transactions, start a search (Edit->\
-Find...) from the main accounts hierarchy page. To limit your search \
+Find…) from the main accounts hierarchy page. To limit your search \
 to a single account, start the search from that account's register.")
 
  N_( "To visually compare on screen the contents of 2 tabs, \
diff --git a/gnucash/gnome-search/dialog-search.c b/gnucash/gnome-search/dialog-search.c
index 4804f202f..9d07ca63e 100644
--- a/gnucash/gnome-search/dialog-search.c
+++ b/gnucash/gnome-search/dialog-search.c
@@ -1116,7 +1116,7 @@ type_label_to_new_button(const gchar* type_label)
     else
     {
         PWARN("No translatable new-button label found for search type \"%s\", please add one into dialog-search.c!", type_label);
-        return C_("Item represents an unknown object type (in the sense of bill, customer, invoice, transaction, split,...)!", "New item");
+        return C_("Item represents an unknown object type (in the sense of bill, customer, invoice, transaction, split,…)!", "New item");
     }
 }
 
diff --git a/gnucash/gnome-utils/assistant-xml-encoding.c b/gnucash/gnome-utils/assistant-xml-encoding.c
index 96f5fff7a..1d6ed25df 100644
--- a/gnucash/gnome-utils/assistant-xml-encoding.c
+++ b/gnucash/gnome-utils/assistant-xml-encoding.c
@@ -1091,7 +1091,7 @@ gxi_parse_file (GncXmlImportData *data)
     }
 
     xaccLogDisable ();
-    gxi_update_progress_bar (_("Reading file..."), 0.0);
+    gxi_update_progress_bar (_("Reading file…"), 0.0);
     qof_session_load (session, gxi_update_progress_bar);
     gxi_update_progress_bar (NULL, -1.0);
     xaccLogEnable ();
@@ -1114,7 +1114,7 @@ gxi_parse_file (GncXmlImportData *data)
     book = qof_session_get_book (session);
     backend = qof_book_get_backend (book);
 
-    gxi_update_progress_bar (_("Parsing file..."), 0.0);
+    gxi_update_progress_bar (_("Parsing file…"), 0.0);
     success = gnc_xml2_parse_with_subst (backend, book, data->subst);
     gxi_update_progress_bar (NULL, -1.0);
 
@@ -1146,7 +1146,7 @@ gxi_save_file (GncXmlImportData *data)
     QofBackendError io_err;
     g_return_val_if_fail (data && data->session, FALSE);
 
-    gxi_update_progress_bar (_("Writing file..."), 0.0);
+    gxi_update_progress_bar (_("Writing file…"), 0.0);
     qof_session_save (data->session, gxi_update_progress_bar);
     gxi_update_progress_bar (NULL, -1.0);
 
diff --git a/gnucash/gnome-utils/dialog-account.c b/gnucash/gnome-utils/dialog-account.c
index 3437188d6..5d3eba4ef 100644
--- a/gnucash/gnome-utils/dialog-account.c
+++ b/gnucash/gnome-utils/dialog-account.c
@@ -1604,7 +1604,7 @@ gnc_account_window_set_name (AccountWindow *aw)
         char *prefix = g_strdup_printf (format,
                                         g_strv_length (aw->next_name) + 1);
 
-        title = g_strconcat (prefix, " - ", fullname, " ...", NULL);
+        title = g_strconcat (prefix, " - ", fullname, " …", NULL);
         g_free (prefix);
     }
     else
diff --git a/gnucash/gnome-utils/dialog-commodity.c b/gnucash/gnome-utils/dialog-commodity.c
index 7aa5ea705..1f12034aa 100644
--- a/gnucash/gnome-utils/dialog-commodity.c
+++ b/gnucash/gnome-utils/dialog-commodity.c
@@ -168,7 +168,7 @@ gnc_ui_select_commodity_modal_full(gnc_commodity * orig_sel,
                         fullname ? fullname : "",
                         /* Translators: Replace here and later CUSIP by the name of your local
                            National Securities Identifying Number
-                           like gb:SEDOL, de:WKN, ch:Valorennummer, fr:SICOVAM ...
+                           like gb:SEDOL, de:WKN, ch:Valorennummer, fr:SICOVAM …
                            See http://en.wikipedia.org/wiki/ISIN and
                            https://en.wikipedia.org/wiki/National_numbering_agency for hints. */
                         cusip    ? _("\nExchange code (ISIN, CUSIP or similar): ") : "",
diff --git a/gnucash/gnome-utils/dialog-file-access.c b/gnucash/gnome-utils/dialog-file-access.c
index 2082df65e..8fa8a9707 100644
--- a/gnucash/gnome-utils/dialog-file-access.c
+++ b/gnucash/gnome-utils/dialog-file-access.c
@@ -300,14 +300,14 @@ gnc_ui_file_access (GtkWindow *parent, int type)
     switch ( type )
     {
     case FILE_ACCESS_OPEN:
-        gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Open..."));
+        gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Open…"));
         button_label = _("_Open");
         fileChooserAction = GTK_FILE_CHOOSER_ACTION_OPEN;
         settings_section = GNC_PREFS_GROUP_OPEN_SAVE;
         break;
 
     case FILE_ACCESS_SAVE_AS:
-        gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Save As..."));
+        gtk_window_set_title(GTK_WINDOW(faw->dialog), _("Save As…"));
         button_label = _("_Save As");
         fileChooserAction = GTK_FILE_CHOOSER_ACTION_SAVE;
         settings_section = GNC_PREFS_GROUP_OPEN_SAVE;
diff --git a/gnucash/gnome-utils/gnc-account-sel.c b/gnucash/gnome-utils/gnc-account-sel.c
index 93808e532..eb3836c52 100644
--- a/gnucash/gnome-utils/gnc-account-sel.c
+++ b/gnucash/gnome-utils/gnc-account-sel.c
@@ -456,7 +456,7 @@ gnc_account_sel_set_new_account_ability (GNCAccountSel *gas,
     }
 
     /* create the button. */
-    gas->newAccountButton = gtk_button_new_with_label (_("New..."));
+    gas->newAccountButton = gtk_button_new_with_label (_("New…"));
     g_signal_connect (gas->newAccountButton,
                       "clicked",
                       G_CALLBACK(gas_new_account_click),
diff --git a/gnucash/gnome-utils/gnc-file.c b/gnucash/gnome-utils/gnc-file.c
index 2fb89f0c8..a35bde629 100644
--- a/gnucash/gnome-utils/gnc-file.c
+++ b/gnucash/gnome-utils/gnc-file.c
@@ -968,7 +968,7 @@ RESTART:
                                        path, username, password );
 
         xaccLogDisable();
-        gnc_window_show_progress(_("Loading user data..."), 0.0);
+        gnc_window_show_progress(_("Loading user data…"), 0.0);
         qof_session_load (new_session, gnc_window_show_progress);
         gnc_window_show_progress(NULL, -1.0);
         xaccLogEnable();
@@ -988,7 +988,7 @@ RESTART:
             if (gnc_xml_convert_single_file (newfile))
             {
                 /* try to load once again */
-                gnc_window_show_progress(_("Loading user data..."), 0.0);
+                gnc_window_show_progress(_("Loading user data…"), 0.0);
                 qof_session_load (new_session, gnc_window_show_progress);
                 gnc_window_show_progress(NULL, -1.0);
                 xaccLogEnable();
@@ -1004,7 +1004,7 @@ RESTART:
         /* Attempt to update the database if it's too old */
         if ( !uh_oh && io_err == ERR_SQL_DB_TOO_OLD )
         {
-            gnc_window_show_progress(_("Re-saving user data..."), 0.0);
+            gnc_window_show_progress(_("Re-saving user data…"), 0.0);
             qof_session_safe_save(new_session, gnc_window_show_progress);
             io_err = qof_session_get_error(new_session);
             uh_oh = show_session_error(parent, io_err, newfile, GNC_FILE_DIALOG_SAVE);
@@ -1364,7 +1364,7 @@ gnc_file_do_export(GtkWindow *parent, const char * filename)
 
     /* use the current session to save to file */
     gnc_set_busy_cursor (NULL, TRUE);
-    gnc_window_show_progress(_("Exporting file..."), 0.0);
+    gnc_window_show_progress(_("Exporting file…"), 0.0);
     ok = qof_session_export (new_session, current_session,
                              gnc_window_show_progress);
     gnc_window_show_progress(NULL, -1.0);
@@ -1424,7 +1424,7 @@ gnc_file_save (GtkWindow *parent)
     /* use the current session to save to file */
     save_in_progress++;
     gnc_set_busy_cursor (NULL, TRUE);
-    gnc_window_show_progress(_("Writing file..."), 0.0);
+    gnc_window_show_progress(_("Writing file…"), 0.0);
     qof_session_save (session, gnc_window_show_progress);
     gnc_window_show_progress(NULL, -1.0);
     gnc_unset_busy_cursor (NULL);
@@ -1663,7 +1663,7 @@ gnc_file_do_save_as (GtkWindow *parent, const char* filename)
 
 
     gnc_set_busy_cursor (NULL, TRUE);
-    gnc_window_show_progress(_("Writing file..."), 0.0);
+    gnc_window_show_progress(_("Writing file…"), 0.0);
     qof_session_save (new_session, gnc_window_show_progress);
     gnc_window_show_progress(NULL, -1.0);
     gnc_unset_busy_cursor (NULL);
diff --git a/gnucash/gnome-utils/gnc-file.h b/gnucash/gnome-utils/gnc-file.h
index 176d5ae15..7c723ebdf 100644
--- a/gnucash/gnome-utils/gnc-file.h
+++ b/gnucash/gnome-utils/gnc-file.h
@@ -22,7 +22,7 @@
  *
  * FUNCTION:
  * A set of file-handling utilities for GnuCash applications.
- * These utilities will "do the right thing" when used in the "File..."
+ * These utilities will "do the right thing" when used in the "File…"
  * pulldown menu, for the "New", "Open", "Save", "SaveAs", etc. menu entries.
  * In particular, they will verify that old files don't get clobbered,
  * they'll put up dialogue boxes to ask the user to confirm their actions,
diff --git a/gnucash/gnome-utils/gnc-general-select.c b/gnucash/gnome-utils/gnc-general-select.c
index 3cd909104..205c2cc3f 100644
--- a/gnucash/gnome-utils/gnc-general-select.c
+++ b/gnucash/gnome-utils/gnc-general-select.c
@@ -217,11 +217,11 @@ create_children (GNCGeneralSelect *gsl, GNCGeneralSelectType type)
     gtk_widget_show (gsl->entry);
 
     if (type == GNC_GENERAL_SELECT_TYPE_SELECT)
-        gsl->button = gtk_button_new_with_label (_("Select..."));
+        gsl->button = gtk_button_new_with_label (_("Select…"));
     else if (type == GNC_GENERAL_SELECT_TYPE_EDIT)
-        gsl->button = gtk_button_new_with_label (_("Edit..."));
+        gsl->button = gtk_button_new_with_label (_("Edit…"));
     else if (type == GNC_GENERAL_SELECT_TYPE_VIEW)
-        gsl->button = gtk_button_new_with_label (_("View..."));
+        gsl->button = gtk_button_new_with_label (_("View…"));
 
     gtk_box_pack_start (GTK_BOX (gsl), gsl->button, FALSE, FALSE, 0);
     g_signal_connect (G_OBJECT (gsl->button), "clicked",
diff --git a/gnucash/gnome-utils/gnc-main-window.cpp b/gnucash/gnome-utils/gnc-main-window.cpp
index 90c6b5389..c07dc4cfd 100644
--- a/gnucash/gnome-utils/gnc-main-window.cpp
+++ b/gnucash/gnome-utils/gnc-main-window.cpp
@@ -306,14 +306,14 @@ static GtkActionEntry gnc_menu_actions [] =
     { "FileImportAction", nullptr, N_("_Import"), nullptr, nullptr, nullptr },
     { "FileExportAction", nullptr, N_("_Export"), nullptr, nullptr, nullptr },
     {
-        "FilePrintAction", "document-print", N_("_Print..."), "<primary>p",
+        "FilePrintAction", "document-print", N_("_Print…"), "<primary>p",
         N_("Print the currently active page"), nullptr
     },
 #ifndef GTK_STOCK_PAGE_SETUP
 #    define GTK_STOCK_PAGE_SETUP nullptr
 #endif
     {
-        "FilePageSetupAction", "document-page-setup", N_("Pa_ge Setup..."), "<primary><shift>p",
+        "FilePageSetupAction", "document-page-setup", N_("Pa_ge Setup…"), "<primary><shift>p",
         N_("Specify the page size and orientation for printing"),
         G_CALLBACK (gnc_main_window_cmd_page_setup)
     },
@@ -360,11 +360,11 @@ static GtkActionEntry gnc_menu_actions [] =
 
     { "ViewTabPositionAction", NULL, N_("Tab P_osition"), NULL, NULL, NULL },
     {
-        "ViewSortByAction", nullptr, N_("_Sort By..."), nullptr,
+        "ViewSortByAction", nullptr, N_("_Sort By…"), nullptr,
         N_("Select sorting criteria for this page view"), nullptr
     },
     {
-        "ViewFilterByAction", nullptr, N_("_Filter By..."), nullptr,
+        "ViewFilterByAction", nullptr, N_("_Filter By…"), nullptr,
         N_("Select the account types that should be displayed."), nullptr
     },
     {
@@ -377,7 +377,7 @@ static GtkActionEntry gnc_menu_actions [] =
 
     { "ScrubMenuAction", nullptr, N_("_Check & Repair"), nullptr, nullptr, nullptr },
     {
-        "ActionsForgetWarningsAction", nullptr, N_("Reset _Warnings..."), nullptr,
+        "ActionsForgetWarningsAction", nullptr, N_("Reset _Warnings…"), nullptr,
         N_("Reset the state of all warning messages so they will be shown again."),
         G_CALLBACK (gnc_main_window_cmd_actions_reset_warnings)
     },
diff --git a/gnucash/gnome-utils/gnc-period-select.c b/gnucash/gnome-utils/gnc-period-select.c
index 3d8e03671..ecd4417ba 100644
--- a/gnucash/gnome-utils/gnc-period-select.c
+++ b/gnucash/gnome-utils/gnc-period-select.c
@@ -630,7 +630,7 @@ gnc_period_select_finalize (GObject *object)
  *  accounting period like "previous month" or "this year".
  *
  *  @param starting_labels If set to TRUE then all the labels will
- *  refer to the "Start of...".  If FALSE, labels will refer to "End
+ *  refer to the "Start of…".  If FALSE, labels will refer to "End
  *  of...".
  *
  *  @return A GncPeriodSelect widget.
diff --git a/gnucash/gnome-utils/gnc-splash.c b/gnucash/gnome-utils/gnc-splash.c
index 9d4f4a5ac..b274035f1 100644
--- a/gnucash/gnome-utils/gnc-splash.c
+++ b/gnucash/gnome-utils/gnc-splash.c
@@ -110,7 +110,7 @@ gnc_show_splash_screen (void)
        presumably it would be better to inhibit size change of the
        top level container, but I don't know how to do this */
     gtk_label_set_max_width_chars(GTK_LABEL(progress), 34);
-    markup = g_markup_printf_escaped(MARKUP_STRING, _("Loading..."));
+    markup = g_markup_printf_escaped(MARKUP_STRING, _("Loading…"));
     gtk_label_set_markup(GTK_LABEL(progress), markup);
     g_free(markup);
 
diff --git a/gnucash/gnome-utils/gnc-tree-view-account.c b/gnucash/gnome-utils/gnc-tree-view-account.c
index b5b106f78..ef76665e3 100644
--- a/gnucash/gnome-utils/gnc-tree-view-account.c
+++ b/gnucash/gnome-utils/gnc-tree-view-account.c
@@ -2327,7 +2327,7 @@ account_filter_dialog_create(AccountFilterDialog *fd, GncPluginPage *page)
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  GTK_WINDOW(GNC_PLUGIN_PAGE(page)->window));
     /* Translators: The %s is the name of the plugin page */
-    title = g_strdup_printf(_("Filter %s by..."),
+    title = g_strdup_printf(_("Filter %s by…"),
                             gnc_plugin_page_get_page_name(GNC_PLUGIN_PAGE(page)));
     gtk_window_set_title(GTK_WINDOW(dialog), title);
     g_free(title);
diff --git a/gnucash/gnome-utils/gnc-tree-view-owner.c b/gnucash/gnome-utils/gnc-tree-view-owner.c
index 8ef9430e5..d23e1c7a3 100644
--- a/gnucash/gnome-utils/gnc-tree-view-owner.c
+++ b/gnucash/gnome-utils/gnc-tree-view-owner.c
@@ -1172,7 +1172,7 @@ owner_filter_dialog_create(OwnerFilterDialog *fd, GncPluginPage *page)
     gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                  GTK_WINDOW(GNC_PLUGIN_PAGE(page)->window));
     /* Translators: The %s is the name of the plugin page */
-    title = g_strdup_printf(_("Filter %s by..."),
+    title = g_strdup_printf(_("Filter %s by…"),
                             gnc_plugin_page_get_page_name(GNC_PLUGIN_PAGE(page)));
     gtk_window_set_title(GTK_WINDOW(dialog), title);
     g_free(title);
diff --git a/gnucash/gnome/assistant-loan.cpp b/gnucash/gnome/assistant-loan.cpp
index 580f9d7d5..a55393215 100644
--- a/gnucash/gnome/assistant-loan.cpp
+++ b/gnucash/gnome/assistant-loan.cpp
@@ -767,7 +767,7 @@ gnc_loan_assistant_create( LoanAssistantData *ldd )
 
                 /* Translators: %s is "Taxes",
                    "Insurance", or similar. */
-                g_string_printf( str, _("... pay \"%s\"?"),
+                g_string_printf( str, _("… pay \"%s\"?"),
                                  rouid->optData->name );
                 rouid->optCb =
                     GTK_CHECK_BUTTON(
diff --git a/gnucash/gnome/business-gnome-utils.c b/gnucash/gnome/business-gnome-utils.c
index 41c42fc52..1f09bc573 100644
--- a/gnucash/gnome/business-gnome-utils.c
+++ b/gnucash/gnome/business-gnome-utils.c
@@ -70,11 +70,11 @@ static GtkWidget * gnc_owner_new (GtkWidget *label, GtkWidget *hbox,
     switch (type)
     {
     case GNCSEARCH_TYPE_SELECT:
-        text = _("Select...");
+        text = _("Select…");
         text_editable = TRUE;
         break;
     case GNCSEARCH_TYPE_EDIT:
-        text = _("Edit...");
+        text = _("Edit…");
         text_editable = FALSE;
         break;
     };
@@ -257,7 +257,7 @@ GtkWidget * gnc_invoice_select_create (GtkWidget *hbox, QofBook *book,
     isi->book = book;
     isi->label = label;
 
-    edit = gnc_general_search_new (GNC_INVOICE_MODULE_NAME, _("Select..."),
+    edit = gnc_general_search_new (GNC_INVOICE_MODULE_NAME, _("Select…"),
                                    TRUE, gnc_invoice_select_search_cb, isi, isi->book);
     if (!edit)
     {
diff --git a/gnucash/gnome/dialog-invoice.c b/gnucash/gnome/dialog-invoice.c
index b43ee98f1..5cb18cfe3 100644
--- a/gnucash/gnome/dialog-invoice.c
+++ b/gnucash/gnome/dialog-invoice.c
@@ -1506,7 +1506,7 @@ gnc_invoice_update_job_choice (InvoiceWindow *iw)
         case MOD_INVOICE:
         case DUP_INVOICE:
             iw->job_choice =
-                gnc_general_search_new (GNC_JOB_MODULE_NAME, _("Select..."), TRUE,
+                gnc_general_search_new (GNC_JOB_MODULE_NAME, _("Select…"), TRUE,
                                         gnc_invoice_select_job_cb, iw, iw->book);
 
             gnc_general_search_set_selected (GNC_GENERAL_SEARCH (iw->job_choice),
@@ -1584,7 +1584,7 @@ gnc_invoice_update_proj_job (InvoiceWindow *iw)
         else
         {
             iw->proj_job_choice =
-                gnc_general_search_new (GNC_JOB_MODULE_NAME, _("Select..."), TRUE,
+                gnc_general_search_new (GNC_JOB_MODULE_NAME, _("Select…"), TRUE,
                                         gnc_invoice_select_proj_job_cb, iw, iw->book);
 
             gnc_general_search_set_selected (GNC_GENERAL_SEARCH(iw->proj_job_choice),
diff --git a/gnucash/gnome/gnc-plugin-basic-commands.c b/gnucash/gnome/gnc-plugin-basic-commands.c
index 4d6624ebb..7df1f8696 100644
--- a/gnucash/gnome/gnc-plugin-basic-commands.c
+++ b/gnucash/gnome/gnc-plugin-basic-commands.c
@@ -113,7 +113,7 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK (gnc_main_window_cmd_file_new)
     },
     {
-        "FileOpenAction", "document-open", N_("_Open..."), "<primary>o",
+        "FileOpenAction", "document-open", N_("_Open…"), "<primary>o",
         N_("Open an existing GnuCash file"),
         G_CALLBACK (gnc_main_window_cmd_file_open)
     },
@@ -123,7 +123,7 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK (gnc_main_window_cmd_file_save)
     },
     {
-        "FileSaveAsAction", "document-save-as", N_("Save _As..."), "<shift><primary>s",
+        "FileSaveAsAction", "document-save-as", N_("Save _As…"), "<shift><primary>s",
         N_("Save this file with a different name"),
         G_CALLBACK (gnc_main_window_cmd_file_save_as)
     },
@@ -142,7 +142,7 @@ static GtkActionEntry gnc_plugin_actions [] =
     /* Edit menu */
 
     {
-        "EditFindTransactionsAction", "edit-find", N_("_Find..."), "<primary>f",
+        "EditFindTransactionsAction", "edit-find", N_("_Find…"), "<primary>f",
         N_("Find transactions with a search"),
         G_CALLBACK (gnc_main_window_cmd_tools_find_transactions)
     },
@@ -168,12 +168,12 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK (gnc_main_window_cmd_actions_scheduled_transaction_editor)
     },
     {
-        "ActionsSinceLastRunAction", NULL, N_("Since _Last Run..."), NULL,
+        "ActionsSinceLastRunAction", NULL, N_("Since _Last Run…"), NULL,
         N_("Create Scheduled Transactions since the last time run"),
         G_CALLBACK (gnc_main_window_cmd_actions_since_last_run)
     },
     {
-        "ActionsMortgageLoanAction", NULL, N_("_Mortgage & Loan Repayment..."), NULL,
+        "ActionsMortgageLoanAction", NULL, N_("_Mortgage & Loan Repayment…"), NULL,
         N_("Setup scheduled transactions for repayment of a loan"),
         G_CALLBACK (gnc_main_window_cmd_actions_mortgage_loan)
     },
diff --git a/gnucash/gnome/gnc-plugin-business.c b/gnucash/gnome/gnc-plugin-business.c
index 06d0ecf24..d853264ab 100644
--- a/gnucash/gnome/gnc-plugin-business.c
+++ b/gnucash/gnome/gnc-plugin-business.c
@@ -162,37 +162,37 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK (gnc_plugin_business_cmd_customer_page)
     },
     {
-        "CustomerNewCustomerOpenAction", NULL, N_("_New Customer..."), NULL,
+        "CustomerNewCustomerOpenAction", NULL, N_("_New Customer…"), NULL,
         N_("Open the New Customer dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_new_customer)
     },
     {
-        "CustomerFindCustomerOpenAction", NULL, N_("_Find Customer..."), NULL,
+        "CustomerFindCustomerOpenAction", NULL, N_("_Find Customer…"), NULL,
         N_("Open the Find Customer dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_find_customer)
     },
     {
-        "CustomerNewInvoiceOpenAction", NULL, N_("New _Invoice..."), NULL,
+        "CustomerNewInvoiceOpenAction", NULL, N_("New _Invoice…"), NULL,
         N_("Open the New Invoice dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_new_invoice)
     },
     {
-        "CustomerFindInvoiceOpenAction", NULL, N_("Find In_voice..."), NULL,
+        "CustomerFindInvoiceOpenAction", NULL, N_("Find In_voice…"), NULL,
         N_("Open the Find Invoice dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_find_invoice)
     },
     {
-        "CustomerNewJobOpenAction", NULL, N_("New _Job..."), NULL,
+        "CustomerNewJobOpenAction", NULL, N_("New _Job…"), NULL,
         N_("Open the New Job dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_new_job)
     },
     {
-        "CustomerFindJobOpenAction", NULL, N_("Find Jo_b..."), NULL,
+        "CustomerFindJobOpenAction", NULL, N_("Find Jo_b…"), NULL,
         N_("Open the Find Job dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_find_job)
     },
     {
-        "CustomerProcessPaymentAction", NULL, N_("_Process Payment..."), NULL,
+        "CustomerProcessPaymentAction", NULL, N_("_Process Payment…"), NULL,
         N_("Open the Process Payment dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_process_payment)
     },
@@ -205,37 +205,37 @@ static GtkActionEntry gnc_plugin_actions [] =
     },
     { "VendorMenuAction", NULL, N_("_Vendor"), NULL, NULL, NULL },
     {
-        "VendorNewVendorOpenAction", NULL, N_("_New Vendor..."), NULL,
+        "VendorNewVendorOpenAction", NULL, N_("_New Vendor…"), NULL,
         N_("Open the New Vendor dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_new_vendor)
     },
     {
-        "VendorFindVendorOpenAction", NULL, N_("_Find Vendor..."), NULL,
+        "VendorFindVendorOpenAction", NULL, N_("_Find Vendor…"), NULL,
         N_("Open the Find Vendor dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_find_vendor)
     },
     {
-        "VendorNewBillOpenAction", NULL, N_("New _Bill..."), NULL,
+        "VendorNewBillOpenAction", NULL, N_("New _Bill…"), NULL,
         N_("Open the New Bill dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_new_bill)
     },
     {
-        "VendorFindBillOpenAction", NULL, N_("Find Bi_ll..."), NULL,
+        "VendorFindBillOpenAction", NULL, N_("Find Bi_ll…"), NULL,
         N_("Open the Find Bill dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_find_bill)
     },
     {
-        "VendorNewJobOpenAction", NULL, N_("New _Job..."), NULL,
+        "VendorNewJobOpenAction", NULL, N_("New _Job…"), NULL,
         N_("Open the New Job dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_new_job)
     },
     {
-        "VendorFindJobOpenAction", NULL, N_("Find Jo_b..."), NULL,
+        "VendorFindJobOpenAction", NULL, N_("Find Jo_b…"), NULL,
         N_("Open the Find Job dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_find_job)
     },
     {
-        "VendorProcessPaymentAction", NULL, N_("_Process Payment..."), NULL,
+        "VendorProcessPaymentAction", NULL, N_("_Process Payment…"), NULL,
         N_("Open the Process Payment dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_vendor_process_payment)
     },
@@ -248,27 +248,27 @@ static GtkActionEntry gnc_plugin_actions [] =
     },
     { "EmployeeMenuAction", NULL, N_("_Employee"), NULL, NULL, NULL },
     {
-        "EmployeeNewEmployeeOpenAction", NULL, N_("_New Employee..."), NULL,
+        "EmployeeNewEmployeeOpenAction", NULL, N_("_New Employee…"), NULL,
         N_("Open the New Employee dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_employee_new_employee)
     },
     {
-        "EmployeeFindEmployeeOpenAction", NULL, N_("_Find Employee..."), NULL,
+        "EmployeeFindEmployeeOpenAction", NULL, N_("_Find Employee…"), NULL,
         N_("Open the Find Employee dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_employee_find_employee)
     },
     {
-        "EmployeeNewExpenseVoucherOpenAction", NULL, N_("New _Expense Voucher..."), NULL,
+        "EmployeeNewExpenseVoucherOpenAction", NULL, N_("New _Expense Voucher…"), NULL,
         N_("Open the New Expense Voucher dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_employee_new_expense_voucher)
     },
     {
-        "EmployeeFindExpenseVoucherOpenAction", NULL, N_("Find Expense _Voucher..."), NULL,
+        "EmployeeFindExpenseVoucherOpenAction", NULL, N_("Find Expense _Voucher…"), NULL,
         N_("Open the Find Expense Voucher dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_employee_find_expense_voucher)
     },
     {
-        "EmployeeProcessPaymentAction", NULL, N_("_Process Payment..."), NULL,
+        "EmployeeProcessPaymentAction", NULL, N_("_Process Payment…"), NULL,
         N_("Open the Process Payment dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_employee_process_payment)
     },
@@ -316,19 +316,19 @@ static GtkActionEntry gnc_plugin_actions [] =
 
     /* Toolbar */
     {
-        "ToolbarNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice..."), NULL,
+        "ToolbarNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice…"), NULL,
         N_("Open the New Invoice dialog"),
         G_CALLBACK (gnc_plugin_business_cmd_customer_new_invoice)
     },
 
     /* Register popup menu */
     {
-        "RegisterAssignPayment", NULL, N_("Assign as payment..."), NULL,
+        "RegisterAssignPayment", NULL, N_("Assign as payment…"), NULL,
         N_("Assign the selected transaction as payment"),
         G_CALLBACK (gnc_plugin_business_cmd_assign_payment)
     },
     {
-        "RegisterEditPayment", NULL, N_("Edit payment..."), NULL,
+        "RegisterEditPayment", NULL, N_("Edit payment…"), NULL,
         N_("Edit the payment this transaction is a part of"),
         G_CALLBACK (gnc_plugin_business_cmd_assign_payment)
     },
diff --git a/gnucash/gnome/gnc-plugin-page-account-tree.c b/gnucash/gnome/gnc-plugin-page-account-tree.c
index da3cc3364..e24e93b99 100644
--- a/gnucash/gnome/gnc-plugin-page-account-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-account-tree.c
@@ -192,12 +192,12 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
 
     /* File menu */
     {
-        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account..."), NULL,
+        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account…"), NULL,
         N_("Create a new Account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_new_account)
     },
     {
-        "FileAddAccountHierarchyAssistantAction", GNC_ICON_NEW_ACCOUNT, N_("New Account _Hierarchy..."), NULL,
+        "FileAddAccountHierarchyAssistantAction", GNC_ICON_NEW_ACCOUNT, N_("New Account _Hierarchy…"), NULL,
         N_("Extend the current book by merging with new account type categories"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_file_new_hierarchy)
     },
@@ -220,12 +220,12 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_edit_account)
     },
     {
-        "EditDeleteAccountAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Account..."), "Delete",
+        "EditDeleteAccountAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Account…"), "Delete",
         N_("Delete selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_delete_account)
     },
     {
-        "EditCascadeAccountAction", NULL, N_("_Cascade Account Properties..."), NULL,
+        "EditCascadeAccountAction", NULL, N_("_Cascade Account Properties…"), NULL,
         N_("Cascade selected properties for account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_cascade_account_properties)
     },
@@ -240,7 +240,7 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_find_account_popup)
     },
     {
-        "EditRenumberSubaccountsAction", NULL, N_("_Renumber Subaccounts..."), NULL,
+        "EditRenumberSubaccountsAction", NULL, N_("_Renumber Subaccounts…"), NULL,
         N_("Renumber the children of the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_renumber_accounts)
     },
@@ -258,7 +258,7 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
     },
     /* View menu */
     {
-        "ViewFilterByAction", NULL, N_("_Filter By..."), NULL, NULL,
+        "ViewFilterByAction", NULL, N_("_Filter By…"), NULL, NULL,
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_view_filter_by)
     },
     {
@@ -269,27 +269,27 @@ static GtkActionEntry gnc_plugin_page_account_tree_actions [] =
 
     /* Actions menu */
     {
-        "ActionsReconcileAction", NULL, N_("_Reconcile..."), NULL,
+        "ActionsReconcileAction", NULL, N_("_Reconcile…"), NULL,
         N_("Reconcile the selected account"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_reconcile)
     },
     {
-        "ActionsAutoClearAction", NULL, N_("_Auto-clear..."), NULL,
+        "ActionsAutoClearAction", NULL, N_("_Auto-clear…"), NULL,
         N_("Automatically clear individual transactions, given a cleared amount"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_autoclear)
     },
     {
-        "ActionsTransferAction", NULL, N_("_Transfer..."), "<primary>t",
+        "ActionsTransferAction", NULL, N_("_Transfer…"), "<primary>t",
         N_("Transfer funds from one account to another"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_transfer)
     },
     {
-        "ActionsStockSplitAction", NULL, N_("Stoc_k Split..."), NULL,
+        "ActionsStockSplitAction", NULL, N_("Stoc_k Split…"), NULL,
         N_("Record a stock split or a stock merger"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_stock_split)
     },
     {
-        "ActionsLotsAction", NULL, N_("View _Lots..."), NULL,
+        "ActionsLotsAction", NULL, N_("View _Lots…"), NULL,
         N_("Bring up the lot viewer/editor window"),
         G_CALLBACK (gnc_plugin_page_account_tree_cmd_lots)
     },
diff --git a/gnucash/gnome/gnc-plugin-page-budget.c b/gnucash/gnome/gnc-plugin-page-budget.c
index 64fbc0fac..cd24bf547 100644
--- a/gnucash/gnome/gnc-plugin-page-budget.c
+++ b/gnucash/gnome/gnc-plugin-page-budget.c
@@ -155,23 +155,23 @@ static GtkActionEntry gnc_plugin_page_budget_actions [] =
 
     /* Edit menu */
     {
-        "DeleteBudgetAction", GNC_ICON_DELETE_BUDGET, N_("_Delete Budget..."),
+        "DeleteBudgetAction", GNC_ICON_DELETE_BUDGET, N_("_Delete Budget…"),
         NULL, N_("Select this or another budget and delete it."),
         G_CALLBACK(gnc_plugin_page_budget_cmd_delete_budget)
     },
     {
-        "OptionsBudgetAction", "document-properties", N_("Budget _Options..."),
+        "OptionsBudgetAction", "document-properties", N_("Budget _Options…"),
         NULL, N_("Edit this budget's options."),
         G_CALLBACK(gnc_plugin_page_budget_cmd_view_options)
     },
     {
-        "EstimateBudgetAction", "system-run", N_("Esti_mate Budget..."),
+        "EstimateBudgetAction", "system-run", N_("Esti_mate Budget…"),
         NULL,
         N_("Estimate a budget value for the selected accounts from past transactions."),
         G_CALLBACK(gnc_plugin_page_budget_cmd_estimate_budget)
     },
     {
-        "AllPeriodsBudgetAction", "system-run", N_("_All Periods..."),
+        "AllPeriodsBudgetAction", "system-run", N_("_All Periods…"),
         NULL,
         N_("Edit budget for all periods for the selected accounts."),
         G_CALLBACK(gnc_plugin_page_budget_cmd_allperiods_budget)
@@ -190,7 +190,7 @@ static GtkActionEntry gnc_plugin_page_budget_actions [] =
     },
     /* View menu */
     {
-        "ViewFilterByAction", NULL, N_("_Filter By..."), NULL, NULL,
+        "ViewFilterByAction", NULL, N_("_Filter By…"), NULL, NULL,
         G_CALLBACK(gnc_plugin_page_budget_cmd_view_filter_by)
     },
     {
diff --git a/gnucash/gnome/gnc-plugin-page-invoice.c b/gnucash/gnome/gnc-plugin-page-invoice.c
index 596b46900..a0e5b847e 100644
--- a/gnucash/gnome/gnc-plugin-page-invoice.c
+++ b/gnucash/gnome/gnc-plugin-page-invoice.c
@@ -110,7 +110,7 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
 
     /* File menu */
     {
-        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account..."), NULL,
+        "FileNewAccountAction", GNC_ICON_NEW_ACCOUNT, N_("New _Account…"), NULL,
         N_("Create a new account"),
         G_CALLBACK (gnc_plugin_page_invoice_cmd_new_account)
     },
@@ -218,7 +218,7 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
         G_CALLBACK (gnc_plugin_page_invoice_cmd_new_invoice)
     },
     {
-        "BusinessLinkAction", NULL, "_Manage Document Link...", NULL,
+        "BusinessLinkAction", NULL, "_Manage Document Link…", NULL,
         "Manage link of an external document to this item.",
         G_CALLBACK (gnc_plugin_page_invoice_cmd_link)
     },
@@ -300,7 +300,7 @@ static action_toolbar_labels invoice_action_labels[] =
     {"EditUnpostInvoiceAction", N_("_Unpost Invoice")},
     {"BusinessNewInvoiceAction", N_("New _Invoice")},
     {"ToolsProcessPaymentAction", N_("_Pay Invoice")},
-    {"BusinessLinkAction", N_("_Manage Document Link...")},
+    {"BusinessLinkAction", N_("_Manage Document Link…")},
     {"BusinessLinkOpenAction", N_("_Open Linked Document")},
     {NULL, NULL},
 };
@@ -321,7 +321,7 @@ static action_toolbar_labels bill_action_labels[] =
     {"EditUnpostInvoiceAction", N_("_Unpost Bill")},
     {"BusinessNewInvoiceAction", N_("New _Bill")},
     {"ToolsProcessPaymentAction", N_("_Pay Bill")},
-    {"BusinessLinkAction", N_("_Manage Document Link...")},
+    {"BusinessLinkAction", N_("_Manage Document Link…")},
     {"BusinessLinkOpenAction", N_("_Open Linked Document")},
     {NULL, NULL},
 };
@@ -342,7 +342,7 @@ static action_toolbar_labels voucher_action_labels[] =
     {"EditUnpostInvoiceAction", N_("_Unpost Voucher")},
     {"BusinessNewInvoiceAction", N_("New _Voucher")},
     {"ToolsProcessPaymentAction", N_("_Pay Voucher")},
-    {"BusinessLinkAction", N_("_Manage Document Link...")},
+    {"BusinessLinkAction", N_("_Manage Document Link…")},
     {"BusinessLinkOpenAction", N_("_Open Linked Document")},
     {NULL, NULL},
 };
@@ -363,7 +363,7 @@ static action_toolbar_labels creditnote_action_labels[] =
     {"EditUnpostInvoiceAction", N_("_Unpost Credit Note")},
     {"BusinessNewInvoiceAction", N_("New _Credit Note")},
     {"ToolsProcessPaymentAction", N_("_Pay Credit Note")},
-    {"BusinessLinkAction", N_("_Manage Document Link...")},
+    {"BusinessLinkAction", N_("_Manage Document Link…")},
     {"BusinessLinkOpenAction", N_("_Open Linked Document")},
     {NULL, NULL},
 };
@@ -442,7 +442,7 @@ static action_toolbar_labels creditnote_action_tooltips[] = {
     {"BlankEntryAction", N_("Move to the blank entry at the bottom of the credit note")},
     {"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this credit note") },
     {"ReportsCompanyReportAction", N_("Open a company report window for the owner of this credit note") },
-    {"BusinessLinkAction", N_("Manage Document Link...")},
+    {"BusinessLinkAction", N_("Manage Document Link…")},
     {"BusinessLinkOpenAction", N_("Open Linked Document")},
     {NULL, NULL},
 };
@@ -1155,13 +1155,13 @@ gnc_plugin_page_invoice_cmd_sort_changed (GtkAction *action,
 
     ENTER("(action %p, radio action %p, plugin_page %p)",
           action, current, plugin_page);
-    LEAVE("g_return testing...");
+    LEAVE("g_return testing…");
 
     g_return_if_fail(GTK_IS_ACTION(action));
     g_return_if_fail(GTK_IS_RADIO_ACTION(current));
     g_return_if_fail(GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page));
 
-    ENTER("...passed (action %p, radio action %p, plugin_page %p)",
+    ENTER("…passed (action %p, radio action %p, plugin_page %p)",
           action, current, plugin_page);
     priv = GNC_PLUGIN_PAGE_INVOICE_GET_PRIVATE(plugin_page);
     value = gtk_radio_action_get_current_value(current);
diff --git a/gnucash/gnome/gnc-plugin-page-owner-tree.c b/gnucash/gnome/gnc-plugin-page-owner-tree.c
index 7fde41a60..056d86163 100644
--- a/gnucash/gnome/gnc-plugin-page-owner-tree.c
+++ b/gnucash/gnome/gnc-plugin-page-owner-tree.c
@@ -159,24 +159,24 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_edit_owner)
     },
     {
-        "OTNewVendorAction", GNC_ICON_NEW_ACCOUNT, N_("_New Vendor..."), NULL,
+        "OTNewVendorAction", GNC_ICON_NEW_ACCOUNT, N_("_New Vendor…"), NULL,
         N_("Create a new vendor"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
     {
-        "OTNewCustomerAction", GNC_ICON_NEW_ACCOUNT, N_("_New Customer..."), NULL,
+        "OTNewCustomerAction", GNC_ICON_NEW_ACCOUNT, N_("_New Customer…"), NULL,
         N_("Create a new customer"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
     {
-        "OTNewEmployeeAction", GNC_ICON_NEW_ACCOUNT, N_("_New Employee..."), NULL,
+        "OTNewEmployeeAction", GNC_ICON_NEW_ACCOUNT, N_("_New Employee…"), NULL,
         N_("Create a new employee"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_owner)
     },
 
 #if 0 /* Disabled due to crash */
     {
-        "EditDeleteOwnerAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Owner..."), "Delete",
+        "EditDeleteOwnerAction", GNC_ICON_DELETE_ACCOUNT, N_("_Delete Owner…"), "Delete",
         N_("Delete selected owner"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_delete_owner)
     },
@@ -184,7 +184,7 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
 
     /* View menu */
     {
-        "ViewFilterByAction", NULL, N_("_Filter By..."), NULL, NULL,
+        "ViewFilterByAction", NULL, N_("_Filter By…"), NULL, NULL,
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_view_filter_by)
     },
     {
@@ -195,17 +195,17 @@ static GtkActionEntry gnc_plugin_page_owner_tree_actions [] =
 
     /* Business menu */
     {
-        "OTNewBillAction", GNC_ICON_INVOICE_NEW, N_("New _Bill..."), NULL,
+        "OTNewBillAction", GNC_ICON_INVOICE_NEW, N_("New _Bill…"), NULL,
         N_("Create a new bill"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
     {
-        "OTNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice..."), NULL,
+        "OTNewInvoiceAction", GNC_ICON_INVOICE_NEW, N_("New _Invoice…"), NULL,
         N_("Create a new invoice"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
     {
-        "OTNewVoucherAction", GNC_ICON_INVOICE_NEW, N_("New _Voucher..."), NULL,
+        "OTNewVoucherAction", GNC_ICON_INVOICE_NEW, N_("New _Voucher…"), NULL,
         N_("Create a new voucher"),
         G_CALLBACK (gnc_plugin_page_owner_tree_cmd_new_invoice)
     },
diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.c
index ac83bcc64..5cdadb98e 100644
--- a/gnucash/gnome/gnc-plugin-page-register.c
+++ b/gnucash/gnome/gnc-plugin-page-register.c
@@ -299,7 +299,7 @@ static GList* invoices_from_transaction (Transaction* trans);
 /* Translators: This is a menu item that opens a dialog for linking an
    external file or URL with the bill, invoice, transaction, or voucher or
    removing such an link. */
-#define LINK_TRANSACTION_LABEL           N_("_Manage Document Link...")
+#define LINK_TRANSACTION_LABEL           N_("_Manage Document Link…")
 /* Translators: This is a menu item that opens an external file or URI that may
    be linked to the current bill, invoice, transaction, or voucher using
    the operating system's default application for the file or URI mime type. */
@@ -331,7 +331,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* File menu */
 
     {
-        "FilePrintAction", "document-print", N_ ("_Print Checks..."), "<primary>p", NULL,
+        "FilePrintAction", "document-print", N_ ("_Print Checks…"), "<primary>p", NULL,
         G_CALLBACK (gnc_plugin_page_register_cmd_print_check)
     },
 
@@ -363,7 +363,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_find_account)
     },
     {
-        "EditFindTransactionsAction", "edit-find", N_ ("_Find..."), "<primary>f",
+        "EditFindTransactionsAction", "edit-find", N_ ("_Find…"), "<primary>f",
         N_ ("Find transactions with a search"),
         G_CALLBACK (gnc_plugin_page_register_cmd_find_transactions)
     },
@@ -453,11 +453,11 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* View menu */
 
     {
-        "ViewSortByAction", NULL, N_ ("_Sort By..."), NULL, NULL,
+        "ViewSortByAction", NULL, N_ ("_Sort By…"), NULL, NULL,
         G_CALLBACK (gnc_plugin_page_register_cmd_view_sort_by)
     },
     {
-        "ViewFilterByAction", NULL, N_ ("_Filter By..."), NULL, NULL,
+        "ViewFilterByAction", NULL, N_ ("_Filter By…"), NULL, NULL,
         G_CALLBACK (gnc_plugin_page_register_cmd_view_filter_by)
     },
     {
@@ -469,17 +469,17 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
     /* Actions menu */
 
     {
-        "ActionsTransferAction", GNC_ICON_TRANSFER, N_ ("_Transfer..."), "<primary>t",
+        "ActionsTransferAction", GNC_ICON_TRANSFER, N_ ("_Transfer…"), "<primary>t",
         N_ ("Transfer funds from one account to another"),
         G_CALLBACK (gnc_plugin_page_register_cmd_transfer)
     },
     {
-        "ActionsReconcileAction", "edit-select-all", N_ ("_Reconcile..."), NULL,
+        "ActionsReconcileAction", "edit-select-all", N_ ("_Reconcile…"), NULL,
         N_ ("Reconcile the selected account"),
         G_CALLBACK (gnc_plugin_page_register_cmd_reconcile)
     },
     {
-        "ActionsAutoClearAction", "edit-select-all", N_ ("_Auto-clear..."), NULL,
+        "ActionsAutoClearAction", "edit-select-all", N_ ("_Auto-clear…"), NULL,
         N_ ("Automatically clear individual transactions, so as to reach a certain cleared amount"),
         G_CALLBACK (gnc_plugin_page_register_cmd_autoclear)
     },
@@ -489,12 +489,12 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_stock_assistant)
     },
     {
-        "ActionsStockSplitAction", NULL, N_ ("Stoc_k Split..."), NULL,
+        "ActionsStockSplitAction", NULL, N_ ("Stoc_k Split…"), NULL,
         N_ ("Record a stock split or a stock merger"),
         G_CALLBACK (gnc_plugin_page_register_cmd_stock_split)
     },
     {
-        "ActionsLotsAction", NULL, N_ ("View _Lots..."), NULL,
+        "ActionsLotsAction", NULL, N_ ("View _Lots…"), NULL,
         N_ ("Bring up the lot viewer/editor window"),
         G_CALLBACK (gnc_plugin_page_register_cmd_lots)
     },
@@ -522,7 +522,7 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
         G_CALLBACK (gnc_plugin_page_register_cmd_jump)
     },
     {
-        "ScheduleTransactionAction", GNC_ICON_SCHEDULE, N_ ("Sche_dule..."), NULL,
+        "ScheduleTransactionAction", GNC_ICON_SCHEDULE, N_ ("Sche_dule…"), NULL,
         N_ ("Create a Scheduled Transaction with the current transaction as a template"),
         G_CALLBACK (gnc_plugin_page_register_cmd_schedule)
     },
@@ -2504,7 +2504,7 @@ gnc_plugin_page_register_sort_book_option_changed (gpointer new_val,
     gnc_split_reg_set_sort_type_force (priv->gsr, priv->gsr->sort_type, TRUE);
 }
 
-/** This function is called when the "Sort By..." dialog is closed.
+/** This function is called when the "Sort By…" dialog is closed.
  *  If the dialog was closed by any method other than clicking the OK
  *  button, the original sorting order will be restored.
  *
@@ -2571,7 +2571,7 @@ gnc_plugin_page_register_sort_response_cb (GtkDialog* dialog,
 }
 
 
-/** This function is called when a radio button in the "Sort By..."
+/** This function is called when a radio button in the "Sort By…"
  *  dialog is clicked.
  *
  *  @param button The button that was toggled.
@@ -3259,7 +3259,7 @@ gnc_plugin_page_register_filter_save_cb (GtkToggleButton* button,
 }
 
 
-/** This function is called when the "Filter By..." dialog is closed.
+/** This function is called when the "Filter By…" dialog is closed.
  *  If the dialog was closed by any method other than clicking the OK
  *  button, the original sorting order will be restored.
  *
@@ -4122,7 +4122,7 @@ gnc_plugin_page_register_cmd_view_sort_by (GtkAction* action,
     gtk_window_set_transient_for (GTK_WINDOW (dialog),
                                   gnc_window_get_gtk_window (GNC_WINDOW (GNC_PLUGIN_PAGE (page)->window)));
     /* Translators: The %s is the name of the plugin page */
-    title = g_strdup_printf (_ ("Sort %s by..."),
+    title = g_strdup_printf (_ ("Sort %s by…"),
                              gnc_plugin_page_get_page_name (GNC_PLUGIN_PAGE (page)));
     gtk_window_set_title (GTK_WINDOW (dialog), title);
     g_free (title);
@@ -4210,7 +4210,7 @@ gnc_plugin_page_register_cmd_view_filter_by (GtkAction* action,
                                   gnc_window_get_gtk_window (GNC_WINDOW (GNC_PLUGIN_PAGE (page)->window)));
 
     /* Translators: The %s is the name of the plugin page */
-    title = g_strdup_printf (_ ("Filter %s by..."),
+    title = g_strdup_printf (_ ("Filter %s by…"),
                              gnc_plugin_page_get_page_name (GNC_PLUGIN_PAGE (page)));
     gtk_window_set_title (GTK_WINDOW (dialog), title);
     g_free (title);
diff --git a/gnucash/gnome/gnc-plugin-page-report.cpp b/gnucash/gnome/gnc-plugin-page-report.cpp
index 23c70a8e9..52fa4f045 100644
--- a/gnucash/gnome/gnc-plugin-page-report.cpp
+++ b/gnucash/gnome/gnc-plugin-page-report.cpp
@@ -1133,9 +1133,9 @@ static action_toolbar_labels toolbar_labels[] =
     /* Translators: This string is meant to be a short alternative for "Save Report Configuration"
        to be used as toolbar button label. */
     { "ReportSaveAction", N_("Save Config") },
-    /* Translators: This string is meant to be a short alternative for "Save Report Configuration As..."
+    /* Translators: This string is meant to be a short alternative for "Save Report Configuration As…"
        to be used as toolbar button label. */
-    { "ReportSaveAsAction", N_("Save Config As...") },
+    { "ReportSaveAsAction", N_("Save Config As…") },
     { "FilePrintPDFAction", N_("Make Pdf") },
     { nullptr, nullptr },
 };
@@ -1196,12 +1196,12 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
     GtkActionEntry report_actions[] =
     {
         {
-            "FilePrintAction", "document-print", N_("_Print Report..."), "<primary>p",
+            "FilePrintAction", "document-print", N_("_Print Report…"), "<primary>p",
             N_("Print the current report"),
             G_CALLBACK(gnc_plugin_page_report_print_cb)
         },
         {
-            "FilePrintPDFAction", GNC_ICON_PDF_EXPORT, N_("Export as P_DF..."), nullptr,
+            "FilePrintPDFAction", GNC_ICON_PDF_EXPORT, N_("Export as P_DF…"), nullptr,
             N_("Export the current report as a PDF document"),
             G_CALLBACK(gnc_plugin_page_report_exportpdf_cb)
         },
@@ -1231,7 +1231,7 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
             report_save_str, G_CALLBACK(gnc_plugin_page_report_save_cb)
         },
         {
-            "ReportSaveAsAction", "document-save-as", N_("Save Report Configuration As..."), "<primary><alt><shift>s",
+            "ReportSaveAsAction", "document-save-as", N_("Save Report Configuration As…"), "<primary><alt><shift>s",
             report_saveas_str, G_CALLBACK(gnc_plugin_page_report_save_as_cb)
         },
         {
diff --git a/gnucash/gnome/window-reconcile.c b/gnucash/gnome/window-reconcile.c
index bf1a41b80..24a52143c 100644
--- a/gnucash/gnome/window-reconcile.c
+++ b/gnucash/gnome/window-reconcile.c
@@ -790,9 +790,9 @@ startRecnWindow(GtkWidget *parent, Account *account,
          */
         interest = GTK_WIDGET(gtk_builder_get_object (builder, "interest_button"));
         if ( account_type_has_auto_interest_payment( data.account_type ) )
-            gtk_button_set_label(GTK_BUTTON(interest), _("Enter _Interest Payment...") );
+            gtk_button_set_label(GTK_BUTTON(interest), _("Enter _Interest Payment…") );
         else if ( account_type_has_auto_interest_charge( data.account_type ) )
-            gtk_button_set_label(GTK_BUTTON(interest), _("Enter _Interest Charge...") );
+            gtk_button_set_label(GTK_BUTTON(interest), _("Enter _Interest Charge…") );
         else
         {
             gtk_widget_destroy(interest);
@@ -2393,7 +2393,7 @@ static GtkActionEntry recnWindow_actions [] =
     /* Reconcile menu */
 
     {
-        "RecnChangeInfoAction", NULL, N_("_Reconcile Information..."),  NULL,
+        "RecnChangeInfoAction", NULL, N_("_Reconcile Information…"),  NULL,
         N_("Change the reconcile information "
         "including statement date and ending balance."),
         G_CALLBACK (gnc_ui_reconcile_window_change_cb)
@@ -2427,7 +2427,7 @@ static GtkActionEntry recnWindow_actions [] =
         G_CALLBACK(gnc_recn_edit_account_cb)
     },
     {
-        "AccountTransferAction", NULL, N_("_Transfer..."), NULL,
+        "AccountTransferAction", NULL, N_("_Transfer…"), NULL,
         N_("Transfer funds from one account to another"),
         G_CALLBACK(gnc_recn_xfer_cb)
     },
diff --git a/gnucash/gnucash.cpp b/gnucash/gnucash.cpp
index 541fca5e7..ea72ab4c1 100644
--- a/gnucash/gnucash.cpp
+++ b/gnucash/gnucash.cpp
@@ -173,7 +173,7 @@ scm_run_gnucash (void *data, [[maybe_unused]] int argc, [[maybe_unused]] char **
 
     try
     {
-        const auto checking = _("Checking Finance::Quote...");
+        const auto checking = _("Checking Finance::Quote…");
         gnc_update_splash_screen (checking, GNC_SPLASH_PERCENTAGE_UNKNOWN);
         GncQuotes quotes;
         auto found = (bl::format (std::string{_("Found Finance::Quote version {1}.")}) % quotes.version()).str();
@@ -195,7 +195,7 @@ scm_run_gnucash (void *data, [[maybe_unused]] int argc, [[maybe_unused]] char **
     char* fn = nullptr;
     if (!user_file_spec->nofile && (fn = get_file_to_load (user_file_spec->file_to_load)) && *fn )
     {
-        auto msg = _("Loading data...");
+        auto msg = _("Loading data…");
         gnc_update_splash_screen (msg, GNC_SPLASH_PERCENTAGE_UNKNOWN);
         gnc_file_open_file(gnc_get_splash_screen(), fn, /*open_readonly*/ FALSE);
         g_free(fn);
diff --git a/gnucash/gschemas/org.gnucash.GnuCash.dialogs.checkprinting.gschema.xml.in b/gnucash/gschemas/org.gnucash.GnuCash.dialogs.checkprinting.gschema.xml.in
index 2cb7811ae..74e0b4ec3 100644
--- a/gnucash/gschemas/org.gnucash.GnuCash.dialogs.checkprinting.gschema.xml.in
+++ b/gnucash/gschemas/org.gnucash.GnuCash.dialogs.checkprinting.gschema.xml.in
@@ -28,7 +28,7 @@
     <key name="custom-units" type="i">
       <default>0</default>
       <summary>Units in which the custom coordinates are expressed</summary>
-      <description>Units in which the custom coordinates are expressed (inches, mm, ...).</description>
+      <description>Units in which the custom coordinates are expressed (inches, mm, …).</description>
     </key>
     <key name="custom-payee" type="(dd)">
       <default>(0,0)</default>
diff --git a/gnucash/gtkbuilder/assistant-csv-account-import.glade b/gnucash/gtkbuilder/assistant-csv-account-import.glade
index d1e6184c4..76a2842f3 100644
--- a/gnucash/gtkbuilder/assistant-csv-account-import.glade
+++ b/gnucash/gtkbuilder/assistant-csv-account-import.glade
@@ -64,7 +64,7 @@ Click on "Next" to proceed or "Cancel" to Abort Import.
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes">
-Enter file name and location for the Import...
+Enter file name and location for the Import…
 </property>
             <property name="wrap">True</property>
           </object>
diff --git a/gnucash/gtkbuilder/assistant-csv-export.glade b/gnucash/gtkbuilder/assistant-csv-export.glade
index 58893a08b..549635daa 100644
--- a/gnucash/gtkbuilder/assistant-csv-export.glade
+++ b/gnucash/gtkbuilder/assistant-csv-export.glade
@@ -685,7 +685,7 @@ Select the type of Export required and the separator that will be used.
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes">
-Enter file name and location for the Export...
+Enter file name and location for the Export…
 </property>
             <property name="wrap">True</property>
           </object>
@@ -711,7 +711,7 @@ Cancel to abort.</property>
       </object>
       <packing>
         <property name="page-type">confirm</property>
-        <property name="title" translatable="yes">Export Now...</property>
+        <property name="title" translatable="yes">Export Now…</property>
         <property name="has-padding">False</property>
       </packing>
     </child>
diff --git a/gnucash/gtkbuilder/assistant-csv-price-import.glade b/gnucash/gtkbuilder/assistant-csv-price-import.glade
index 7f5a94f96..2b11c57b6 100644
--- a/gnucash/gtkbuilder/assistant-csv-price-import.glade
+++ b/gnucash/gtkbuilder/assistant-csv-price-import.glade
@@ -85,7 +85,7 @@ Click on "Next" to proceed or "Cancel" to Abort Import.</property>
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes">
-Select location and file name for the Import, then click "OK"...
+Select location and file name for the Import, then click "OK"…
 </property>
             <property name="wrap">True</property>
           </object>
@@ -727,8 +727,8 @@ There are two reserved names which can't be used to save custom settings:
                         <property name="receives-default">False</property>
                         <property name="tooltip-text" translatable="yes">Starting from the first line that is actually imported every second line will be skipped. This option will take the leading lines to skip into account as well.
 For example
-* if "Leading Lines to Skip" is set to 3, the first line to import will be line 4. Lines 5, 7, 9,... will be skipped.
-* if "Leading Lines to Skip" is set to 4, the first line to import will be line 5. Lines 6, 8, 10,... will be skipped.</property>
+* if "Leading Lines to Skip" is set to 3, the first line to import will be line 4. Lines 5, 7, 9,… will be skipped.
+* if "Leading Lines to Skip" is set to 4, the first line to import will be line 5. Lines 6, 8, 10,… will be skipped.</property>
                         <property name="halign">start</property>
                         <property name="draw-indicator">True</property>
                         <signal name="toggled" handler="csv_price_imp_preview_skiprows_cb" swapped="no"/>
diff --git a/gnucash/gtkbuilder/assistant-csv-trans-import.glade b/gnucash/gtkbuilder/assistant-csv-trans-import.glade
index bd58e6ef0..ee898ab61 100644
--- a/gnucash/gtkbuilder/assistant-csv-trans-import.glade
+++ b/gnucash/gtkbuilder/assistant-csv-trans-import.glade
@@ -75,7 +75,7 @@ Lastly, for repeated imports the preview page has buttons to Load and Save the s
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes">
-Select location and file name for the Import, then click "OK"...
+Select location and file name for the Import, then click "OK"…
 </property>
             <property name="wrap">True</property>
           </object>
@@ -745,8 +745,8 @@ To know which lines belong to the same transaction, the importer will compare th
                             <property name="receives-default">False</property>
                             <property name="tooltip-text" translatable="yes">Starting from the first line that is actually imported every second line will be skipped. This option will take the leading lines to skip into account as well.
 For example
-* if 'Leading Lines to Skip' is set to 3, the first line to import will be line 4. Lines 5, 7, 9,... will be skipped.
-* if 'Leading Lines to Skip' is set to 4, the first line to import will be line 5. Lines 6, 8, 10,... will be skipped.</property>
+* if 'Leading Lines to Skip' is set to 3, the first line to import will be line 4. Lines 5, 7, 9,… will be skipped.
+* if 'Leading Lines to Skip' is set to 4, the first line to import will be line 5. Lines 6, 8, 10,… will be skipped.</property>
                             <property name="halign">start</property>
                             <property name="draw-indicator">True</property>
                             <signal name="toggled" handler="csv_tximp_preview_skiprows_cb" swapped="no"/>
@@ -1016,7 +1016,7 @@ For example
             </child>
             <child>
               <object class="GtkButton" id="account_match_change">
-                <property name="label" translatable="yes">Change GnuCash _Account...</property>
+                <property name="label" translatable="yes">Change GnuCash _Account…</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="receives-default">True</property>
diff --git a/gnucash/gtkbuilder/assistant-loan.glade b/gnucash/gtkbuilder/assistant-loan.glade
index 7564c674c..af306879f 100644
--- a/gnucash/gtkbuilder/assistant-loan.glade
+++ b/gnucash/gtkbuilder/assistant-loan.glade
@@ -449,7 +449,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
             <property name="halign">center</property>
             <property name="margin-bottom">12</property>
             <property name="label" translatable="yes">
-Do you utilise an escrow account, if so an account must be specified...</property>
+Do you utilise an escrow account, if so an account must be specified…</property>
             <property name="justify">center</property>
             <property name="wrap">True</property>
           </object>
@@ -468,7 +468,7 @@ Do you utilise an escrow account, if so an account must be specified...</propert
             <property name="orientation">vertical</property>
             <child>
               <object class="GtkCheckButton" id="opt_escrow_cb">
-                <property name="label" translatable="yes">... utilize an escrow account for payments?</property>
+                <property name="label" translatable="yes">… utilize an escrow account for payments?</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="receives-default">False</property>
diff --git a/gnucash/gtkbuilder/assistant-qif-import.glade b/gnucash/gtkbuilder/assistant-qif-import.glade
index 68012c759..e5f309b5a 100644
--- a/gnucash/gtkbuilder/assistant-qif-import.glade
+++ b/gnucash/gtkbuilder/assistant-qif-import.glade
@@ -83,7 +83,7 @@ You will have the opportunity to load as many files as you wish, so don't worry
             </child>
             <child>
               <object class="GtkButton" id="button71">
-                <property name="label" translatable="yes">_Select...</property>
+                <property name="label" translatable="yes">_Select…</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="receives-default">True</property>
@@ -600,7 +600,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
             </child>
             <child>
               <object class="GtkButton" id="account_page_change">
-                <property name="label" translatable="yes">Change GnuCash _Account...</property>
+                <property name="label" translatable="yes">Change GnuCash _Account…</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can-focus">True</property>
@@ -731,7 +731,7 @@ If you change your mind later, you can reorganize the account structure safely w
             </child>
             <child>
               <object class="GtkButton" id="category_page_change">
-                <property name="label" translatable="yes">Change GnuCash _Account...</property>
+                <property name="label" translatable="yes">Change GnuCash _Account…</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can-focus">True</property>
@@ -860,7 +860,7 @@ In the following page, you will see the text that appears in the Payee and Memo
             </child>
             <child>
               <object class="GtkButton" id="memo_page_change">
-                <property name="label" translatable="yes">Change GnuCash _Account...</property>
+                <property name="label" translatable="yes">Change GnuCash _Account…</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can-focus">True</property>
@@ -1005,7 +1005,7 @@ If you don't see your exchange listed, or none of the available choices are appr
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Enter Information about...</property>
+                <property name="label" translatable="yes">Enter Information about…</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -1031,7 +1031,7 @@ If you don't see your exchange listed, or none of the available choices are appr
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">All fields must be complete to continue...</property>
+                <property name="label" translatable="yes">All fields must be complete to continue…</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/business-prefs.glade b/gnucash/gtkbuilder/business-prefs.glade
index fcda11234..4e2664af5 100644
--- a/gnucash/gtkbuilder/business-prefs.glade
+++ b/gnucash/gtkbuilder/business-prefs.glade
@@ -190,7 +190,7 @@
         </child>
         <child>
           <object class="GtkCheckButton" id="pref/dialogs.business.invoice/auto-pay">
-            <property name="label" translatable="yes" comments="See the tooltip "At post time..." for details.">_Process payments on posting</property>
+            <property name="label" translatable="yes" comments="See the tooltip "At post time…" for details.">_Process payments on posting</property>
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="receives-default">False</property>
@@ -267,7 +267,7 @@
         </child>
         <child>
           <object class="GtkCheckButton" id="pref/dialogs.business.bill/auto-pay">
-            <property name="label" translatable="yes" comments="See the tooltip "At post time..." for details.">Pro_cess payments on posting</property>
+            <property name="label" translatable="yes" comments="See the tooltip "At post time…" for details.">Pro_cess payments on posting</property>
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="receives-default">False</property>
diff --git a/gnucash/gtkbuilder/dialog-account.glade b/gnucash/gtkbuilder/dialog-account.glade
index 3447f545e..9c4b93d32 100644
--- a/gnucash/gtkbuilder/dialog-account.glade
+++ b/gnucash/gtkbuilder/dialog-account.glade
@@ -798,7 +798,7 @@
   <object class="GtkDialog" id="account_filter_by_dialog">
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
-    <property name="title" translatable="yes">Filter By...</property>
+    <property name="title" translatable="yes">Filter By…</property>
     <property name="type-hint">dialog</property>
     <signal name="response" handler="gppat_filter_response_cb" swapped="no"/>
     <child internal-child="vbox">
@@ -1469,7 +1469,7 @@
                             <property name="visible">True</property>
                             <property name="can-focus">True</property>
                             <property name="receives-default">False</property>
-                            <property name="tooltip-text" translatable="yes">This account (and any sub-accounts) will be hidden in the account tree and will not appear in the popup account list in the register. To reset this option, you will first need to open the "Filter By..." dialog for the account tree and check the "show hidden accounts" option. Doing so will allow you to select the account and reopen this dialog.</property>
+                            <property name="tooltip-text" translatable="yes">This account (and any sub-accounts) will be hidden in the account tree and will not appear in the popup account list in the register. To reset this option, you will first need to open the "Filter By…" dialog for the account tree and check the "show hidden accounts" option. Doing so will allow you to select the account and reopen this dialog.</property>
                             <property name="halign">start</property>
                             <property name="use-underline">True</property>
                             <property name="draw-indicator">True</property>
diff --git a/gnucash/gtkbuilder/dialog-commodity.glade b/gnucash/gtkbuilder/dialog-commodity.glade
index b1350b2d0..2926211da 100644
--- a/gnucash/gtkbuilder/dialog-commodity.glade
+++ b/gnucash/gtkbuilder/dialog-commodity.glade
@@ -710,7 +710,7 @@
               <object class="GtkLabel" id="select_user_prompt">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
-                <property name="label" translatable="yes">Select user information here...</property>
+                <property name="label" translatable="yes">Select user information here…</property>
                 <property name="justify">center</property>
               </object>
               <packing>
diff --git a/gnucash/gtkbuilder/dialog-import.glade b/gnucash/gtkbuilder/dialog-import.glade
index 0fda9707a..966295191 100644
--- a/gnucash/gtkbuilder/dialog-import.glade
+++ b/gnucash/gtkbuilder/dialog-import.glade
@@ -26,7 +26,7 @@
             <property name="layout-style">end</property>
             <child>
               <object class="GtkButton" id="newbutton">
-                <property name="label" translatable="yes">New _Account...</property>
+                <property name="label" translatable="yes">New _Account…</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="can-default">True</property>
@@ -96,7 +96,7 @@
           <object class="GtkLabel" id="online_id_label">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="label" translatable="yes">Online account ID here...</property>
+            <property name="label" translatable="yes">Online account ID here…</property>
             <property name="justify">center</property>
           </object>
           <packing>
diff --git a/gnucash/gtkbuilder/dialog-progress.glade b/gnucash/gtkbuilder/dialog-progress.glade
index 2fb296b32..30a9900e7 100644
--- a/gnucash/gtkbuilder/dialog-progress.glade
+++ b/gnucash/gtkbuilder/dialog-progress.glade
@@ -9,7 +9,7 @@
     <property name="visible">True</property>
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
-    <property name="title" translatable="yes">Working...</property>
+    <property name="title" translatable="yes">Working…</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
     <property name="type-hint">dialog</property>
diff --git a/gnucash/gtkbuilder/dialog-report.glade b/gnucash/gtkbuilder/dialog-report.glade
index ab8b3b095..2aaadbd22 100644
--- a/gnucash/gtkbuilder/dialog-report.glade
+++ b/gnucash/gtkbuilder/dialog-report.glade
@@ -186,7 +186,7 @@
             </child>
             <child>
               <object class="GtkButton" id="size_button1">
-                <property name="label" translatable="yes">Si_ze...</property>
+                <property name="label" translatable="yes">Si_ze…</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can-focus">True</property>
diff --git a/gnucash/gtkbuilder/dialog-search.glade b/gnucash/gtkbuilder/dialog-search.glade
index 5cf7bddb3..4323fb1b4 100644
--- a/gnucash/gtkbuilder/dialog-search.glade
+++ b/gnucash/gtkbuilder/dialog-search.glade
@@ -34,7 +34,7 @@
             </child>
             <child>
               <object class="GtkButton" id="new_item_button">
-                <property name="label" translatable="yes">_New item...</property>
+                <property name="label" translatable="yes">_New item…</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="can-default">True</property>
diff --git a/gnucash/gtkbuilder/dialog-sx.glade b/gnucash/gtkbuilder/dialog-sx.glade
index deffc4dc0..9b81d48e4 100644
--- a/gnucash/gtkbuilder/dialog-sx.glade
+++ b/gnucash/gtkbuilder/dialog-sx.glade
@@ -156,7 +156,7 @@
             <property name="layout-style">end</property>
             <child>
               <object class="GtkButton" id="advanced_button">
-                <property name="label" translatable="yes">Advanced...</property>
+                <property name="label" translatable="yes">Advanced…</property>
                 <property name="visible">True</property>
                 <property name="can-focus">True</property>
                 <property name="can-default">True</property>
@@ -1473,7 +1473,7 @@
   </object>
   <object class="GtkDialog" id="since_last_run_dialog">
     <property name="can-focus">False</property>
-    <property name="title" translatable="yes">Since Last Run...</property>
+    <property name="title" translatable="yes">Since Last Run…</property>
     <property name="window-position">center-on-parent</property>
     <property name="default-width">640</property>
     <property name="default-height">480</property>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
index 8c05ab779..5a75b0593 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
@@ -672,7 +672,7 @@
           <object class="GtkLabel" id="budget_note">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="label" translatable="yes">Note: Use View->'Filter By...' to control visible accounts.</property>
+            <property name="label" translatable="yes">Note: Use View->'Filter By…' to control visible accounts.</property>
           </object>
           <packing>
             <property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register.glade b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
index 96ab4efe2..939a0f8fa 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-register.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
@@ -10,7 +10,7 @@
   <object class="GtkDialog" id="filter_by_dialog">
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
-    <property name="title" translatable="yes" comments="Filter register by... Dialog">Filter register by...</property>
+    <property name="title" translatable="yes" comments="Filter register by… Dialog">Filter register by…</property>
     <property name="resizable">False</property>
     <property name="destroy-with-parent">True</property>
     <property name="type-hint">dialog</property>
@@ -767,7 +767,7 @@ If 0, all previous days included</property>
   <object class="GtkDialog" id="sort_by_dialog">
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
-    <property name="title" translatable="yes" comments="Sort register by Dialog">Sort register by...</property>
+    <property name="title" translatable="yes" comments="Sort register by Dialog">Sort register by…</property>
     <property name="resizable">False</property>
     <property name="window-position">center-on-parent</property>
     <property name="type-hint">dialog</property>
diff --git a/gnucash/gtkbuilder/gnc-tree-view-owner.glade b/gnucash/gtkbuilder/gnc-tree-view-owner.glade
index cc2cbe8b7..b10b61955 100644
--- a/gnucash/gtkbuilder/gnc-tree-view-owner.glade
+++ b/gnucash/gtkbuilder/gnc-tree-view-owner.glade
@@ -5,7 +5,7 @@
   <object class="GtkDialog" id="filter_by_dialog">
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
-    <property name="title" translatable="yes">Filter By...</property>
+    <property name="title" translatable="yes">Filter By…</property>
     <property name="type-hint">dialog</property>
     <signal name="response" handler="gppot_filter_response_cb" swapped="no"/>
     <child internal-child="vbox">
diff --git a/gnucash/gtkbuilder/window-reconcile.glade b/gnucash/gtkbuilder/window-reconcile.glade
index a0b50d9dd..55ec22719 100644
--- a/gnucash/gtkbuilder/window-reconcile.glade
+++ b/gnucash/gtkbuilder/window-reconcile.glade
@@ -212,7 +212,7 @@
                 <property name="can-focus">False</property>
                 <child>
                   <object class="GtkButton" id="interest_button">
-                    <property name="label" translatable="yes">Enter _Interest Payment...</property>
+                    <property name="label" translatable="yes">Enter _Interest Payment…</property>
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="receives-default">False</property>
diff --git a/gnucash/import-export/aqb/gnc-plugin-aqbanking.c b/gnucash/import-export/aqb/gnc-plugin-aqbanking.c
index 1cbfc7ac0..b46411a0d 100644
--- a/gnucash/import-export/aqb/gnc-plugin-aqbanking.c
+++ b/gnucash/import-export/aqb/gnc-plugin-aqbanking.c
@@ -90,7 +90,7 @@ static GtkActionEntry gnc_plugin_actions [] =
 
     /* Menu Items */
     {
-        "ABSetupAction", NULL, N_("_Online Banking Setup..."), NULL,
+        "ABSetupAction", NULL, N_("_Online Banking Setup…"), NULL,
         N_("Initial setup of Online Banking access (HBCI, or OFX DirectConnect, using AqBanking)"),
         G_CALLBACK(gnc_plugin_ab_cmd_setup)
     },
@@ -100,30 +100,30 @@ static GtkActionEntry gnc_plugin_actions [] =
         G_CALLBACK(gnc_plugin_ab_cmd_get_balance)
     },
     {
-        "ABGetTransAction", NULL, N_("Get _Transactions..."), NULL,
+        "ABGetTransAction", NULL, N_("Get _Transactions…"), NULL,
         N_("Get the transactions online through Online Banking"),
         G_CALLBACK(gnc_plugin_ab_cmd_get_transactions)
     },
     {
         "ABIssueSepaTransAction", NULL,
 		/* Translators: https://en.wikipedia.org/wiki/Single_Euro_Payments_Area */
-		N_("Issue _SEPA Transaction..."), NULL,
+		N_("Issue _SEPA Transaction…"), NULL,
         N_("Issue a new international European (SEPA) transaction online through Online Banking"),
         G_CALLBACK(gnc_plugin_ab_cmd_issue_sepatransaction)
     },
     {
         "ABIssueSepaIntTransAction", NULL,
-        N_("Issue SEPA I_nternal Transaction..."), NULL,
+        N_("Issue SEPA I_nternal Transaction…"), NULL,
         N_("Issue a new internal European (SEPA) transaction online through Online Banking"),
         G_CALLBACK(gnc_plugin_ab_cmd_issue_sepainternaltransaction)
     },
     {
-        "ABIssueIntTransAction", NULL, N_("_Internal Transaction..."), NULL,
+        "ABIssueIntTransAction", NULL, N_("_Internal Transaction…"), NULL,
         N_("Issue a new bank-internal transaction online through Online Banking"),
         G_CALLBACK(gnc_plugin_ab_cmd_issue_inttransaction)
     },
     {
-        "ABIssueSepaDirectDebitAction", NULL, N_("Issue SEPA Direct _Debit..."), NULL,
+        "ABIssueSepaDirectDebitAction", NULL, N_("Issue SEPA Direct _Debit…"), NULL,
         N_("Issue a new international European (SEPA) direct debit note online through Online Banking"),
         G_CALLBACK(gnc_plugin_ab_cmd_issue_sepa_direct_debit)
     },
diff --git a/gnucash/import-export/bi-import/dialog-bi-import.c b/gnucash/import-export/bi-import/dialog-bi-import.c
index 03003e153..b004064f3 100644
--- a/gnucash/import-export/bi-import/dialog-bi-import.c
+++ b/gnucash/import-export/bi-import/dialog-bi-import.c
@@ -294,7 +294,7 @@ gnc_bi_import_fix_bis (GtkListStore * store, guint * n_rows_fixed, guint * n_row
     ignore_invoice = FALSE;
     on_first_row_of_invoice = TRUE;
     
-    g_string_append_printf (info, _("Validation...\n") );
+    g_string_append_printf (info, _("Validation…\n") );
 
     // Walk through the list, reading each row.
     valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
@@ -644,7 +644,7 @@ gnc_bi_import_create_bis (GtkListStore * store, QofBook * book,
     on_first_row_of_invoice = TRUE;
     running_id = g_string_new("");
     
-    g_string_append_printf (info, _("\nProcessing...\n") );
+    g_string_append_printf (info, _("\nProcessing…\n") );
     
     valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
     while (valid)
diff --git a/gnucash/import-export/bi-import/gnc-plugin-bi-import.c b/gnucash/import-export/bi-import/gnc-plugin-bi-import.c
index 38dcb4f2c..7bef0c3e1 100644
--- a/gnucash/import-export/bi-import/gnc-plugin-bi-import.c
+++ b/gnucash/import-export/bi-import/gnc-plugin-bi-import.c
@@ -55,7 +55,7 @@ static GtkActionEntry gnc_plugin_actions [] =
 {
     /* Menu Items */
     { "ImportMenuAction", NULL, N_("_Import"), NULL, NULL, NULL },
-    { "bi_importAction", "go-previous", N_("Import Bills & _Invoices..."), NULL, N_("Import bills and invoices from a CSV text file"),  G_CALLBACK(gnc_plugin_bi_import_cmd_test) },
+    { "bi_importAction", "go-previous", N_("Import Bills & _Invoices…"), NULL, N_("Import bills and invoices from a CSV text file"),  G_CALLBACK(gnc_plugin_bi_import_cmd_test) },
 };
 static guint gnc_plugin_n_actions = G_N_ELEMENTS(gnc_plugin_actions);
 
diff --git a/gnucash/import-export/csv-exp/gnc-plugin-csv-export.c b/gnucash/import-export/csv-exp/gnc-plugin-csv-export.c
index 8894a4cf2..830e5d798 100644
--- a/gnucash/import-export/csv-exp/gnc-plugin-csv-export.c
+++ b/gnucash/import-export/csv-exp/gnc-plugin-csv-export.c
@@ -48,17 +48,17 @@ static void gnc_plugin_csv_export_register_cmd (GtkAction *action, GncMainWindow
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "CsvExportTreeAction", "go-next", N_("Export Account T_ree to CSV..."), NULL,
+        "CsvExportTreeAction", "go-next", N_("Export Account T_ree to CSV…"), NULL,
         N_("Export the Account Tree to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_tree_cmd)
     },
     {
-        "CsvExportTransAction", "go-next", N_("Export _Transactions to CSV..."), NULL,
+        "CsvExportTransAction", "go-next", N_("Export _Transactions to CSV…"), NULL,
         N_("Export the Transactions to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_trans_cmd)
     },
     {
-        "CsvExportRegisterAction", "go-next", N_("Export A_ctive Register to CSV...")
+        "CsvExportRegisterAction", "go-next", N_("Export A_ctive Register to CSV…")
 	/* _A is already used by Export Accounts */, NULL,
         N_("Export the Active Register to a CSV file"),
         G_CALLBACK (gnc_plugin_csv_export_register_cmd)
diff --git a/gnucash/import-export/csv-imp/assistant-csv-account-import.c b/gnucash/import-export/csv-imp/assistant-csv-account-import.c
index ebb68fd1d..5737570c0 100644
--- a/gnucash/import-export/csv-imp/assistant-csv-account-import.c
+++ b/gnucash/import-export/csv-imp/assistant-csv-account-import.c
@@ -456,7 +456,7 @@ csv_import_assistant_summary_page_prepare (GtkAssistant *assistant,
 
         buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(info->summary_error_view));
         text = g_strdup_printf (gettext ("Import completed but with errors!\n\nThe number of Accounts added was %u and "
-                                        "%u were updated.\n\nSee below for errors..."), info->num_new, info->num_updates);
+                                        "%u were updated.\n\nSee below for errors…"), info->num_new, info->num_updates);
         errtext = g_strdup_printf ("%s", info->error);
         gtk_text_buffer_set_text (buffer, errtext, -1);
         g_free (errtext);
diff --git a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
index 983ee7f51..1b0f48958 100644
--- a/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
+++ b/gnucash/import-export/csv-imp/assistant-csv-trans-import.cpp
@@ -1972,7 +1972,7 @@ CsvImpTransAssist::assist_account_match_page_prepare ()
     gnc_csv_account_map_load_mappings (store);
 
     auto text = std::string ("<span size=\"medium\" color=\"red\"><b>");
-    text += _("To change mapping, double click on a row or select a row and press the button...");
+    text += _("To change mapping, double click on a row or select a row and press the button…");
     text += "</b></span>";
     gtk_label_set_markup (GTK_LABEL(account_match_label), text.c_str());
 
diff --git a/gnucash/import-export/csv-imp/gnc-plugin-csv-import.c b/gnucash/import-export/csv-imp/gnc-plugin-csv-import.c
index 11a031157..43af062f3 100644
--- a/gnucash/import-export/csv-imp/gnc-plugin-csv-import.c
+++ b/gnucash/import-export/csv-imp/gnc-plugin-csv-import.c
@@ -47,17 +47,17 @@ static void gnc_plugin_csv_import_price_cmd (GtkAction *action, GncMainWindowAct
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "CsvImportAccountAction", "go-previous", N_("Import _Accounts from CSV..."), NULL,
+        "CsvImportAccountAction", "go-previous", N_("Import _Accounts from CSV…"), NULL,
         N_("Import Accounts from a CSV file"),
         G_CALLBACK (gnc_plugin_csv_import_tree_cmd)
     },
     {
-        "CsvImportTransAction", "go-previous", N_("Import _Transactions from CSV..."), NULL,
+        "CsvImportTransAction", "go-previous", N_("Import _Transactions from CSV…"), NULL,
         N_("Import Transactions from a CSV file"),
         G_CALLBACK (gnc_plugin_csv_import_trans_cmd)
     },
     {
-        "CsvImportPriceAction", "go-previous", N_("Import _Prices from a CSV file..."), NULL,
+        "CsvImportPriceAction", "go-previous", N_("Import _Prices from a CSV file…"), NULL,
         N_("Import Prices from a CSV file"),
         G_CALLBACK (gnc_plugin_csv_import_price_cmd)
     },
diff --git a/gnucash/import-export/customer-import/gnc-plugin-customer-import.c b/gnucash/import-export/customer-import/gnc-plugin-customer-import.c
index 93449a00c..4fe42c0ed 100644
--- a/gnucash/import-export/customer-import/gnc-plugin-customer-import.c
+++ b/gnucash/import-export/customer-import/gnc-plugin-customer-import.c
@@ -56,7 +56,7 @@ static GtkActionEntry gnc_plugin_actions [] =
     /* Menu Items */
     { "ImportMenuAction", NULL, N_("_Import"), NULL, NULL, NULL },
     /* Menu entry with label and tooltip */
-    { "customer_importAction", "go-previous", N_("Import _Customers & Vendors..."), NULL, N_("Import Customers and Vendors from a CSV text file."),  G_CALLBACK(gnc_plugin_customer_import_cmd_test) },
+    { "customer_importAction", "go-previous", N_("Import _Customers & Vendors…"), NULL, N_("Import Customers and Vendors from a CSV text file."),  G_CALLBACK(gnc_plugin_customer_import_cmd_test) },
 };
 static guint gnc_plugin_n_actions = G_N_ELEMENTS(gnc_plugin_actions);
 
diff --git a/gnucash/import-export/log-replay/gnc-plugin-log-replay.c b/gnucash/import-export/log-replay/gnc-plugin-log-replay.c
index 31f980964..951b6fe8d 100644
--- a/gnucash/import-export/log-replay/gnc-plugin-log-replay.c
+++ b/gnucash/import-export/log-replay/gnc-plugin-log-replay.c
@@ -45,7 +45,7 @@ static void gnc_plugin_log_replay_cmd_new_log_replay (GtkAction *action, GncMain
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "LogReplayAction", "go-previous", N_("_Replay GnuCash .log file..."), NULL,
+        "LogReplayAction", "go-previous", N_("_Replay GnuCash .log file…"), NULL,
         N_("Replay a GnuCash log file after a crash. This cannot be undone."),
         G_CALLBACK (gnc_plugin_log_replay_cmd_new_log_replay)
     },
diff --git a/gnucash/import-export/ofx/gnc-plugin-ofx.c b/gnucash/import-export/ofx/gnc-plugin-ofx.c
index 94e7c3e4f..56e8c1273 100644
--- a/gnucash/import-export/ofx/gnc-plugin-ofx.c
+++ b/gnucash/import-export/ofx/gnc-plugin-ofx.c
@@ -43,7 +43,7 @@ static void gnc_plugin_ofx_cmd_import (GtkAction *action, GncMainWindowActionDat
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "OfxImportAction", "go-previous", N_("Import _OFX/QFX..."), NULL,
+        "OfxImportAction", "go-previous", N_("Import _OFX/QFX…"), NULL,
         N_("Process an OFX/QFX response file"),
         G_CALLBACK (gnc_plugin_ofx_cmd_import)
     },
diff --git a/gnucash/import-export/qif-imp/gnc-plugin-qif-import.c b/gnucash/import-export/qif-imp/gnc-plugin-qif-import.c
index 2aed0ae59..c6719a0e2 100644
--- a/gnucash/import-export/qif-imp/gnc-plugin-qif-import.c
+++ b/gnucash/import-export/qif-imp/gnc-plugin-qif-import.c
@@ -45,7 +45,7 @@ static void gnc_plugin_qif_import_cmd_new_qif_import (GtkAction *action, GncMain
 static GtkActionEntry gnc_plugin_actions [] =
 {
     {
-        "QIFImportAction", "go-previous", N_("Import _QIF..."), NULL,
+        "QIFImportAction", "go-previous", N_("Import _QIF…"), NULL,
         N_("Import a Quicken QIF file"),
         G_CALLBACK (gnc_plugin_qif_import_cmd_new_qif_import)
     },
diff --git a/gnucash/register/ledger-core/gncEntryLedgerModel.c b/gnucash/register/ledger-core/gncEntryLedgerModel.c
index c3504630b..c1e3ea7a0 100644
--- a/gnucash/register/ledger-core/gncEntryLedgerModel.c
+++ b/gnucash/register/ledger-core/gncEntryLedgerModel.c
@@ -606,7 +606,7 @@ static char * get_disc_help (VirtualLocation virt_loc, gpointer user_data)
         help = _("Enter the Discount Percent");
         break;
     default:
-        help = _("Enter the Discount ... unknown type");
+        help = _("Enter the Discount … unknown type");
         break;
     }
 
diff --git a/gnucash/report/report-utilities.scm b/gnucash/report/report-utilities.scm
index f3a11c6a9..8b00ea055 100644
--- a/gnucash/report/report-utilities.scm
+++ b/gnucash/report/report-utilities.scm
@@ -636,13 +636,13 @@
 
 (define (gnc:report-starting report-name)
   (gnc-window-show-progress (format #f
-				     (G_ "Building '~a' report ...")
+				     (G_ "Building '~a' report …")
 				     (G_ report-name))
 			    0))
 
 (define (gnc:report-render-starting report-name)
   (gnc-window-show-progress (format #f
-				     (G_ "Rendering '~a' report ...")
+				     (G_ "Rendering '~a' report …")
 				     (if (string-null? report-name)
 					 (G_ "Untitled")
 					 (G_ report-name)))
@@ -1258,7 +1258,7 @@
     (define (maybe-date time64)         ;handle INT-MAX differently
       (if (= 9223372036854775807 time64) "?" (qof-print-date time64)))
     (define (maybe-trunc str)
-      (if (> (string-length str) 20) (string-append (substring str 0 17) "...") str))
+      (if (> (string-length str) 20) (string-append (substring str 0 17) "…") str))
     (define (inv-amt->string inv amt)
       (gnc:monetary->string
        (gnc:make-gnc-monetary
diff --git a/gnucash/report/reports/standard/income-gst-statement.scm b/gnucash/report/reports/standard/income-gst-statement.scm
index 0ebdd23fe..b65684d10 100644
--- a/gnucash/report/reports/standard/income-gst-statement.scm
+++ b/gnucash/report/reports/standard/income-gst-statement.scm
@@ -181,7 +181,7 @@ with *EUGOODS* in the account description."))
    (gnc-lookup-option options "__trep" "unique-transactions") #t)
   ;; Disable account filtering
   (GncOptionDBPtr-make-internal options gnc:pagename-accounts "Filter Type")
-  (GncOptionDBPtr-make-internal options gnc:pagename-accounts "Filter By...")
+  (GncOptionDBPtr-make-internal options gnc:pagename-accounts "Filter By…")
   (GncOptionDBPtr-make-internal options "Currency" "Show original currency amount")
 
   ;; Enforce compulsory common-currency. It's senseless to allow
diff --git a/gnucash/report/reports/standard/invoice.scm b/gnucash/report/reports/standard/invoice.scm
index bbadce037..07ade9a4c 100644
--- a/gnucash/report/reports/standard/invoice.scm
+++ b/gnucash/report/reports/standard/invoice.scm
@@ -557,7 +557,7 @@ for styling the invoice. Please see the exported report for the CSS class names.
                                      1 2 (gnc:make-html-span/markup
                                           "invoice-in-progress"
                                           (gnc:make-html-text
-                                           (G_ "Invoice in progress..."))))))
+                                           (G_ "Invoice in progress…"))))))
 
     (if (opt-val "Display" "Billing ID")
         (let ((billing-id (gncInvoiceGetBillingID invoice)))
@@ -738,9 +738,11 @@ for styling the invoice. Please see the exported report for the CSS class names.
                                (else
                                 (G_ "Invoice"))))
                (title (if (string-null? custom-title) default-title custom-title))
-               ;; Translators: This is the format of the invoice title.
-               ;; The first ~a is "Invoice", "Credit Note"... and the second the number.
-               ;; Replace " #" by whatever is common as number abbreviation, i.e. "~a Nr. ~a"
+               ;; Translators: This is the format of the invoice
+               ;; title.  The first ~a is one of "Invoice", "Credit
+               ;; Note", and so on and the second the number.  Replace
+               ;; " #" by whatever is common as number abbreviation,
+               ;; i.e. "~a Nr. ~a"
                (invoice-title (format #f (G_"~a #~a") title (gncInvoiceGetID invoice)))
                (layout-lookup-table (list (cons 'none #f)
                                           (cons 'picture (gnc:make-html-div/markup
diff --git a/gnucash/report/reports/standard/test/test-transaction.scm b/gnucash/report/reports/standard/test/test-transaction.scm
index d5ca44603..dc5f662de 100644
--- a/gnucash/report/reports/standard/test/test-transaction.scm
+++ b/gnucash/report/reports/standard/test/test-transaction.scm
@@ -414,7 +414,7 @@
       (set! options (default-testing-options))
       (set-option! options "General" "Start Date" (cons 'absolute (gnc-dmy2time64 01 01 1969)))
       (set-option! options "General" "End Date" (cons 'absolute (gnc-dmy2time64 31 12 1970)))      
-      (set-option! options "Accounts" "Filter By..." (list income))
+      (set-option! options "Accounts" "Filter By…" (list income))
       (set-option! options "Accounts" "Filter Type" 'include)
       (let ((sxml (options->sxml options "including bank-income accts only")))
         (test-equal "filter includes bank-income, sum = -$29.00"
@@ -577,7 +577,7 @@
           (apply + (map str->num ((sxpath '(// (table 1) // tr // (td -1) // a // *text*)) sxml)))))
 
       ;; Remove expense multisplit, transaction is not shown
-      (set-option! options "Accounts" "Filter By..." (list expense))
+      (set-option! options "Accounts" "Filter By…" (list expense))
       (set-option! options "Accounts" "Filter Type" 'exclude)
       (let* ((sxml (options->sxml options "multiline, filtered out")))
         (test-equal "multi-line has been excluded"
diff --git a/gnucash/report/reports/support/taxinvoice.eguile.scm b/gnucash/report/reports/support/taxinvoice.eguile.scm
index c8d316adf..579c11cae 100644
--- a/gnucash/report/reports/support/taxinvoice.eguile.scm
+++ b/gnucash/report/reports/support/taxinvoice.eguile.scm
@@ -222,7 +222,7 @@
       <?scm )) ?>
       <?scm (if (not isposted) (begin ?>
         <tr>
-           <td colspan="2" align="right"><?scm:d (G_ "Invoice in progress...") ?></td>
+           <td colspan="2" align="right"><?scm:d (G_ "Invoice in progress…") ?></td>
         </tr>
       <?scm ) (begin ?>
         <tr>
diff --git a/gnucash/report/trep-engine.scm b/gnucash/report/trep-engine.scm
index b68a4e911..584f9fa64 100644
--- a/gnucash/report/trep-engine.scm
+++ b/gnucash/report/trep-engine.scm
@@ -66,7 +66,7 @@
 
 ;;Accounts
 (define optname-accounts (N_ "Accounts"))
-(define optname-filterby (N_ "Filter By..."))
+(define optname-filterby (N_ "Filter By…"))
 (define optname-filtertype (N_ "Filter Type"))
 
 ;;Display
@@ -525,7 +525,7 @@ in the Options panel."))
 
   (gnc-register-multichoice-option options
     gnc:pagename-general optname-date-source
-    "a5" (G_ "Specify date to filter by...")
+    "a5" (G_ "Specify date to filter by…")
     "posted"
     (list (vector 'posted (G_ "Date Posted"))
           (vector 'reconciled (G_ "Reconciled Date"))
diff --git a/libgnucash/engine/gnc-optiondb.cpp b/libgnucash/engine/gnc-optiondb.cpp
index 3d1decc6c..cd3eba91f 100644
--- a/libgnucash/engine/gnc-optiondb.cpp
+++ b/libgnucash/engine/gnc-optiondb.cpp
@@ -67,7 +67,7 @@ const OptionAliases Aliases::c_option_aliases
     {"Accounts to include", {nullptr, "Accounts"}},
     {"Exclude transactions between selected accounts?",
         {nullptr, "Exclude transactions between selected accounts"}},
-    {"Filter Accounts", {nullptr, "Filter By..."}},
+    {"Filter Accounts", {nullptr, "Filter By…"}},
     {"Flatten list to depth limit?",
         {nullptr, "Flatten list to depth limit"}},
     {"From", {nullptr, "Start Date"}},
diff --git a/libgnucash/gnc-module/example/gnc-plugin.example.c b/libgnucash/gnc-module/example/gnc-plugin.example.c
index 169e11596..40cbcb198 100644
--- a/libgnucash/gnc-module/example/gnc-plugin.example.c
+++ b/libgnucash/gnc-module/example/gnc-plugin.example.c
@@ -47,7 +47,7 @@ static void gnc_plugin_example_cmd_test (GtkAction *action, GncMainWindowActionD
 
 static GtkActionEntry gnc_plugin_actions [] = {
     /* Menu Items */
-    { "exampleAction", NULL, N_("example description..."), NULL,
+    { "exampleAction", NULL, N_("example description…"), NULL,
       N_("example tooltip"),
       G_CALLBACK(gnc_plugin_example_cmd_test) },
 };



Summary of changes:
 doc/tip_of_the_day.list.c                          |  2 +-
 gnucash/gnome-search/dialog-search.c               |  2 +-
 gnucash/gnome-utils/assistant-xml-encoding.c       |  6 +--
 gnucash/gnome-utils/dialog-account.c               |  2 +-
 gnucash/gnome-utils/dialog-commodity.c             |  2 +-
 gnucash/gnome-utils/dialog-file-access.c           |  4 +-
 gnucash/gnome-utils/gnc-account-sel.c              |  2 +-
 gnucash/gnome-utils/gnc-file.c                     | 12 +++---
 gnucash/gnome-utils/gnc-file.h                     |  2 +-
 gnucash/gnome-utils/gnc-general-select.c           |  6 +--
 gnucash/gnome-utils/gnc-main-window.cpp            | 10 ++---
 gnucash/gnome-utils/gnc-period-select.c            |  2 +-
 gnucash/gnome-utils/gnc-splash.c                   |  2 +-
 gnucash/gnome-utils/gnc-tree-view-account.c        |  2 +-
 gnucash/gnome-utils/gnc-tree-view-owner.c          |  2 +-
 gnucash/gnome/assistant-loan.cpp                   |  2 +-
 gnucash/gnome/business-gnome-utils.c               |  6 +--
 gnucash/gnome/dialog-invoice.c                     |  4 +-
 gnucash/gnome/gnc-plugin-basic-commands.c          | 10 ++---
 gnucash/gnome/gnc-plugin-business.c                | 44 +++++++++++-----------
 gnucash/gnome/gnc-plugin-page-account-tree.c       | 22 +++++------
 gnucash/gnome/gnc-plugin-page-budget.c             | 10 ++---
 gnucash/gnome/gnc-plugin-page-invoice.c            | 18 ++++-----
 gnucash/gnome/gnc-plugin-page-owner-tree.c         | 16 ++++----
 gnucash/gnome/gnc-plugin-page-register.c           | 32 ++++++++--------
 gnucash/gnome/gnc-plugin-page-report.cpp           | 10 ++---
 gnucash/gnome/window-reconcile.c                   |  8 ++--
 gnucash/gnucash.cpp                                |  4 +-
 ...sh.GnuCash.dialogs.checkprinting.gschema.xml.in |  2 +-
 .../gtkbuilder/assistant-csv-account-import.glade  |  2 +-
 gnucash/gtkbuilder/assistant-csv-export.glade      |  4 +-
 .../gtkbuilder/assistant-csv-price-import.glade    |  6 +--
 .../gtkbuilder/assistant-csv-trans-import.glade    |  8 ++--
 gnucash/gtkbuilder/assistant-loan.glade            |  4 +-
 gnucash/gtkbuilder/assistant-qif-import.glade      | 12 +++---
 gnucash/gtkbuilder/business-prefs.glade            |  4 +-
 gnucash/gtkbuilder/dialog-account.glade            |  4 +-
 gnucash/gtkbuilder/dialog-commodity.glade          |  2 +-
 gnucash/gtkbuilder/dialog-import.glade             |  4 +-
 gnucash/gtkbuilder/dialog-progress.glade           |  2 +-
 gnucash/gtkbuilder/dialog-report.glade             |  2 +-
 gnucash/gtkbuilder/dialog-search.glade             |  2 +-
 gnucash/gtkbuilder/dialog-sx.glade                 |  4 +-
 gnucash/gtkbuilder/gnc-plugin-page-budget.glade    |  2 +-
 gnucash/gtkbuilder/gnc-plugin-page-register.glade  |  4 +-
 gnucash/gtkbuilder/gnc-tree-view-owner.glade       |  2 +-
 gnucash/gtkbuilder/window-reconcile.glade          |  2 +-
 gnucash/import-export/aqb/gnc-plugin-aqbanking.c   | 12 +++---
 gnucash/import-export/bi-import/dialog-bi-import.c |  4 +-
 .../import-export/bi-import/gnc-plugin-bi-import.c |  2 +-
 .../import-export/csv-exp/gnc-plugin-csv-export.c  |  6 +--
 .../csv-imp/assistant-csv-account-import.c         |  2 +-
 .../csv-imp/assistant-csv-trans-import.cpp         |  2 +-
 .../import-export/csv-imp/gnc-plugin-csv-import.c  |  6 +--
 .../customer-import/gnc-plugin-customer-import.c   |  2 +-
 .../log-replay/gnc-plugin-log-replay.c             |  2 +-
 gnucash/import-export/ofx/gnc-plugin-ofx.c         |  2 +-
 .../import-export/qif-imp/gnc-plugin-qif-import.c  |  2 +-
 gnucash/register/ledger-core/gncEntryLedgerModel.c |  2 +-
 gnucash/report/report-utilities.scm                |  6 +--
 .../reports/standard/income-gst-statement.scm      |  2 +-
 gnucash/report/reports/standard/invoice.scm        | 10 +++--
 .../reports/standard/test/test-transaction.scm     |  4 +-
 .../report/reports/support/taxinvoice.eguile.scm   |  2 +-
 gnucash/report/trep-engine.scm                     |  4 +-
 libgnucash/engine/gnc-optiondb.cpp                 |  2 +-
 libgnucash/gnc-module/example/gnc-plugin.example.c |  2 +-
 67 files changed, 197 insertions(+), 195 deletions(-)



More information about the gnucash-changes mailing list