[pan/back-to-ascii-msgids: 2/2] Use only ascii for translatable messages.
- From: Dominique Dumont <ddumont src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pan/back-to-ascii-msgids: 2/2] Use only ascii for translatable messages.
- Date: Sun, 5 Sep 2021 13:17:14 +0000 (UTC)
commit e2f001cec363b7d742e6aeab6a929a3d56a5fd5f
Author: Dominique Dumont <dod debian org>
Date: Sun Sep 5 12:55:26 2021 +0200
Use only ascii for translatable messages.
Using unicode char in msg id did raise a lot of discussion (See
https://gitlab.gnome.org/GNOME/pan/-/merge_requests/13)
Unfortunately, changing ascii char to unicode chars in msgids has the
following impacts:
- some translation are broken
- Pan may fail in non unicode locales
From [gettext man page](https://www.man7.org/linux/man-pages/man3/gettext.3.html)
and [gettext FAQ](https://www.gnu.org/software/gettext/FAQ.html#nonascii_strings),
the solution recommended by gettext is:
"don't use accented characters (or other non-ASCII characters) in
string literals in the source code. Instead, use only ASCII for string
literals, and use gettext() to retrieve their display-ready form."
So I've reverted the following commits:
- 44d7766a8ead0234aac4a085c77840925e3e6cf6
- b376c882f236c11e8f8a9bd88e00c432390d86a1
pan/data-impl/data-impl.cc | 2 +-
pan/data-impl/data-io.cc | 4 ++--
pan/data-impl/groups.cc | 2 +-
pan/data-impl/headers.cc | 6 +++---
pan/data-impl/profiles.cc | 2 +-
pan/data-impl/server.cc | 2 +-
pan/data-impl/xover.cc | 2 +-
pan/data/article-cache.cc | 10 +++++-----
pan/data/cert-store.cc | 2 +-
pan/data/encode-cache.cc | 2 +-
pan/general/file-util.cc | 2 +-
pan/general/text-match.cc | 2 +-
pan/general/utf8-utils.cc | 2 +-
pan/gui/actions.cc | 42 +++++++++++++++++++--------------------
pan/gui/body-pane.cc | 4 ++--
pan/gui/dl-headers-ui.cc | 2 +-
pan/gui/e-charset-combo-box.c | 2 +-
pan/gui/group-prefs-dialog.cc | 2 +-
pan/gui/gui.cc | 12 +++++------
pan/gui/pan.cc | 4 ++--
pan/gui/post-ui.cc | 32 ++++++++++++++---------------
pan/gui/prefs-ui.cc | 4 ++--
pan/gui/prefs.cc | 2 +-
pan/gui/profiles-dialog.cc | 8 ++++----
pan/gui/save-attach-ui.cc | 24 +++++++++++-----------
pan/gui/save-ui.cc | 24 +++++++++++-----------
pan/gui/score-add-ui.cc | 12 +++++------
pan/gui/score-view-ui.cc | 4 ++--
pan/gui/server-ui.cc | 24 +++++++++++-----------
pan/gui/task-pane.cc | 10 +++++-----
pan/tasks/decoder.cc | 6 +++---
pan/tasks/nntp-pool.cc | 2 +-
pan/tasks/nntp.cc | 4 ++--
pan/tasks/socket-impl-gio.cc | 4 ++--
pan/tasks/socket-impl-openssl.cc | 4 ++--
pan/tasks/task-article.cc | 2 +-
pan/tasks/task-groups.cc | 2 +-
pan/tasks/task-post.cc | 6 +++---
pan/tasks/task-upload.cc | 4 ++--
pan/tasks/task-xover.cc | 8 ++++----
pan/tasks/task-xoverinfo.cc | 2 +-
pan/usenet-utils/filter-info.cc | 42 +++++++++++++++++++--------------------
pan/usenet-utils/gnksa.cc | 2 +-
pan/usenet-utils/message-check.cc | 20 +++++++++----------
pan/usenet-utils/scorefile.cc | 4 ++--
pan/usenet-utils/ssl-utils.h | 6 +++---
46 files changed, 185 insertions(+), 185 deletions(-)
---
diff --git a/pan/data-impl/data-impl.cc b/pan/data-impl/data-impl.cc
index ca764cb..50cf6ac 100644
--- a/pan/data-impl/data-impl.cc
+++ b/pan/data-impl/data-impl.cc
@@ -193,7 +193,7 @@ DataImpl :: password_encrypt (const PasswordData& pw)
gnome_keyring_store_password_sync (
GNOME_KEYRING_NETWORK_PASSWORD,
GNOME_KEYRING_DEFAULT,
- _("Pan Newsreader’s server passwords"),
+ _("Pan Newsreader's server passwords"),
pw.pw,
"user", pw.user.str,
"server", pw.server.c_str(),
diff --git a/pan/data-impl/data-io.cc b/pan/data-impl/data-io.cc
index d938634..5b015d8 100644
--- a/pan/data-impl/data-io.cc
+++ b/pan/data-impl/data-io.cc
@@ -196,7 +196,7 @@ namespace
tmp.c_str(), std::ios_base::out|std::ios_base::binary));
if (!o->good())
- Log::add_err_va (_("Unable to save “%s” %s"), filename.c_str(), "");
+ Log::add_err_va (_("Unable to save \"%s\" %s"), filename.c_str(), "");
ostream_to_filename[o] = filename;
return o;
}
@@ -228,7 +228,7 @@ namespace
}
// std::cerr<<"dbg "<<ret<<"\n";
} else {
- Log::add_err_va (_("Unable to save “%s” %s"), filename.c_str(), file::pan_strerror(my_errno));
+ Log::add_err_va (_("Unable to save \"%s\" %s"), filename.c_str(), file::pan_strerror(my_errno));
}
}
}
diff --git a/pan/data-impl/groups.cc b/pan/data-impl/groups.cc
index da0183a..8a8755e 100644
--- a/pan/data-impl/groups.cc
+++ b/pan/data-impl/groups.cc
@@ -99,7 +99,7 @@ DataImpl :: load_newsrc (const Quark & server,
{
Server * s = find_server (server);
if (!s) {
- Log::add_err_va (_("Skipping newsrc file for server “%s”"), server.c_str());
+ Log::add_err_va (_("Skipping newsrc file for server \"%s\""), server.c_str());
return;
}
diff --git a/pan/data-impl/headers.cc b/pan/data-impl/headers.cc
index 16d5672..9906122 100644
--- a/pan/data-impl/headers.cc
+++ b/pan/data-impl/headers.cc
@@ -603,7 +603,7 @@ DataImpl :: load_headers (const DataIO & data_io,
}
if (expire_count)
- Log::add_info_va (_("Expired %lu old articles from “%s”"), expire_count, group.c_str());
+ Log::add_info_va (_("Expired %lu old articles from \"%s\""), expire_count, group.c_str());
success = !in->fail();
}
@@ -625,7 +625,7 @@ DataImpl :: load_headers (const DataIO & data_io,
if (success) {
const double seconds = timer.get_seconds_elapsed ();
Log::add_info_va (
- _("Loaded %lu articles for “%s” in %.1f seconds (%.0f per second)"),
+ _("Loaded %lu articles for \"%s\" in %.1f seconds (%.0f per second)"),
article_count, group.c_str(), seconds,
article_count/(fabs(seconds)<0.001?0.001:seconds));
}
@@ -854,7 +854,7 @@ DataImpl :: save_headers (DataIO& data_io, const Quark& group) const
const double time_elapsed (timer.get_seconds_elapsed());
if (success)
Log::add_info_va (
- _("Saved %lu parts, %lu articles in “%s” in %.1f seconds (%.0f articles/sec)"),
+ _("Saved %lu parts, %lu articles in \"%s\" in %.1f seconds (%.0f articles/sec)"),
part_count,
article_count,
group.c_str(),
diff --git a/pan/data-impl/profiles.cc b/pan/data-impl/profiles.cc
index 5b10cce..187347a 100644
--- a/pan/data-impl/profiles.cc
+++ b/pan/data-impl/profiles.cc
@@ -171,7 +171,7 @@ ProfilesImpl :: load (const StringView& filename)
GMarkupParseContext* c (g_markup_parse_context_new (&p, (GMarkupParseFlags)0, &mc, 0));
g_markup_parse_context_parse (c, txt.c_str(), txt.size(), &gerr);
if (gerr) {
- Log::add_err_va (_("Error reading file “%s”: %s"), filename.to_string().c_str(), gerr->message);
+ Log::add_err_va (_("Error reading file \"%s\": %s"), filename.to_string().c_str(), gerr->message);
g_clear_error (&gerr);
}
g_markup_parse_context_free (c);
diff --git a/pan/data-impl/server.cc b/pan/data-impl/server.cc
index b23782f..b9860f9 100644
--- a/pan/data-impl/server.cc
+++ b/pan/data-impl/server.cc
@@ -522,7 +522,7 @@ DataImpl :: load_server_properties (const DataIO& source)
if (!txt.empty())
g_markup_parse_context_parse (c, txt.c_str(), txt.size(), &gerr);
if (gerr) {
- Log::add_err_va (_("Error reading file “%s”: %s"), filename.c_str(), gerr->message);
+ Log::add_err_va (_("Error reading file \"%s\": %s"), filename.c_str(), gerr->message);
g_clear_error (&gerr);
}
g_markup_parse_context_free (c);
diff --git a/pan/data-impl/xover.cc b/pan/data-impl/xover.cc
index a199556..6bc4703 100644
--- a/pan/data-impl/xover.cc
+++ b/pan/data-impl/xover.cc
@@ -238,7 +238,7 @@ DataImpl :: xover_add (const Quark & server,
GroupHeaders * h (get_group_headers (group));
if (!h && !is_virtual) {
- Log::add_err_va (_("Error reading from %s: unknown group “%s”"),
+ Log::add_err_va (_("Error reading from %s: unknown group \"%s\""),
get_server_address(server).c_str(),
group.c_str());
return 0;
diff --git a/pan/data/article-cache.cc b/pan/data/article-cache.cc
index 2130f2d..bb61f82 100644
--- a/pan/data/article-cache.cc
+++ b/pan/data/article-cache.cc
@@ -141,7 +141,7 @@ ArticleCache :: ArticleCache (const StringView& path, const StringView& extensio
GDir * dir = g_dir_open (_path.c_str(), 0, &err);
if (err != NULL)
{
- Log::add_err_va (_("Error opening directory: “%s”: %s"), _path.c_str(), err->message);
+ Log::add_err_va (_("Error opening directory: \"%s\": %s"), _path.c_str(), err->message);
g_clear_error (&err);
}
else
@@ -232,7 +232,7 @@ ArticleCache :: add (const Quark& message_id, const StringView& article, const b
if (!fp)
{
- Log::add_err_va (_("Unable to save “%s” %s"),
+ Log::add_err_va (_("Unable to save \"%s\" %s"),
filename, file::pan_strerror(errno));
res.type = CACHE_IO_ERR;
}
@@ -241,7 +241,7 @@ ArticleCache :: add (const Quark& message_id, const StringView& article, const b
const size_t bytes_written (fwrite (article.str, sizeof(char), article.len, fp));
if (bytes_written < article.len)
{
- Log::add_err_va (_("Unable to save “%s” %s"),
+ Log::add_err_va (_("Unable to save \"%s\" %s"),
filename, file::pan_strerror(errno));
if (errno == ENOSPC || errno == ENOMEM)
{
@@ -359,7 +359,7 @@ ArticleCache :: get_message_file_stream (const Quark& mid) const
errno = 0;
FILE * fp = fopen (filename, "rb");
if (!fp)
- Log::add_err_va (_("Error opening file “%s” %s"), filename, file::pan_strerror(errno));
+ Log::add_err_va (_("Error opening file \"%s\" %s"), filename, file::pan_strerror(errno));
else {
GMimeStream * file_stream = g_mime_stream_file_new (fp);
retval = g_mime_stream_buffer_new (file_stream, GMIME_STREAM_BUFFER_BLOCK_READ);
@@ -390,7 +390,7 @@ ArticleCache :: get_message_mem_stream (const Quark& mid) const
retval = g_mime_stream_mem_new_with_buffer (buf, len);
g_free (buf);
} else {
- Log::add_err_va (_("Error reading file “%s”: %s"), filename, err->message);
+ Log::add_err_va (_("Error reading file \"%s\": %s"), filename, err->message);
g_clear_error (&err);
}
}
diff --git a/pan/data/cert-store.cc b/pan/data/cert-store.cc
index f6cd46e..34258c4 100644
--- a/pan/data/cert-store.cc
+++ b/pan/data/cert-store.cc
@@ -258,7 +258,7 @@ int CertStore::get_all_certs_from_disk() {
GDir * dir = g_dir_open(ssldir, 0, &err);
if (err != NULL) {
Log::add_err_va(
- _("Error opening SSL certificate directory: “%s”: %s"),
+ _("Error opening SSL certificate directory: \"%s\": %s"),
ssldir, err->message);
g_error_free(err);
} else {
diff --git a/pan/data/encode-cache.cc b/pan/data/encode-cache.cc
index d66ec5a..0377cec 100644
--- a/pan/data/encode-cache.cc
+++ b/pan/data/encode-cache.cc
@@ -59,7 +59,7 @@ EncodeCache :: EncodeCache (const StringView& path, size_t max_megs):
GDir * dir = g_dir_open (_path.c_str(), 0, &err);
if (err != NULL)
{
- Log::add_err_va (_("Error opening directory: “%s”: %s"), _path.c_str(), err->message);
+ Log::add_err_va (_("Error opening directory: \"%s\": %s"), _path.c_str(), err->message);
g_clear_error (&err);
}
else
diff --git a/pan/general/file-util.cc b/pan/general/file-util.cc
index 9efa269..b8f066c 100644
--- a/pan/general/file-util.cc
+++ b/pan/general/file-util.cc
@@ -308,7 +308,7 @@ file :: get_text_file_contents (const StringView & filename,
const std::string fname (filename.str, filename.len);
g_file_get_contents (fname.c_str(), &body, &body_len, &err);
if (err) {
- Log::add_err_va (_("Error reading file “%s”: %s"), err->message, g_strerror(errno));
+ Log::add_err_va (_("Error reading file \"%s\": %s"), err->message, g_strerror(errno));
g_clear_error (&err);
return false;
}
diff --git a/pan/general/text-match.cc b/pan/general/text-match.cc
index d390de0..843233a 100644
--- a/pan/general/text-match.cc
+++ b/pan/general/text-match.cc
@@ -190,7 +190,7 @@ class pan::TextMatch::PcreInfo
GError * err = 0;
re = g_regex_new (pattern.c_str(), options, (GRegexMatchFlags)0, &err);
if (err) {
- Log::add_err_va (_("Can’t use regular expression “%s”: %s"), pattern.c_str(), err->message);
+ Log::add_err_va (_("Can't use regular expression \"%s\": %s"), pattern.c_str(), err->message);
g_error_free (err);
return false;
}
diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc
index fea6100..d8e6dc9 100644
--- a/pan/general/utf8-utils.cc
+++ b/pan/general/utf8-utils.cc
@@ -229,7 +229,7 @@ pan :: content_to_utf8 (const StringView & content,
ret.assign (content.str, content.len);
if (!g_utf8_validate (ret.c_str(), ret.size(), NULL)) {
ret = clean_utf8 (ret);
- Log::add_err (_("Couldn’t determine article encoding. Non-UTF8 characters were removed."));
+ Log::add_err (_("Couldn't determine article encoding. Non-UTF8 characters were removed."));
}
}
diff --git a/pan/gui/actions.cc b/pan/gui/actions.cc
index 453a53d..92e62d1 100644
--- a/pan/gui/actions.cc
+++ b/pan/gui/actions.cc
@@ -328,8 +328,8 @@ namespace pan
G_CALLBACK(do_mark_selected_groups_read) },
{ "delete-groups-articles", GTK_STOCK_DELETE,
- N_("_Delete Selected Groups’ Articles"), "<control><shift>Delete",
- N_("Delete Selected Groups’ Articles"),
+ N_("_Delete Selected Groups' Articles"), "<control><shift>Delete",
+ N_("Delete Selected Groups' Articles"),
G_CALLBACK(do_clear_selected_groups) },
{ "get-new-headers-in-selected-groups", "ICON_GET_SELECTED",
@@ -348,8 +348,8 @@ namespace pan
G_CALLBACK(do_xover_subscribed_groups) },
{ "download-headers", "ICON_GET_DIALOG",
- N_("Get _Headers…"), "",
- N_("Get Headers…"),
+ N_("Get _Headers..."), "",
+ N_("Get Headers..."),
G_CALLBACK(do_download_headers) },
{ "refresh-group-list", NULL,
@@ -368,17 +368,17 @@ namespace pan
G_CALLBACK(do_unsubscribe_selected_groups) },
{ "save-articles", GTK_STOCK_SAVE,
- N_("_Save Articles…"), "<shift>S",
- N_("Save Articles…"),
+ N_("_Save Articles..."), "<shift>S",
+ N_("Save Articles..."),
G_CALLBACK(do_save_articles) },
{ "save-articles-from-nzb", GTK_STOCK_SAVE,
- N_("Save Articles from Selected _NZB…"), "<control><shift>S",
+ N_("Save Articles from Selected _NZB..."), "<control><shift>S",
N_("Save Articles from Selected NZB"),
G_CALLBACK(do_save_articles_from_nzb) },
{ "save-articles-to-nzb", GTK_STOCK_SAVE,
- N_("Save Articles to an NZB _File…"), "<control><shift>F",
+ N_("Save Articles to an NZB _File..."), "<control><shift>F",
N_("Save Articles to an NZB File"),
G_CALLBACK(do_save_articles_to_nzb) },
@@ -388,7 +388,7 @@ namespace pan
G_CALLBACK(do_print) },
{ "import-tasks", GTK_STOCK_OPEN,
- N_("_Import NZB Files…"), "<constrol>O",
+ N_("_Import NZB Files..."), "<constrol>O",
NULL,
G_CALLBACK(do_import_tasks) },
@@ -448,7 +448,7 @@ namespace pan
G_CALLBACK(do_show_preferences_dialog) },
{ "show-group-preferences-dialog", GTK_STOCK_PREFERENCES,
- N_("Edit Selected _Group’s Preferences"), NULL,
+ N_("Edit Selected _Group's Preferences"), NULL,
NULL,
G_CALLBACK(do_show_group_preferences_dialog) },
@@ -612,22 +612,22 @@ namespace pan
G_CALLBACK(do_invert_selection) },
{ "view-article-score", "ICON_SCORE",
- N_("Edit Article’s Watch/Ignore/Score…"), "<control><shift>C",
+ N_("Edit Article's Watch/Ignore/Score..."), "<control><shift>C",
NULL,
G_CALLBACK(do_show_score_dialog) },
{ "add-article-score", "ICON_SCORE",
- N_("Add a _Scoring Rule…"), "S",
+ N_("Add a _Scoring Rule..."), "S",
NULL,
G_CALLBACK(do_show_new_score_dialog) },
{ "cancel-article", NULL,
- N_("Cance_l Article…"), NULL,
+ N_("Cance_l Article..."), NULL,
NULL,
G_CALLBACK(do_cancel_article) },
{ "supersede-article", NULL,
- N_("_Supersede Article…"), NULL,
+ N_("_Supersede Article..."), NULL,
NULL,
G_CALLBACK(do_supersede_article) },
@@ -690,12 +690,12 @@ namespace pan
G_CALLBACK(do_pan_web) },
{ "bug-report", NULL,
- N_("Give _Feedback or Report a Bug…"), NULL,
+ N_("Give _Feedback or Report a Bug..."), NULL,
NULL,
G_CALLBACK(do_bug_report) },
{ "tip-jar", NULL,
- N_("_Tip Jar…"), NULL,
+ N_("_Tip Jar..."), NULL,
NULL,
G_CALLBACK(do_tip_jar) },
@@ -749,10 +749,10 @@ namespace pan
{ "match-only-watched-articles", "ICON_ONLY_WATCHED", N_("Match Only _Watched Articles"), NULL,
N_("Match Only Watched Articles"), G_CALLBACK(do_match_only_watched_articles), false },
{ "match-watched-articles", NULL, N_("Match Scores of 9999 (_Watched)"), NULL, NULL,
G_CALLBACK(do_match_watched_articles), true },
- { "match-high-scoring-articles", NULL, N_("Match Scores of 5000…9998 (_High)"), NULL, NULL,
G_CALLBACK(do_match_high_scoring_articles), true },
- { "match-medium-scoring-articles", NULL, N_("Match Scores of 1…4999 (Me_dium)"), NULL, NULL,
G_CALLBACK(do_match_medium_scoring_articles), true },
+ { "match-high-scoring-articles", NULL, N_("Match Scores of 5000...9998 (_High)"), NULL, NULL,
G_CALLBACK(do_match_high_scoring_articles), true },
+ { "match-medium-scoring-articles", NULL, N_("Match Scores of 1...4999 (Me_dium)"), NULL, NULL,
G_CALLBACK(do_match_medium_scoring_articles), true },
{ "match-normal-scoring-articles", NULL, N_("Match Scores of 0 (_Normal)"), NULL, NULL,
G_CALLBACK(do_match_normal_scoring_articles), true },
- { "match-low-scoring-articles", NULL, N_("Match Scores of -9998…-1 (_Low)"), NULL, NULL,
G_CALLBACK(do_match_low_scoring_articles), true },
+ { "match-low-scoring-articles", NULL, N_("Match Scores of -9998...-1 (_Low)"), NULL, NULL,
G_CALLBACK(do_match_low_scoring_articles), true },
{ "match-ignored-articles", NULL, N_("Match Scores of -9999 (_Ignored)"), NULL, NULL,
G_CALLBACK(do_match_ignored_articles), false },
{ "enable-rules", NULL, N_("Enable/Disable All _Rules"), "<shift>R", NULL, G_CALLBACK(do_toggle_rules),
true }
@@ -784,8 +784,8 @@ namespace pan
GtkRadioActionEntry match_toggle_entries[] =
{
{ "show-matching-articles", NULL, N_("Show Matching _Articles"), NULL, NULL, Data::SHOW_ARTICLES },
- { "show-matching-threads", NULL, N_("Show Matching Articles’ _Threads"), NULL, NULL, Data::SHOW_THREADS
},
- { "show-matching-subthreads", NULL, N_("Show Matching Articles’ _Subthreads"), NULL, NULL,
Data::SHOW_SUBTHREADS }
+ { "show-matching-threads", NULL, N_("Show Matching Articles' _Threads"), NULL, NULL, Data::SHOW_THREADS
},
+ { "show-matching-subthreads", NULL, N_("Show Matching Articles' _Subthreads"), NULL, NULL,
Data::SHOW_SUBTHREADS }
};
std::map<std::string,GCallback> real_toggle_callbacks;
diff --git a/pan/gui/body-pane.cc b/pan/gui/body-pane.cc
index 83c44ee..6e8bb7d 100644
--- a/pan/gui/body-pane.cc
+++ b/pan/gui/body-pane.cc
@@ -1329,7 +1329,7 @@ BodyPane :: on_verbose_tooltip_cb(GtkWidget *widget,
std::pair<std::string,std::string> name_and_email = get_email_address(info.signers[0].name);
g_snprintf(buf, sizeof(buf),
_("<u>This is a <b>PGP-Signed</b> message.</u>\n\n"
- "<b>Signer:</b> %s (“%s”)\n"
+ "<b>Signer:</b> %s ('%s')\n"
"<b>Valid until:</b> %s\n"
"<b>Created on:</b> %s"),
name_and_email.first.c_str(), name_and_email.second.c_str(),
@@ -1763,7 +1763,7 @@ BodyPane :: BodyPane (Data& data, ArticleCache& cache, Prefs& prefs, GroupPrefs
// menu for popup menu for attachments
_menu = gtk_menu_new ();
- l = gtk_menu_item_new_with_label(_("Save Attachment As…"));
+ l = gtk_menu_item_new_with_label(_("Save Attachment As..."));
g_signal_connect (l, "activate", G_CALLBACK(menu_clicked_as_cb), this);
gtk_menu_shell_append (GTK_MENU_SHELL(_menu), l);
l = gtk_menu_item_new_with_label(_("Save All Attachments"));
diff --git a/pan/gui/dl-headers-ui.cc b/pan/gui/dl-headers-ui.cc
index e9f4b2d..f235c9d 100644
--- a/pan/gui/dl-headers-ui.cc
+++ b/pan/gui/dl-headers-ui.cc
@@ -130,7 +130,7 @@ pan :: headers_dialog (Data& data, Prefs& prefs, Queue& queue,
GtkWidget *w, *x;
GtkAdjustment * adj;
int row = 0;
- state->n_days_rb = w = gtk_radio_button_new_with_mnemonic (NULL, _("Get the last N _days’ headers: "));
+ state->n_days_rb = w = gtk_radio_button_new_with_mnemonic (NULL, _("Get the last N _days' headers: "));
gtk_button_set_alignment (GTK_BUTTON(w), 0.5, 0.0);
gtk_table_attach_defaults (GTK_TABLE(t), w, 0, 1, row, row+1);
adj = GTK_ADJUSTMENT(gtk_adjustment_new (n_days, 1, INT_MAX, 1, 1, 0));
diff --git a/pan/gui/e-charset-combo-box.c b/pan/gui/e-charset-combo-box.c
index f075867..bc557ee 100644
--- a/pan/gui/e-charset-combo-box.c
+++ b/pan/gui/e-charset-combo-box.c
@@ -333,7 +333,7 @@ charset_combo_box_init (ECharsetComboBox *combo_box)
/* Note the "other" action is not included in the index. */
radio_action = gtk_radio_action_new (
- "charset-other", _("Other…"), NULL, NULL, OTHER_VALUE);
+ "charset-other", _("Other..."), NULL, NULL, OTHER_VALUE);
g_object_set_data (G_OBJECT (radio_action), "charset", (gpointer) "");
diff --git a/pan/gui/group-prefs-dialog.cc b/pan/gui/group-prefs-dialog.cc
index 2ec5c84..8bd07a8 100644
--- a/pan/gui/group-prefs-dialog.cc
+++ b/pan/gui/group-prefs-dialog.cc
@@ -157,7 +157,7 @@ namespace
if (profiles.empty())
{
- gtk_combo_box_text_append_text (combo, _("No Profiles defined in Edit → Posting Profiles."));
+ gtk_combo_box_text_append_text (combo, _("No Profiles defined in Edit|Posting Profiles."));
gtk_combo_box_set_active (GTK_COMBO_BOX(combo), 0);
gtk_widget_set_sensitive (w, false);
}
diff --git a/pan/gui/gui.cc b/pan/gui/gui.cc
index 9f8787e..8c13301 100644
--- a/pan/gui/gui.cc
+++ b/pan/gui/gui.cc
@@ -608,7 +608,7 @@ GUI :: prompt_user_for_save_path (GtkWindow * parent, const Prefs& prefs)
if (!file :: file_exists (prev_path.c_str()))
prev_path = g_get_home_dir ();
- GtkWidget * w = gtk_file_chooser_dialog_new (_("Save NZB’s Files"), parent,
+ GtkWidget * w = gtk_file_chooser_dialog_new (_("Save NZB's Files"), parent,
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
@@ -637,7 +637,7 @@ GUI :: prompt_user_for_filename (GtkWindow * parent, const Prefs& prefs)
prev_path = g_get_home_dir ();
prev_file = std::string(_("Untitled.nzb"));
- GtkWidget * w = gtk_file_chooser_dialog_new (_("Save NZB File as…"),
+ GtkWidget * w = gtk_file_chooser_dialog_new (_("Save NZB File as..."),
parent,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -1342,7 +1342,7 @@ void GUI :: do_supersede_article ()
GTK_BUTTONS_CLOSE, NULL);
HIG :: message_dialog_set_text (GTK_MESSAGE_DIALOG(w),
_("Unable to supersede article."),
- _("The article doesn’t match any of your posting profiles."));
+ _("The article doesn't match any of your posting profiles."));
g_signal_connect_swapped (w, "response", G_CALLBACK (gtk_widget_destroy), w);
gtk_widget_show (w);
g_object_unref (message);
@@ -1438,7 +1438,7 @@ void GUI :: do_cancel_article ()
GTK_BUTTONS_CLOSE, NULL);
HIG :: message_dialog_set_text (GTK_MESSAGE_DIALOG(w),
_("Unable to cancel article."),
- _("The article doesn’t match any of your posting profiles."));
+ _("The article doesn't match any of your posting profiles."));
g_signal_connect_swapped (w, "response", G_CALLBACK (gtk_widget_destroy), w);
gtk_widget_show (w);
g_object_unref (message);
@@ -2334,7 +2334,7 @@ GUI :: set_queue_size_label (unsigned int running,
KiB_remain, KiBps,
hr, min, sec);
- g_snprintf (tip, sizeof(tip), _("%lu tasks, %s, %.1f KiBps, ETA %d∶%02d∶%02d"),
+ g_snprintf (tip, sizeof(tip), _("%lu tasks, %s, %.1f KiBps, ETA %d:%02d:%02d"),
(running+queued), render_bytes(KiB_remain), KiBps, hr, min, sec);
// update the gui
@@ -2386,7 +2386,7 @@ GUI :: on_queue_error (Queue&, const StringView& message)
s.assign (message.str, message.len);
s += "\n \n";
}
- s += _("Pan is now offline. Please see “File → Event Log” and correct the problem, then use “File → Work
Online” to continue.");
+ s += _("Pan is now offline. Please see \"File|Event Log\" and correct the problem, then use \"File|Work
Online\" to continue.");
Log::add_urgent_va ("%s", s.c_str());
toggle_action ("work-online", false);
diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc
index 3eb4214..eb6a315 100644
--- a/pan/gui/pan.cc
+++ b/pan/gui/pan.cc
@@ -647,7 +647,7 @@ _("General Options\n"
" the message-id article to standard output.\n"
"\n"
"NZB Batch Options\n"
-" --nzb file1 file2 … Process NZB files in non-GUI mode.\n"
+" --nzb file1 file2 ... Process NZB files in non-GUI mode.\n"
" -o path, --output=path Path to save attachments listed in the NZB file(s).\n"
" --no-gui Only show console output, not the download queue.\n") << std::endl;
}
@@ -1001,7 +1001,7 @@ main (int argc, char *argv[])
CertStore& certstore (data.get_certstore());
if (nzb && data.get_servers().empty()) {
- std::cerr << _("Please configure Pan’s news servers before using it as an nzb client.") << std::endl;
+ std::cerr << _("Please configure Pan's news servers before using it as an nzb client.") << std::endl;
return EXIT_FAILURE;
}
data.set_newsrc_autosave_timeout( prefs.get_int("newsrc-autosave-timeout-min", 10 ));
diff --git a/pan/gui/post-ui.cc b/pan/gui/post-ui.cc
index 52ec0e0..33b8ea5 100644
--- a/pan/gui/post-ui.cc
+++ b/pan/gui/post-ui.cc
@@ -456,10 +456,10 @@ namespace
{ "post-toolbar", 0, "post", 0, 0, 0 },
{ "post-article", GTK_STOCK_EXECUTE, N_("_Send Article"), "<control>Return", N_("Send Article Now"),
G_CALLBACK(do_send) },
{ "post-and-save-articles", GTK_STOCK_FLOPPY, N_("_Send and Save Articles to NZB"), 0, N_("Send and Save
Articles to NZB"), G_CALLBACK(do_send_and_save) },
- { "set-charset", 0, N_("Set Character _Encoding…"), 0, 0, G_CALLBACK(do_charset) },
- { "set-encoding", 0, N_("Set Content _Transfer Encoding…"), 0, 0, G_CALLBACK(do_cte) },
+ { "set-charset", 0, N_("Set Character _Encoding..."), 0, 0, G_CALLBACK(do_charset) },
+ { "set-encoding", 0, N_("Set Content _Transfer Encoding..."), 0, 0, G_CALLBACK(do_cte) },
{ "save-draft", GTK_STOCK_SAVE, N_("Sa_ve Draft"), "<control>s", N_("Save as a Draft for Future
Posting"), G_CALLBACK(do_save) },
- { "open-draft", GTK_STOCK_OPEN, N_("_Open Draft…"), "<control>o", N_("Open an Article Draft"),
G_CALLBACK(do_open) },
+ { "open-draft", GTK_STOCK_OPEN, N_("_Open Draft..."), "<control>o", N_("Open an Article Draft"),
G_CALLBACK(do_open) },
{ "close", GTK_STOCK_CLOSE, 0, 0, 0, G_CALLBACK(do_close) },
{ "cut", GTK_STOCK_CUT, 0, 0, 0, G_CALLBACK(do_cut) },
{ "copy", GTK_STOCK_COPY, 0, 0, 0, G_CALLBACK(do_copy) },
@@ -552,7 +552,7 @@ PostUI :: prompt_for_charset ()
_charset = DEFAULT_CHARSET;
char * tmp = e_charset_dialog (_("Character Encoding"),
- _("New Article’s Encoding:"),
+ _("New Article's Encoding:"),
_charset.c_str(),
GTK_WINDOW(root()));
set_charset (tmp);
@@ -563,7 +563,7 @@ void
PostUI :: prompt_for_cte ()
{
GMimeContentEncoding enc = e_cte_dialog (_("Content Transfer Encoding"),
- _("New Article’s Content Transfer Encoding:"),
+ _("New Article's Content Transfer Encoding:"),
_enc, GTK_WINDOW(root()));
_enc = enc;
}
@@ -641,7 +641,7 @@ PostUI :: add_actions (GtkWidget * box)
gtk_ui_manager_add_ui_from_string (_uim, fallback_post_ui, -1, &err);
}
if (err) {
- Log::add_err_va (_("Error reading file “%s”: %s"), filename, err->message);
+ Log::add_err_va (_("Error reading file \"%s\": %s"), filename, err->message);
g_clear_error (&err);
}
@@ -822,7 +822,7 @@ PostUI :: check_charset ()
tmp = g_ascii_strup (best_charset, -1);
// Prompt the user
- char * msg = g_strdup_printf (_("Message uses characters not specified in charset “%s” — possibly use “%s”
"), charset.c_str(), tmp);
+ char * msg = g_strdup_printf (_("Message uses characters not specified in charset '%s' - possibly use '%s'
"), charset.c_str(), tmp);
GtkWidget * d = gtk_message_dialog_new (GTK_WINDOW(_root),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE,
@@ -1119,7 +1119,7 @@ PostUI :: maybe_post_message (GMimeMessage * message)
std::string error_msg;
bool error = false;
if (server.empty() || !_data.get_servers().count(server))
- error_msg = _("No posting server is set for this posting profile.\nPlease edit the profile via Edit →
Manage Posting Profiles.");
+ error_msg = _("No posting server is set for this posting profile.\nPlease edit the profile via
Edit|Manage Posting Profiles.");
//invalid connection count, can't post
Data::Server* s = _data.find_server(server);
@@ -1395,7 +1395,7 @@ PostUI :: spawn_editor ()
GError * err (0);
g_shell_parse_argv (editor.c_str(), &argc, &argv, &err);
if (err != NULL) {
- Log::add_err_va (_("Error parsing “external editor” command line: %s (Command was: %s)"),
err->message, editor.c_str());
+ Log::add_err_va (_("Error parsing \"external editor\" command line: %s (Command was: %s)"),
err->message, editor.c_str());
g_clear_error (&err);
ok = false;
}
@@ -1924,7 +1924,7 @@ PostUI :: save_draft ()
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
- _("Unable to save “%s” %s"), filename, file::pan_strerror(errno));
+ _("Unable to save \"%s\" %s"), filename, file::pan_strerror(errno));
gtk_dialog_run (GTK_DIALOG(e));
gtk_widget_destroy (e);
}
@@ -2088,7 +2088,7 @@ namespace
GError * err = NULL;
if (!g_shell_parse_argv (pch, &argc, &argv, &err))
{
- Log::add_err_va (_("Couldn’t parse signature command “%s”: %s"), pch, err->message);
+ Log::add_err_va (_("Couldn't parse signature command \"%s\": %s"), pch, err->message);
g_error_free (err);
}
}
@@ -2124,7 +2124,7 @@ namespace
if (!sig.empty())
sig = content_to_utf8 (sig);
else
- Log::add_err (_("Couldn’t convert signature to UTF-8."));
+ Log::add_err (_("Couldn't convert signature to UTF-8."));
if (!sig.empty())
setme = sig;
@@ -3001,7 +3001,7 @@ PostUI :: create_extras_tab ()
gtk_label_set_mnemonic_widget (GTK_LABEL(l), w);
/* i18n: "poster" is a key used by many newsreaders. probably safest to keep this key in english. */
gtk_widget_set_tooltip_text (w, _("The newsgroups where replies to your message should go. This is only
needed if it differs from "
- "the “Newsgroups” header.\n\nTo direct all replies to your email address, use “Followup-To: poster”"));
+ "the \"Newsgroups\" header.\n\nTo direct all replies to your email address, use \"Followup-To:
poster\""));
gtk_table_attach (GTK_TABLE(t), w, 1, 2, row, row+1, fe, fill, 0, 0);
// Reply-To
@@ -3016,7 +3016,7 @@ PostUI :: create_extras_tab ()
w = _replyto_entry = gtk_entry_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL(l), w);
gtk_widget_set_tooltip_text (w, _("The email account where mail replies to your posted message should go. "
- "This is only needed if it differs from the “From” header."));
+ "This is only needed if it differs from the \"From\" header."));
gtk_table_attach (GTK_TABLE(t), w, 1, 2, row, row+1, fe, fill, 0, 0);
// Extra Headers
@@ -3046,14 +3046,14 @@ PostUI :: create_extras_tab ()
// User-Agent
++row;
- w = _user_agent_check = gtk_check_button_new_with_mnemonic (_("Add “_User-Agent” header"));
+ w = _user_agent_check = gtk_check_button_new_with_mnemonic (_("Add \"_User-Agent\" header"));
bool b = _prefs.get_flag (USER_AGENT_PREFS_KEY, true);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w), b);
g_signal_connect (w, "toggled", G_CALLBACK(user_agent_toggled_cb), &_prefs);
gtk_table_attach (GTK_TABLE(t), w, 0, 2, row, row+1, GTK_FILL, GTK_FILL, 0, 0);
++row;
- w = _message_id_check = gtk_check_button_new_with_mnemonic (_("Add “Message-_ID” header"));
+ w = _message_id_check = gtk_check_button_new_with_mnemonic (_("Add \"Message-_ID\" header"));
b = _prefs.get_flag(MESSAGE_ID_PREFS_KEY,false);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w), b);
g_signal_connect (w, "toggled", G_CALLBACK(message_id_toggled_cb), this);
diff --git a/pan/gui/prefs-ui.cc b/pan/gui/prefs-ui.cc
index da0a013..82f0b8c 100644
--- a/pan/gui/prefs-ui.cc
+++ b/pan/gui/prefs-ui.cc
@@ -124,7 +124,7 @@ PrefsDialog :: edit_shortkey (gpointer user_data)
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
str = g_strdup_printf(
- _("Press the combination of the keys\nyou want to use for “%s”."), data->value.c_str());
+ _("Press the combination of the keys\nyou want to use for \"%s\"."), data->value.c_str());
label = gtk_label_new(str);
gtk_misc_set_padding(GTK_MISC(label), 5, 10);
@@ -1118,7 +1118,7 @@ PrefsDialog :: PrefsDialog (Prefs& prefs, GtkWindow* parent):
t = HIG :: workarea_create ();
gtk_widget_set_tooltip_text (t, _("This menu lets you configure Pan to take certain actions on your
behalf automatically, "
- "based on an article’s score."));
+ "based on an article's score."));
int i(0);
GtkWidget** action_combo = new GtkWidget*[2];
diff --git a/pan/gui/prefs.cc b/pan/gui/prefs.cc
index 64dd8da..7a3e985 100644
--- a/pan/gui/prefs.cc
+++ b/pan/gui/prefs.cc
@@ -361,7 +361,7 @@ Prefs :: set_color (const StringView& key, const StringView& value)
if (gdk_color_parse (value.to_string().c_str(), &c))
set_color (key, c);
else
- Log::add_err_va (_("Couldn’t parse %s color “%s”"), key.to_string().c_str(), value.to_string().c_str());
+ Log::add_err_va (_("Couldn't parse %s color \"%s\""), key.to_string().c_str(),
value.to_string().c_str());
}
GdkColor
diff --git a/pan/gui/profiles-dialog.cc b/pan/gui/profiles-dialog.cc
index cf94695..4c9f280 100644
--- a/pan/gui/profiles-dialog.cc
+++ b/pan/gui/profiles-dialog.cc
@@ -78,7 +78,7 @@ namespace
if (row == ROW_GPGSIG)
{
gtk_widget_set_tooltip_text(d->_signature_file_combo_box,
- _("Please choose your email address according to your PGP key’s user id."));
+ _("Please choose your email address according to your PGP key's user id."));
gtk_widget_hide (d->_signature_file);
}
@@ -154,7 +154,7 @@ ProfileDialog :: ProfileDialog (const Data & data,
set_entry (w, profile.address);
#ifdef HAVE_GMIME_CRYPTO
gtk_widget_set_tooltip_text(w, _("Your email address.\n"
- "Note that this has to match your PGP signature’s address\n"
+ "Note that this has to match your PGP signature's address\n"
"if you want your messages to be PGP-signed or encrypted correctly."));
#endif
HIG :: workarea_add_row (t, &row, _("_Email Address:"), w);
@@ -225,7 +225,7 @@ ProfileDialog :: ProfileDialog (const Data & data,
w = _xface_entry = gtk_entry_new ();
set_entry (w, profile.xface);
gtk_widget_set_tooltip_markup (w, _("You can add an avatar icon to your articles with a unique X-Face
code.\n"
- "Add the code without the trailing <b>“X-Face:”</b> \n if it was
generated "
+ "Add the code without the trailing <b>\"X-Face:\"</b> \n if it was
generated "
"by a helper program (for example
http://www.dairiki.org/xface/xface.php)."));
HIG :: workarea_add_row (t, &row, _("_X-Face:"), w, NULL);
HIG :: workarea_add_section_divider (t, &row);
@@ -234,7 +234,7 @@ ProfileDialog :: ProfileDialog (const Data & data,
w = _msgid_fqdn_entry = gtk_entry_new ();
set_entry (w, profile.fqdn);
- gtk_widget_set_tooltip_text (w, _("When posting to Usenet, your article’s Message-ID contains a domain
name.\n"
+ gtk_widget_set_tooltip_text (w, _("When posting to Usenet, your article's Message-ID contains a domain
name.\n"
"You can set a custom domain name here, or leave it blank to let Pan
use the "
"domain name from your email address."));
HIG :: workarea_add_row (t, &row, _("Message-ID _Domain Name:"), w, NULL);
diff --git a/pan/gui/save-attach-ui.cc b/pan/gui/save-attach-ui.cc
index 7082ab8..b2931b7 100644
--- a/pan/gui/save-attach-ui.cc
+++ b/pan/gui/save-attach-ui.cc
@@ -41,17 +41,17 @@ namespace
void
show_group_substitution_help_dialog (gpointer window)
{
- const char * str = _("%g — group as one directory (alt.binaries.pictures.trains)\n"
- "%G — group as nested directory (/alt/binaries/pictures/trains)\n"
- "%s — Subject line excerpt\n"
- "%S — Subject line\n"
- "%n — Poster display name\n"
- "%e — Poster email address\n"
- "%d — Article timestamp\n"
- "“/home/user/News/Pan/%g” becomes\n"
- "“/home/user/News/Pan/alt.binaries.pictures.trains”, and\n"
- "“/home/user/News/Pan/%G” becomes\n"
- "“/home/user/News/Pan/alt/binaries/pictures/trains”,");
+ const char * str = _("%g - group as one directory (alt.binaries.pictures.trains)\n"
+ "%G - group as nested directory (/alt/binaries/pictures/trains)\n"
+ "%s - Subject line excerpt\n"
+ "%S - Subject line\n"
+ "%n - Poster display name\n"
+ "%e - Poster email address\n"
+ "%d - Article timestamp\n"
+ "\"/home/user/News/Pan/%g\" becomes\n"
+ "\"/home/user/News/Pan/alt.binaries.pictures.trains\", and\n"
+ "\"/home/user/News/Pan/%G\" becomes\n"
+ "\"/home/user/News/Pan/alt/binaries/pictures/trains\",");
GtkWidget * w = gtk_message_dialog_new (GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
@@ -273,7 +273,7 @@ SaveAttachmentsDialog :: SaveAttachmentsDialog
HIG :: workarea_add_row (t, &row, _("_Location:"), h, file_entry_gtk_entry(_save_path_entry));
if (have_group_default) {
- char * pch = g_strdup_printf (_("_Group’s path: %s"), group_path.c_str());
+ char * pch = g_strdup_printf (_("_Group's path: %s"), group_path.c_str());
w = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(_save_custom_path_radio), pch);
_save_group_path_radio = w;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w), path_mode==PATH_GROUP);
diff --git a/pan/gui/save-ui.cc b/pan/gui/save-ui.cc
index ffa4adb..cdee626 100644
--- a/pan/gui/save-ui.cc
+++ b/pan/gui/save-ui.cc
@@ -41,18 +41,18 @@ namespace
void
show_group_substitution_help_dialog (gpointer window)
{
- const char * str = _("%g — group as one directory (alt.binaries.pictures.trains)\n"
- "%G — group as nested directory (/alt/binaries/pictures/trains)\n"
- "%s — subject line excerpt\n"
- "%S — subject line\n"
- "%n — Poster display name\n"
- "%e — Poster email address\n"
- "%d — Article timestamp\n"
+ const char * str = _("%g - group as one directory (alt.binaries.pictures.trains)\n"
+ "%G - group as nested directory (/alt/binaries/pictures/trains)\n"
+ "%s - subject line excerpt\n"
+ "%S - subject line\n"
+ "%n - Poster display name\n"
+ "%e - Poster email address\n"
+ "%d - Article timestamp\n"
" \n"
- "“/home/user/News/Pan/%g” becomes\n"
- "“/home/user/News/Pan/alt.binaries.pictures.trains”, and\n"
- "“/home/user/News/Pan/%G” becomes\n"
- "“/home/user/News/Pan/alt/binaries/pictures/trains”,");
+ "\"/home/user/News/Pan/%g\" becomes\n"
+ "\"/home/user/News/Pan/alt.binaries.pictures.trains\", and\n"
+ "\"/home/user/News/Pan/%G\" becomes\n"
+ "\"/home/user/News/Pan/alt/binaries/pictures/trains\",");
GtkWidget * w = gtk_message_dialog_new (GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
@@ -288,7 +288,7 @@ SaveDialog :: SaveDialog (Prefs & prefs,
HIG :: workarea_add_row (t, &row, _("_Location:"), h, file_entry_gtk_entry(_save_path_entry));
if (have_group_default) {
- char * pch = g_strdup_printf (_("_Group’s path: %s"), group_path.c_str());
+ char * pch = g_strdup_printf (_("_Group's path: %s"), group_path.c_str());
w = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(_save_custom_path_radio), pch);
_save_group_path_radio = w;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w), path_mode==PATH_GROUP);
diff --git a/pan/gui/score-add-ui.cc b/pan/gui/score-add-ui.cc
index 3b81167..02603a5 100644
--- a/pan/gui/score-add-ui.cc
+++ b/pan/gui/score-add-ui.cc
@@ -107,9 +107,9 @@ namespace
GtkTreeModel * score_tree_model_new ()
{
struct { int type; const char * str; } items[] = {
- { _ADD, N_("increase the article’s score by") },
- { _SUBTRACT, N_("decrease the article’s score by") },
- { _ASSIGN, N_("set the article’s score to") },
+ { _ADD, N_("increase the article's score by") },
+ { _SUBTRACT, N_("decrease the article's score by") },
+ { _ASSIGN, N_("set the article's score to") },
{ _WATCH, N_("watch the article (set its score to 9999)") },
{ _IGNORE, N_("ignore the article (set its score to -9999)") }
};
@@ -190,9 +190,9 @@ namespace
{
struct { int type; bool negate; const char * str; } items[] = {
{ TextMatch::CONTAINS, false, N_("contains")},
- { TextMatch::CONTAINS, true, N_("doesn’t contain")},
+ { TextMatch::CONTAINS, true, N_("doesn't contain")},
{ TextMatch::IS, false, N_("is")},
- { TextMatch::IS, true, N_("isn’t")},
+ { TextMatch::IS, true, N_("isn't")},
{ TextMatch::BEGINS_WITH, false, N_("starts with")},
{ TextMatch::ENDS_WITH, false, N_("ends with")},
{ TextMatch::REGEX, false, N_("matches regex")},
@@ -476,7 +476,7 @@ ScoreAddDialog :: response_cb (GtkDialog * w, int response, gpointer dialog_gpoi
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, NULL));
HIG :: message_dialog_set_text (GTK_MESSAGE_DIALOG(d),
- _("Another rule already sets this article’s score."),
+ _("Another rule already sets this article's score."),
_("You may want to go back or delete the old rule."));
gtk_dialog_add_buttons (GTK_DIALOG(d),
GTK_STOCK_GO_BACK, -20,
diff --git a/pan/gui/score-view-ui.cc b/pan/gui/score-view-ui.cc
index 4c8b768..08da61e 100644
--- a/pan/gui/score-view-ui.cc
+++ b/pan/gui/score-view-ui.cc
@@ -149,7 +149,7 @@ ScoreView :: tree_view_refresh ()
// build the criteria column: file & line numbers, optional name, criteria
GString * criteria = g_string_new (0);
- g_string_printf (criteria, _("File %s, Lines %d-%d"), item.filename.c_str(), (int)item.begin_line,
(int)item.end_line);
+ g_string_printf (criteria, _("File %s, Lines %d - %d"), item.filename.c_str(), (int)item.begin_line,
(int)item.end_line);
g_string_append_c (criteria, '\n');
if (!item.name.empty())
g_string_append_printf (criteria, "%s: \"%s\"\n", _("Name"), item.name.c_str());
@@ -177,7 +177,7 @@ ScoreView :: ScoreView (Data& data, GtkWindow* parent,
_article (article),
_root (0)
{
- GtkWidget * w = _root = gtk_dialog_new_with_buttons (_("Pan: Article’s Scores"),
+ GtkWidget * w = _root = gtk_dialog_new_with_buttons (_("Pan: Article's Scores"),
parent,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
diff --git a/pan/gui/server-ui.cc b/pan/gui/server-ui.cc
index 268114b..e53187c 100644
--- a/pan/gui/server-ui.cc
+++ b/pan/gui/server-ui.cc
@@ -267,7 +267,7 @@ namespace
const char * err_msg (0);
if (addr.empty())
- err_msg = _("Please specify the server’s address.");
+ err_msg = _("Please specify the server's address.");
if (err_msg) {
GtkWidget * dialog (gtk_message_dialog_new (GTK_WINDOW(d->dialog),
@@ -350,7 +350,7 @@ pan :: server_edit_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
ServerEditDialog * d (new ServerEditDialog (data, queue, prefs));
// create the dialog
- char * title = g_strdup_printf ("Pan: %s", server.empty() ? _("Add a Server") : _("Edit a Server’s
Settings"));
+ char * title = g_strdup_printf ("Pan: %s", server.empty() ? _("Add a Server") : _("Edit a Server's
Settings"));
GtkWidget * dialog = gtk_dialog_new_with_buttons (title,
GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -374,13 +374,13 @@ pan :: server_edit_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
HIG::workarea_add_section_spacer (t, row, 2);
GtkWidget * w = d->address_entry = gtk_entry_new ();
- gtk_widget_set_tooltip_text( w, _("The news server’s actual address, e.g. “news.mynewsserver.com”."));
+ gtk_widget_set_tooltip_text( w, _("The news server's actual address, e.g. \"news.mynewsserver.com\"."));
HIG::workarea_add_row (t, &row, _("_Address:"), w, NULL);
//g_signal_connect (w, "changed", G_CALLBACK(address_entry_changed_cb), d);
GtkAdjustment * a = GTK_ADJUSTMENT (gtk_adjustment_new (1.0, 1.0, ULONG_MAX, 1.0, 1.0, 0.0));
w = d->port_spin = gtk_spin_button_new (GTK_ADJUSTMENT(a), 1.0, 0u);
- gtk_widget_set_tooltip_text( w, _("The news server’s port number. Typically 119 for unencrypted and 563
for encrypted connections (SSL/TLS)."));
+ gtk_widget_set_tooltip_text( w, _("The news server's port number. Typically 119 for unencrypted and 563
for encrypted connections (SSL/TLS)."));
HIG::workarea_add_row (t, &row, _("Por_t:"), w, NULL);
HIG::workarea_add_section_divider (t, &row);
@@ -389,12 +389,12 @@ pan :: server_edit_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
w = d->auth_username_entry = gtk_entry_new ();
HIG::workarea_add_row (t, &row, _("_Username:"), w, NULL);
- gtk_widget_set_tooltip_text( w, _("The username to give the server when asked. If your server doesn’t
require authentication, you can leave this blank."));
+ gtk_widget_set_tooltip_text( w, _("The username to give the server when asked. If your server doesn't
require authentication, you can leave this blank."));
w = d->auth_password_entry = gtk_entry_new ();
gtk_entry_set_visibility (GTK_ENTRY(w), FALSE);
HIG::workarea_add_row (t, &row, _("_Password:"), w, NULL);
- gtk_widget_set_tooltip_text( w, _("The password to give the server when asked. If your server doesn’t
require authentication, you can leave this blank."));
+ gtk_widget_set_tooltip_text( w, _("The password to give the server when asked. If your server doesn't
require authentication, you can leave this blank."));
HIG::workarea_add_section_divider (t, &row);
HIG::workarea_add_section_title (t, &row, _("Settings"));
@@ -450,7 +450,7 @@ pan :: server_edit_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
GtkWidget * e = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER(e), l);
gtk_misc_set_alignment (GTK_MISC(l), 0.0f, 0.5f);
- gtk_widget_set_tooltip_text( e, _("Fallback servers are used for articles that can’t be found on the
primaries. One common approach is to use free servers as primaries and subscription servers as fallbacks."));
+ gtk_widget_set_tooltip_text( e, _("Fallback servers are used for articles that can't be found on the
primaries. One common approach is to use free servers as primaries and subscription servers as fallbacks."));
HIG::workarea_add_row (t, &row, e, w);
// header compression list options
@@ -508,7 +508,7 @@ pan :: server_edit_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
"It is encouraged to enable SSL/TLS for privacy reasons."));
HIG::workarea_add_row (t, &row, e, w);
- d->always_trust_checkbox = w = gtk_check_button_new_with_label (_("Always trust this server’s
certificate"));
+ d->always_trust_checkbox = w = gtk_check_button_new_with_label (_("Always trust this server's
certificate"));
HIG::workarea_add_row (t, &row, NULL, w, NULL);
g_signal_connect (d->dialog, "realize", G_CALLBACK(server_edit_dialog_realized_cb), d);
#endif
@@ -684,7 +684,7 @@ namespace
GtkDialogFlags(GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT),
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
- _("Really delete “%s”?"),
+ _("Really delete \"%s\"?"),
addr.c_str());
gtk_dialog_add_buttons (GTK_DIALOG(w),
GTK_STOCK_NO, GTK_RESPONSE_NO,
@@ -783,7 +783,7 @@ namespace
HIG :: message_dialog_set_text (GTK_MESSAGE_DIALOG(w), buf, NULL);
- g_snprintf(buf,sizeof(buf), _("Server Certificate for “%s”"), addr.c_str());
+ g_snprintf(buf,sizeof(buf), _("Server Certificate for '%s'"), addr.c_str());
gtk_window_set_title(GTK_WINDOW(w), buf);
gtk_widget_show_all (w);
@@ -882,7 +882,7 @@ namespace
GtkDialogFlags(GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT),
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
- _("Really delete certificate for “%s”?"),
+ _("Really delete certificate for \"%s\"?"),
addr.c_str());
gtk_dialog_add_buttons (GTK_DIALOG(w),
GTK_STOCK_NO, GTK_RESPONSE_NO,
@@ -962,7 +962,7 @@ pan :: server_list_dialog_new (Data& data, Queue& queue, Prefs& prefs, GtkWindow
// edit button
w = gtk_button_new_from_stock (GTK_STOCK_EDIT);
gtk_box_pack_start (GTK_BOX (bbox), w, FALSE, FALSE, 0);
- gtk_widget_set_tooltip_text(w, _("Edit a Server’s Settings"));
+ gtk_widget_set_tooltip_text(w, _("Edit a Server's Settings"));
g_signal_connect (w, "clicked", G_CALLBACK(edit_button_clicked_cb), d->dialog);
d->edit_button = w;
diff --git a/pan/gui/task-pane.cc b/pan/gui/task-pane.cc
index 18a8f74..3ca97f0 100644
--- a/pan/gui/task-pane.cc
+++ b/pan/gui/task-pane.cc
@@ -116,7 +116,7 @@ namespace
const Article& a(tu->get_article());
date = date_maker.get_date_string (tu->get_article().time_posted);
g_snprintf(buffer,size,
- _("\n<u>Upload</u>\n\n<i>Subject:</i> <b>“%s”</b>\n<i>From:</i> <b>%s</b>\n"
+ _("\n<u>Upload</u>\n\n<i>Subject:</i> <b>\"%s\"</b>\n<i>From:</i> <b>%s</b>\n"
"<i>Groups:</i> <b>%s</b>\n<i>Sourcefile:</i> <b>%s</b>\n"),
escaped(a.subject.to_string()).c_str(), escaped(a.author.to_string()).c_str(),
tu->get_groups().c_str(), tu->get_filename().c_str());
@@ -128,7 +128,7 @@ namespace
const Article& a(ta->get_article());
date = date_maker.get_date_string (ta->get_article().time_posted);
g_snprintf(buffer, size,
- _("\n<u>Download</u>\n\n<i>Subject:</i> <b>“%s”</b>\n<i>From:</i> <b>%s</b>\n<i>Date:</i>
<b>%s</b>\n"
+ _("\n<u>Download</u>\n\n<i>Subject:</i> <b>\"%s\"</b>\n<i>From:</i> <b>%s</b>\n<i>Date:</i>
<b>%s</b>\n"
"<i>Groups:</i> <b>%s</b>\n<i>Save Path:</i> <b>%s</b>\n"),
escaped(a.subject.to_string()).c_str(), escaped(a.author.to_string()).c_str(), date ? date
: _("unknown"),
ta->get_groups().c_str(), ta->get_save_path().to_string().c_str());
@@ -470,7 +470,7 @@ TaskPane :: update_status (const task_states_t& tasks)
minutes = tmp % 60ul; tmp /= 60ul;
hours = tmp;
}
- g_snprintf (buf, sizeof(buf), _("%lu tasks, %s, %.1f KiBps, ETA %d∶%02d∶%02d"),
+ g_snprintf (buf, sizeof(buf), _("%lu tasks, %s, %.1f KiBps, ETA %d:%02d:%02d"),
task_count, render_bytes(bytes), KiBps, hours, minutes, seconds);
std::string line (buf);
@@ -587,7 +587,7 @@ namespace
}
if (state == Queue::RUNNING) {
char buf[128];
- g_snprintf (buf, sizeof(buf), _("%d∶%02d∶%02d Remaining (%d @ %lu KiB/s)"), h, m, s, connections,
(unsigned long)speed);
+ g_snprintf (buf, sizeof(buf), _("%d:%02d:%02d Remaining (%d @ %lu KiB/s)"), h, m, s, connections,
(unsigned long)speed);
status += " - ";
status += buf;
}
@@ -732,7 +732,7 @@ TaskPane :: add_actions (GtkWidget * box)
gtk_ui_manager_add_ui_from_string (_uim, fallback_taskpane_ui, -1, &err);
}
if (err) {
- Log::add_err_va (_("Error reading file “%s”: %s"), filename, err->message);
+ Log::add_err_va (_("Error reading file \"%s\": %s"), filename, err->message);
g_clear_error (&err);
}
diff --git a/pan/tasks/decoder.cc b/pan/tasks/decoder.cc
index bdfe7cc..1efbbdb 100644
--- a/pan/tasks/decoder.cc
+++ b/pan/tasks/decoder.cc
@@ -112,7 +112,7 @@ Decoder :: do_work()
mut.unlock();
if (!fp) {
- g_snprintf(buf, bufsz, _("Couldn’t save file “%s”: %s"), filename, file::pan_strerror(errno));
+ g_snprintf(buf, bufsz, _("Couldn't save file \"%s\": %s"), filename, file::pan_strerror(errno));
log_errors.push_back (buf); // log error
} else {
fwrite (contents, 1, (size_t)length, fp);
@@ -189,14 +189,14 @@ Decoder :: do_work()
// decode the file...
if ((res = UUDecodeFile (item, fname)) == UURET_OK) {
- g_snprintf(buf, bufsz,_("Saved “%s”"), fname);
+ g_snprintf(buf, bufsz,_("Saved \"%s\""), fname);
log_infos.push_back(buf); // log info
} else if (res == UURET_NODATA) {
// silently let this error by... user probably tried to
// save attachements on a text-only post
} else {
const int the_errno (UUGetOption (UUOPT_ERRNO, NULL, NULL, 0));
- g_snprintf (buf, bufsz,_("Error saving “%s”:\n%s."),
+ g_snprintf (buf, bufsz,_("Error saving \"%s\":\n%s."),
fname,
res==UURET_IOERR ? file::pan_strerror(the_errno) : UUstrerror(res));
log_errors.push_back(buf); // log error
diff --git a/pan/tasks/nntp-pool.cc b/pan/tasks/nntp-pool.cc
index 83063cb..7520dff 100644
--- a/pan/tasks/nntp-pool.cc
+++ b/pan/tasks/nntp-pool.cc
@@ -232,7 +232,7 @@ NNTP_Pool :: on_nntp_done (NNTP* nntp, Health health, const StringView& response
const std::string addr (_server_info.get_server_address (_server));
std::string s;
char buf[4096];
- snprintf (buf, sizeof(buf), _("Unable to connect to “%s”"), addr.c_str());
+ snprintf (buf, sizeof(buf), _("Unable to connect to \"%s\""), addr.c_str());
s = buf;
if (!response.empty()) {
s += ":\n";
diff --git a/pan/tasks/nntp.cc b/pan/tasks/nntp.cc
index 71c5cf1..a7bc266 100644
--- a/pan/tasks/nntp.cc
+++ b/pan/tasks/nntp.cc
@@ -242,7 +242,7 @@ NNTP :: on_socket_response (Socket * sock UNUSED, const StringView& line_in)
}
std::string host;
_socket->get_host (host);
- Log::add_err_va (_("Sending “%s” to %s returned an error: %s"),
+ Log::add_err_va (_("Sending \"%s\" to %s returned an error: %s"),
cmd.c_str(),
host.c_str(),
line.to_string().c_str());
@@ -265,7 +265,7 @@ NNTP :: on_socket_response (Socket * sock UNUSED, const StringView& line_in)
cmd.resize (cmd.size()-2);
std::string host;
_socket->get_host (host);
- Log::add_err_va (_("Sending “%s” to %s returned an unrecognized response: “%s”"),
+ Log::add_err_va (_("Sending \"%s\" to %s returned an unrecognized response: \"%s\""),
_previous_command.c_str(),
host.c_str(),
line.to_string().c_str());
diff --git a/pan/tasks/socket-impl-gio.cc b/pan/tasks/socket-impl-gio.cc
index 7dc2ec1..b9c44cd 100644
--- a/pan/tasks/socket-impl-gio.cc
+++ b/pan/tasks/socket-impl-gio.cc
@@ -170,7 +170,7 @@ namespace
err = ::getaddrinfo (host.c_str(), portbuf, &hints, &ans);
if (err != 0) {
char buf[512];
- snprintf (buf, sizeof(buf), _("Error connecting to “%s”"), hpbuf);
+ snprintf (buf, sizeof(buf), _("Error connecting to \"%s\""), hpbuf);
setme_err = buf;
if (errno) {
setme_err += " (";
@@ -208,7 +208,7 @@ namespace
// create the giochannel...
if (sockfd < 0) {
char buf[512];
- snprintf (buf, sizeof(buf), _("Error connecting to “%s”"), hpbuf);
+ snprintf (buf, sizeof(buf), _("Error connecting to \"%s\""), hpbuf);
setme_err = buf;
if (errno) {
setme_err += " (";
diff --git a/pan/tasks/socket-impl-openssl.cc b/pan/tasks/socket-impl-openssl.cc
index d08b952..72518d6 100644
--- a/pan/tasks/socket-impl-openssl.cc
+++ b/pan/tasks/socket-impl-openssl.cc
@@ -211,7 +211,7 @@ GIOChannelSocketGnuTLS :: create_channel (const StringView& host_in, int port, s
err = ::getaddrinfo (host.c_str(), portbuf, &hints, &ans);
if (err != 0) {
char buf[512];
- snprintf (buf, sizeof(buf), _("Error connecting to “%s”"), hpbuf);
+ snprintf (buf, sizeof(buf), _("Error connecting to \"%s\""), hpbuf);
setme_err = buf;
if (errno) {
setme_err += " (";
@@ -249,7 +249,7 @@ GIOChannelSocketGnuTLS :: create_channel (const StringView& host_in, int port, s
// create the giochannel...
if (sockfd <= 0) {
char buf[512];
- snprintf (buf, sizeof(buf), _("Error connecting to “%s”"), hpbuf);
+ snprintf (buf, sizeof(buf), _("Error connecting to \"%s\""), hpbuf);
setme_err = buf;
if (errno) {
setme_err += " (";
diff --git a/pan/tasks/task-article.cc b/pan/tasks/task-article.cc
index 1dc17ba..cac1b83 100644
--- a/pan/tasks/task-article.cc
+++ b/pan/tasks/task-article.cc
@@ -320,7 +320,7 @@ TaskArticle :: on_nntp_done (NNTP * nntp,
else { // if none of our servers have this part, but keep going --
// an incomplete file gives us more PAR2 blocks than a missing one.
Log :: add_err_va (
- _("Article “%s” is incomplete — the news server(s) don’t have part %s"),
+ _("Article \"%s\" is incomplete -- the news server(s) don't have part %s"),
_article.subject.c_str(),
it->message_id.c_str());
_needed.erase (it);
diff --git a/pan/tasks/task-groups.cc b/pan/tasks/task-groups.cc
index c455808..ad42a3a 100644
--- a/pan/tasks/task-groups.cc
+++ b/pan/tasks/task-groups.cc
@@ -38,7 +38,7 @@ namespace
{
char buf[1024];
std::string host (data.get_server_address (server));
- snprintf (buf, sizeof(buf), _("Getting group list from “%s”"), host.c_str());
+ snprintf (buf, sizeof(buf), _("Getting group list from \"%s\""), host.c_str());
return std::string (buf);
}
}
diff --git a/pan/tasks/task-post.cc b/pan/tasks/task-post.cc
index 4ab9c2f..977b012 100644
--- a/pan/tasks/task-post.cc
+++ b/pan/tasks/task-post.cc
@@ -30,7 +30,7 @@ namespace
std::string get_description (GMimeMessage * message)
{
char buf[1024];
- snprintf (buf, sizeof(buf), _("Posting “%s”"), g_mime_message_get_subject(message));
+ snprintf (buf, sizeof(buf), _("Posting \"%s\""), g_mime_message_get_subject(message));
return buf;
}
}
@@ -75,12 +75,12 @@ TaskPost :: on_nntp_done (NNTP * nntp,
if (health == ERR_NETWORK || health == ERR_COMMAND)
{
- Log :: add_err_va (_("Posting of “%s” failed: %s"),
+ Log :: add_err_va (_("Posting of \"%s\" failed: %s"),
res, response.str);
_state.set_need_nntp (_server);
}
else {
- Log :: add_info_va (_("Posting of “%s” successful: %s"),
+ Log :: add_info_va (_("Posting of \"%s\" successful: %s"),
res, response.str);
_state.set_completed ();
set_error (response);
diff --git a/pan/tasks/task-upload.cc b/pan/tasks/task-upload.cc
index 8d64109..3008958 100644
--- a/pan/tasks/task-upload.cc
+++ b/pan/tasks/task-upload.cc
@@ -262,9 +262,9 @@ TaskUpload :: use_nntp (NNTP * nntp)
needed->nntp = nntp;
if (_queue_pos != -1)
- set_status_va (_("Uploading %s — Part %d of %d"), _basename.c_str(), needed->partno, _total_parts);
+ set_status_va (_("Uploading %s - Part %d of %d"), _basename.c_str(), needed->partno, _total_parts);
else
- set_status_va (_("Uploading message body with subject “%s”"), _subject.c_str());
+ set_status_va (_("Uploading message body with subject \"%s\""), _subject.c_str());
std::string data;
if (_queue_pos != -1) _cache.get_data(data,needed->message_id.c_str());
diff --git a/pan/tasks/task-xover.cc b/pan/tasks/task-xover.cc
index 8835503..021f099 100644
--- a/pan/tasks/task-xover.cc
+++ b/pan/tasks/task-xover.cc
@@ -79,14 +79,14 @@ namespace
{
char buf[1024];
if (mode == TaskXOver::ALL)
- snprintf(buf, sizeof(buf), _("Getting all headers for “%s”"),
+ snprintf(buf, sizeof(buf), _("Getting all headers for \"%s\""),
group.c_str());
else if (mode == TaskXOver::NEW)
- snprintf(buf, sizeof(buf), _("Getting new headers for “%s”"),
+ snprintf(buf, sizeof(buf), _("Getting new headers for \"%s\""),
group.c_str());
else
// SAMPLE
- snprintf(buf, sizeof(buf), _("Sampling headers for “%s”"),
+ snprintf(buf, sizeof(buf), _("Sampling headers for \"%s\""),
group.c_str());
return std::string(buf);
}
@@ -501,7 +501,7 @@ TaskXOver::update_work(bool subtract_one_from_nntp_count)
_state.set_completed();
set_finished(OK);
char str[4096];
- g_snprintf(str, sizeof(str), _("Getting new headers for “%s” done."), _group.c_str());
+ g_snprintf(str, sizeof(str), _("Getting new headers for \"%s\" done."), _group.c_str());
verbose (str);
}
}
diff --git a/pan/tasks/task-xoverinfo.cc b/pan/tasks/task-xoverinfo.cc
index 210b9bd..0cd4147 100644
--- a/pan/tasks/task-xoverinfo.cc
+++ b/pan/tasks/task-xoverinfo.cc
@@ -75,7 +75,7 @@ namespace
std::string get_description (const Quark& group)
{
char buf[1024];
- snprintf (buf, sizeof(buf), _("Getting header counts for “%s”"), group.c_str());
+ snprintf (buf, sizeof(buf), _("Getting header counts for \"%s\""), group.c_str());
return std::string (buf);
}
}
diff --git a/pan/usenet-utils/filter-info.cc b/pan/usenet-utils/filter-info.cc
index 6b1a5c9..25d36de 100644
--- a/pan/usenet-utils/filter-info.cc
+++ b/pan/usenet-utils/filter-info.cc
@@ -212,7 +212,7 @@ FilterInfo :: describe () const
if (_type==IS_BINARY && _negate)
{
- ret = _("article doesn’t have attachments");
+ ret = _("article doesn't have attachments");
}
else if (_type==IS_BINARY)
{
@@ -220,7 +220,7 @@ FilterInfo :: describe () const
}
else if (_type==IS_CACHED && _negate)
{
- ret = _("the article isn’t cached locally");
+ ret = _("the article isn't cached locally");
}
else if (_type==IS_CACHED)
{
@@ -228,7 +228,7 @@ FilterInfo :: describe () const
}
else if (_type==IS_POSTED_BY_ME && _negate)
{
- ret = _("the article wasn’t posted by you");
+ ret = _("the article wasn't posted by you");
}
else if (_type==IS_POSTED_BY_ME)
{
@@ -240,7 +240,7 @@ FilterInfo :: describe () const
}
else if (_type==IS_UNREAD)
{
- ret = _("the article hasn’t been read");
+ ret = _("the article hasn't been read");
}
else if (_type==BYTE_COUNT_GE && _negate)
{
@@ -284,12 +284,12 @@ FilterInfo :: describe () const
}
else if (_type==SCORE_GE && _negate)
{
- g_snprintf (buf, sizeof(buf), _("the article’s score is less than %ld"), _ge);
+ g_snprintf (buf, sizeof(buf), _("the article's score is less than %ld"), _ge);
ret = buf;
}
else if (_type==SCORE_GE)
{
- g_snprintf (buf, sizeof(buf), _("the article’s score is %ld or higher"), _ge);
+ g_snprintf (buf, sizeof(buf), _("the article's score is %ld or higher"), _ge);
ret = buf;
}
else if (_type==TEXT && _negate)
@@ -298,21 +298,21 @@ FilterInfo :: describe () const
const char * h (_header.c_str());
const char * t (_text.get_state().text.c_str());
switch (_text.get_state().type) {
- case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s doesn’t contain “%s”"), h, t); break;
- case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s isn’t “%s”"), h, t); break;
- case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn’t begin with “%s”"), h, t);
break;
- case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn’t end with “%s”"), h, t); break;
- case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s doesn’t match the regex “%s”"), h,
t); break;
+ case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s doesn't contain \"%s\""), h, t);
break;
+ case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s isn't \"%s\""), h, t); break;
+ case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn't begin with \"%s\""), h, t);
break;
+ case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn't end with \"%s\""), h, t);
break;
+ case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s doesn't match the regex \"%s\""), h,
t); break;
}
#else
const char * h (_header.c_str());
const char * t (_text._impl_text.c_str());
switch (_text._impl_type) {
- case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s doesn’t contain “%s”"), h, t); break;
- case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s isn’t “%s”"), h, t); break;
- case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn’t begin with “%s”"), h, t);
break;
- case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn’t end with “%s”"), h, t); break;
- case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s doesn’t match the regex “%s”"), h,
t); break;
+ case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s doesn't contain \"%s\""), h, t);
break;
+ case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s isn't \"%s\""), h, t); break;
+ case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn't begin with \"%s\""), h, t);
break;
+ case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s doesn't end with \"%s\""), h, t);
break;
+ case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s doesn't match the regex \"%s\""), h,
t); break;
}
#endif
ret = buf;
@@ -324,11 +324,11 @@ FilterInfo :: describe () const
//switch (_text.get_state().type) {
const char * t (_text._impl_text.c_str());
switch (_text._impl_type) {
- case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s contains “%s”"), h, t); break;
- case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s is “%s”"), h, t); break;
- case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s begins with “%s”"), h, t); break;
- case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s ends with “%s”"), h, t); break;
- case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s matches the regex “%s”"), h, t);
break;
+ case TextMatch::CONTAINS: g_snprintf (buf, sizeof(buf), _("%s contains \"%s\""), h, t); break;
+ case TextMatch::IS: g_snprintf (buf, sizeof(buf), _("%s is \"%s\""), h, t); break;
+ case TextMatch::BEGINS_WITH: g_snprintf (buf, sizeof(buf), _("%s begins with \"%s\""), h, t); break;
+ case TextMatch::ENDS_WITH: g_snprintf (buf, sizeof(buf), _("%s ends with \"%s\""), h, t); break;
+ case TextMatch::REGEX: g_snprintf (buf, sizeof(buf), _("%s matches the regex \"%s\""), h, t);
break;
}
ret = buf;
}
diff --git a/pan/usenet-utils/gnksa.cc b/pan/usenet-utils/gnksa.cc
index fb888d5..6143878 100644
--- a/pan/usenet-utils/gnksa.cc
+++ b/pan/usenet-utils/gnksa.cc
@@ -877,7 +877,7 @@ GNKSA :: generate_message_id_from_email_address (const StringView& addr)
// fallback to default domain
if (domain.empty()) {
- Log::add_info_va (_("No email address provided; generating message-id with domain “%s”"),
default_domain);
+ Log::add_info_va (_("No email address provided; generating message-id with domain \"%s\""),
default_domain);
domain = default_domain;
}
diff --git a/pan/usenet-utils/message-check.cc b/pan/usenet-utils/message-check.cc
index 461ce86..e383bb5 100644
--- a/pan/usenet-utils/message-check.cc
+++ b/pan/usenet-utils/message-check.cc
@@ -140,7 +140,7 @@ namespace
if (sig_type == GNKSA::SIG_NONSTANDARD)
{
goodness.raise_to_warn ();
- errors.insert (_("Warning: The signature marker should be “-- ”, not “--”."));
+ errors.insert (_("Warning: The signature marker should be \"-- \", not \"--\"."));
}
// how wide and long is the signature?
@@ -339,10 +339,10 @@ namespace
else if (!groups_our_server_has.count (*it)) {
goodness.raise_to_warn ();
char * tmp = g_strdup_printf (
- _("Warning: The posting profile’s server doesn’t carry newsgroup\n"
- "\t“%s”.\n"
- "\tIf the group name is correct, switch profiles in the “From:”\n"
- "\tline or edit the profile with “Edit → Manage Posting Profiles”."), it->c_str());
+ _("Warning: The posting profile's server doesn't carry newsgroup\n"
+ "\t\"%s\".\n"
+ "\tIf the group name is correct, switch profiles in the \"From:\"\n"
+ "\tline or edit the profile with \"Edit|Manage Posting Profiles\"."), it->c_str());
errors.insert (tmp);
g_free (tmp);
}
@@ -378,10 +378,10 @@ namespace
{
goodness.raise_to_warn ();
char * tmp = g_strdup_printf (
- _("Warning: The posting profile’s server doesn’t carry newsgroup\n"
- "\t“%s”.\n"
- "\tIf the group name is correct, switch profiles in the “From:”\n"
- "\tline or edit the profile with “Edit → Manage Posting Profiles”."), it->c_str());
+ _("Warning: The posting profile's server doesn't carry newsgroup\n"
+ "\t\"%s\".\n"
+ "\tIf the group name is correct, switch profiles in the \"From:\"\n"
+ "\tline or edit the profile with \"Edit|Manage Posting Profiles\"."), it->c_str());
errors.insert (tmp);
g_free (tmp);
}
@@ -390,7 +390,7 @@ namespace
{
goodness.raise_to_warn ();
char buf[1024];
- g_snprintf (buf, sizeof(buf), _("Warning: Group “%s” is read-only."), it->c_str());
+ g_snprintf (buf, sizeof(buf), _("Warning: Group \"%s\" is read-only."), it->c_str());
errors.insert (buf);
}
#endif
diff --git a/pan/usenet-utils/scorefile.cc b/pan/usenet-utils/scorefile.cc
index 4b151f0..96b8734 100644
--- a/pan/usenet-utils/scorefile.cc
+++ b/pan/usenet-utils/scorefile.cc
@@ -299,7 +299,7 @@ Scorefile :: parse_file (ParseContext& context, const StringView& filename)
line.trim ();
const int has_expired (has_score_expired (line, context.today));
if (has_expired < 0)
- Log::add_err_va (_("Error reading score in %*.*s, line %d: expected “Expires: MM/DD/YYYY” or
“Expires: DD-MM-YYYY”."),
+ Log::add_err_va (_("Error reading score in %*.*s, line %d: expected 'Expires: MM/DD/YYYY' or
'Expires: DD-MM-YYYY'."),
filename.len, filename.len, filename.str, line_number);
else if (has_expired) {
Log::add_info_va (_("Expired old score from %*.*s, line %d"),
@@ -424,7 +424,7 @@ Scorefile :: parse_file (const StringView& filename)
item_count += sit->items.size ();
if (!_sections.empty())
- Log::add_info_va (_("Read %lu scoring rules in %lu sections from “%s”"),
+ Log::add_info_va (_("Read %lu scoring rules in %lu sections from \"%s\""),
item_count, _sections.size(), filename.to_string().c_str());
return 0;
}
diff --git a/pan/usenet-utils/ssl-utils.h b/pan/usenet-utils/ssl-utils.h
index 0beb32f..83b6b95 100644
--- a/pan/usenet-utils/ssl-utils.h
+++ b/pan/usenet-utils/ssl-utils.h
@@ -184,7 +184,7 @@ namespace pan
if (!c)
{
- g_snprintf(buf,size, _("Error printing the server certificate for “%s”"), server.c_str());
+ g_snprintf(buf,size, _("Error printing the server certificate for '%s'"), server.c_str());
return;
}
@@ -200,8 +200,8 @@ namespace pan
char * before = date_maker.get_date_string (t2);
char tmp1[2048], tmp2[2048];
- g_snprintf(tmp1,sizeof(tmp1), _("The current server <b>“%s”</b> sent this security certificate:\n\n"),
server.c_str());
- g_snprintf(tmp2,sizeof(tmp2), _("Certificate information for server <b>“%s”</b>:\n\n"), server.c_str());
+ g_snprintf(tmp1,sizeof(tmp1), _("The current server <b>'%s'</b> sent this security certificate:\n\n"),
server.c_str());
+ g_snprintf(tmp2,sizeof(tmp2), _("Certificate information for server <b>'%s'</b>:\n\n"), server.c_str());
g_snprintf(buf,size, _("%s"
"<b>Issuer information:</b>\n"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]