[balsa] Add translator comments
- From: Albrecht Dreß <albrecht src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Add translator comments
- Date: Thu, 14 Jul 2022 17:17:41 +0000 (UTC)
commit a9215b93820194f7bf7b0e1cbe1eddfeb1105f96
Author: Albrecht Dreß <albrecht dress netcologne de>
Date: Thu Jul 14 19:17:36 2022 +0200
Add translator comments
Add comments to several source files to support translators where the
message and/or context may be unclear (closes #80).
Signed-off-by: Albrecht Dreß <albrecht dress netcologne de>
libbalsa/autocrypt.c | 10 ++++++++++
libbalsa/gmime-gpgme-signature.c | 2 ++
libbalsa/html-pref-db.c | 4 ++++
libbalsa/libbalsa-gpgme-widgets.c | 4 ++++
libbalsa/rfc3156.c | 2 ++
libnetclient/net-client-smtp.c | 3 +++
src/balsa-message.c | 2 ++
src/balsa-mime-widget-crypto.c | 1 +
src/balsa-mime-widget-vcalendar.c | 2 ++
src/pref-manager.c | 3 +++
10 files changed, 33 insertions(+)
---
diff --git a/libbalsa/autocrypt.c b/libbalsa/autocrypt.c
index c2de604ac..50e5cdc19 100644
--- a/libbalsa/autocrypt.c
+++ b/libbalsa/autocrypt.c
@@ -190,6 +190,7 @@ autocrypt_init(GError **error)
/* error checks... */
if (sqlite_res != SQLITE_OK) {
+ /* Translators: #1 database file; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, sqlite_res, _("cannot initialise Autocrypt
database “%s”: %s"), db_path,
sqlite3_errmsg(autocrypt_db));
autocrypt_close();
@@ -315,6 +316,7 @@ autocrypt_header(LibBalsaIdentity *identity, GError **error)
}
if (use_fpr == NULL) {
+ /* Translators: #1 sender's email address */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, -1,
_("No usable private key for “%s” found! Please create a key or disable
Autocrypt."), mailbox);
} else {
@@ -383,6 +385,7 @@ autocrypt_get_key(const gchar *fingerprint, GError **error)
}
if (sqlite_res != SQLITE_DONE) {
+ /* Translators: #1 GPG key fingerprint; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, sqlite_res, _("error reading Autocrypt data
for “%s”: %s"), fingerprint,
sqlite3_errmsg(autocrypt_db));
if (result != NULL) {
@@ -391,6 +394,7 @@ autocrypt_get_key(const gchar *fingerprint, GError **error)
}
}
} else {
+ /* Translators: #1 GPG key fingerprint; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, sqlite_res, _("error reading Autocrypt data for
“%s”: %s"), fingerprint,
sqlite3_errmsg(autocrypt_db));
}
@@ -674,12 +678,14 @@ autocrypt_user_info(const gchar *mailbox, GError **error)
}
if (sqlite_res != SQLITE_DONE) {
+ /* Translators: #1 mailbox; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, sqlite_res, _("error reading Autocrypt data
for “%s”: %s"), mailbox,
sqlite3_errmsg(autocrypt_db));
autocrypt_free(user_info);
user_info = NULL;
}
} else {
+ /* Translators: #1 mailbox; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, sqlite_res, _("error reading Autocrypt data for
“%s”: %s"), mailbox,
sqlite3_errmsg(autocrypt_db));
}
@@ -782,6 +788,7 @@ add_or_update_user_info(GMimeAutocryptHeader *autocrypt_header, const ac_key_dat
(sqlite3_bind_int64(query[query_idx], 5, ac_key_data->expires) != SQLITE_OK) ||
(sqlite3_bind_int(query[query_idx], 6, prefer_encrypt) != SQLITE_OK) ||
(sqlite3_step(query[query_idx]) != SQLITE_DONE)) {
+ /* Translators: #1 email address; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, -1, update ? _("update user “%s” failed: %s") :
_("insert user “%s” failed: %s"),
addr, sqlite3_errmsg(autocrypt_db));
} else {
@@ -802,6 +809,7 @@ update_last_seen(GMimeAutocryptHeader *autocrypt_header, GError **error)
if ((sqlite3_bind_text(query[3], 1, addr, -1, SQLITE_STATIC) != SQLITE_OK) ||
(sqlite3_bind_int64(query[3], 2, date_header) != SQLITE_OK) ||
(sqlite3_step(query[3]) != SQLITE_DONE)) {
+ /* Translators: #1 email address; #2 error message */
g_set_error(error, AUTOCRYPT_ERROR_QUARK, -1, _("update user “%s” failed: %s"), addr,
sqlite3_errmsg(autocrypt_db));
} else {
g_debug("updated last_seen for '%s': %d", addr, sqlite3_changes(autocrypt_db));
@@ -930,6 +938,7 @@ show_key_details_cb(GtkMenuItem G_GNUC_UNUSED *menuitem, gpointer user_data)
dialog = libbalsa_key_dialog(window, GTK_BUTTONS_CLOSE, (gpgme_key_t)
keys->data, GPG_SUBKEY_CAP_ALL,
NULL, NULL);
} else {
+ /* Translators: #1 email address */
dialog = gtk_message_dialog_new(window,
GTK_DIALOG_DESTROY_WITH_PARENT | libbalsa_dialog_flags(),
GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, _("The database entry
for “%s” does not contain a key."),
mail_addr);
@@ -967,6 +976,7 @@ remove_key_cb(GtkMenuItem G_GNUC_UNUSED *menuitem, gpointer user_data)
toplevel = gtk_widget_get_toplevel(GTK_WIDGET(user_data));
window = GTK_IS_WINDOW(toplevel) ? GTK_WINDOW(toplevel) : NULL;
gtk_tree_model_get(model, &iter, AC_ADDRESS_COLUMN, &mail_addr, -1);
+ /* Translators: #1 email address */
dialog = gtk_message_dialog_new(window, GTK_DIALOG_DESTROY_WITH_PARENT |
libbalsa_dialog_flags(),
GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Delete the Autocrypt key for “%s” from
the database?"), mail_addr);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) {
diff --git a/libbalsa/gmime-gpgme-signature.c b/libbalsa/gmime-gpgme-signature.c
index 8945ababa..4e703c98c 100644
--- a/libbalsa/gmime-gpgme-signature.c
+++ b/libbalsa/gmime-gpgme-signature.c
@@ -163,10 +163,12 @@ g_mime_gpgme_sigstat_info(GMimeGpgmeSigstat *info,
}
status_str = libbalsa_gpgme_sig_stat_to_gchar(info->status);
if (signer_str != NULL) {
+ /* Translators: #1 signature crypto protocol; #2 signer; #3 status message */
res_msg = g_strdup_printf(_("%s signature of “%s”: %s"), libbalsa_gpgme_protocol_name(info->protocol),
signer_str, status_str);
g_free(signer_str);
} else {
+ /* Translators: #1 signature crypto protocol; #2 status message */
res_msg = g_strdup_printf(_("%s signature: %s"), libbalsa_gpgme_protocol_name(info->protocol),
status_str);
}
g_free(status_str);
diff --git a/libbalsa/html-pref-db.c b/libbalsa/html-pref-db.c
index 7e0bbbee4..936a4b91e 100644
--- a/libbalsa/html-pref-db.c
+++ b/libbalsa/html-pref-db.c
@@ -267,6 +267,7 @@ pref_db_check(void)
/* error checks... */
if (sqlite_res != SQLITE_OK) {
+ /* Translators: #1 database path; #2 error message */
libbalsa_information(LIBBALSA_INFORMATION_ERROR, _("Cannot initialise HTML
preferences database “%s”: %s"), db_path,
sqlite3_errmsg(pref_db));
html_pref_db_close();
@@ -313,6 +314,7 @@ pref_db_get(InternetAddressList *from, int col)
sqlite_res = sqlite3_step(query[0]);
}
if (sqlite_res != SQLITE_DONE) {
+ /* Translators: #1 message sender address; #2 error message */
libbalsa_information(LIBBALSA_INFORMATION_ERROR, _("Cannot
read HTML preferences for “%s”: %s"), sender,
sqlite3_errmsg(pref_db));
result = FALSE;
@@ -366,6 +368,7 @@ pref_db_set_name(const gchar *sender, int pref_idx, gboolean value)
if ((sqlite3_bind_text(query[pref_idx], 1, sender, -1, SQLITE_STATIC) != SQLITE_OK) ||
(sqlite3_bind_int(query[pref_idx], 2, value) != SQLITE_OK) ||
(sqlite3_step(query[pref_idx]) != SQLITE_DONE)) {
+ /* Translators: #1 message sender address; #2 error message */
libbalsa_information(LIBBALSA_INFORMATION_ERROR, _("Cannot save HTML preferences for
“%s”: %s"), sender,
sqlite3_errmsg(pref_db));
} else {
@@ -474,6 +477,7 @@ remove_item_cb(GtkMenuItem G_GNUC_UNUSED *menuitem, gpointer user_data)
gtk_tree_model_get(model, &iter, PREFS_ADDRESS_COLUMN, &addr, -1);
if ((sqlite3_bind_text(query[3], 1, addr, -1, SQLITE_STATIC) != SQLITE_OK) ||
(sqlite3_step(query[3]) != SQLITE_DONE)) {
+ /* Translators: #1 error message */
libbalsa_information(LIBBALSA_INFORMATION_ERROR, _("Cannot delete database entry:
%s"), sqlite3_errmsg(pref_db));
}
gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
diff --git a/libbalsa/libbalsa-gpgme-widgets.c b/libbalsa/libbalsa-gpgme-widgets.c
index 386868d6d..fc898c267 100644
--- a/libbalsa/libbalsa-gpgme-widgets.c
+++ b/libbalsa/libbalsa-gpgme-widgets.c
@@ -165,6 +165,7 @@ libbalsa_gpgme_key(const gpgme_key_t key,
GtkWidget *chain_btn;
gchar *chain_fpr;
+ /* Translators: x509 certificate chain ID */
issuer_row = create_key_grid_row(GTK_GRID(issuer_grid), issuer_row, _("Chain ID:"),
key->chain_id, FALSE);
/* add button to show the full chain - copy the fingerprint as the key may be
unref'ed... */
@@ -197,6 +198,7 @@ libbalsa_gpgme_key(const gpgme_key_t key,
/* indicate that we show only subkeys with certain capabilities */
capa_str = create_purpose_str((subkey_capa & GPG_SUBKEY_CAP_SIGN) != 0U, (subkey_capa
& GPG_SUBKEY_CAP_ENCRYPT) != 0U,
(subkey_capa & GPG_SUBKEY_CAP_CERTIFY) != 0U, (subkey_capa &
GPG_SUBKEY_CAP_AUTH) != 0U);
+ /* Translators: #1 subkey capabilities string */
label_str = g_strdup_printf(_("Subkeys (%s only)"), capa_str);
subkey_expander = gtk_expander_new(label_str);
g_free(label_str);
@@ -303,6 +305,7 @@ libbalsa_gpgme_key_to_gchar(gpgme_key_t key,
g_string_append_printf(result, "\n" BULLET_STR "%s %s", _("Serial number:"),
key->issuer_serial);
}
if (key->chain_id != NULL) {
+ /* Translators: x509 certificate chain ID */
g_string_append_printf(result, "\n" BULLET_STR "%s %s", _("Chain ID:"),
key->chain_id);
}
}
@@ -737,6 +740,7 @@ create_subkey_type_str(gpgme_subkey_t subkey)
g_string_append_printf(type_str, " %s", algo);
}
if (subkey->curve != NULL) {
+ /* Translators: Elliptic Curve Cryptography (ECC) curve name */
g_string_append_printf(type_str, _(" curve “%s”"), subkey->curve);
}
diff --git a/libbalsa/rfc3156.c b/libbalsa/rfc3156.c
index 63a0febfd..821a07e91 100644
--- a/libbalsa/rfc3156.c
+++ b/libbalsa/rfc3156.c
@@ -553,8 +553,10 @@ libbalsa_gpgme_sig_stat_to_gchar(gpgme_error_t stat)
gpgme_strerror_r(stat, errbuf, sizeof(errbuf));
if (gpgme_err_source(stat) != GPG_ERR_SOURCE_UNKNOWN) {
+ /* Translators: #1 error source; #2 error message */
return g_strdup_printf(_("An error prevented the signature verification: %s: %s"),
gpgme_strsource(stat), errbuf);
} else {
+ /* Translators: #1 error message */
return g_strdup_printf(_("An error prevented the signature verification: %s"),
errbuf);
}
}
diff --git a/libnetclient/net-client-smtp.c b/libnetclient/net-client-smtp.c
index 48b45838d..830a7d59c 100644
--- a/libnetclient/net-client-smtp.c
+++ b/libnetclient/net-client-smtp.c
@@ -695,6 +695,7 @@ net_client_smtp_eval_rescode(gint res_code, const gchar *reply, GError **error)
result = TRUE;
break;
case 4:
+ /* Translators: #1 SMTP (RFC 5321) error code; #2 error message */
g_set_error(error, NET_CLIENT_SMTP_ERROR_QUARK, (gint) NET_CLIENT_ERROR_SMTP_TRANSIENT,
_("transient error %d: %s"), res_code, reply);
result = FALSE;
@@ -702,9 +703,11 @@ net_client_smtp_eval_rescode(gint res_code, const gchar *reply, GError **error)
case 5:
if ((res_code == 534) || (res_code == 535)) {
g_set_error(error, NET_CLIENT_SMTP_ERROR_QUARK, (gint) NET_CLIENT_ERROR_SMTP_AUTHFAIL,
+ /* Translators: #1 SMTP (RFC 5321) error code; #2 error message */
_("authentication failure %d: %s"), res_code, reply);
} else {
g_set_error(error, NET_CLIENT_SMTP_ERROR_QUARK, (gint)
NET_CLIENT_ERROR_SMTP_PERMANENT,
+ /* Translators: #1 SMTP (RFC 5321) error code; #2 error message */
_("permanent error %d: %s"), res_code, reply);
}
result = FALSE;
diff --git a/src/balsa-message.c b/src/balsa-message.c
index fe31a2f7c..40a24375a 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -973,6 +973,7 @@ tree_mult_selection_popup(BalsaMessage *balsa_message,
G_CALLBACK (part_context_dump_all_cb),
(gpointer) balsa_message->save_all_list);
gtk_menu_shell_append (GTK_MENU_SHELL (balsa_message->save_all_popup), menu_item);
+ /* Translators: save all items to folder and open the folder in standard file manager app */
add_save_view_menu_item(balsa_message->save_all_popup, _("Save selected to folder and browse…"),
G_CALLBACK(part_context_dump_all_cb), balsa_message->save_all_list);
gtk_widget_show_all(balsa_message->save_all_popup);
@@ -1678,6 +1679,7 @@ part_create_menu (BalsaPartInfo* info)
info->body);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu);
} else {
+ /* Translators: save to folder and open the folder in standard file manager app */
add_save_view_menu_item(info->popup_menu, _("Save and open folder…"),
G_CALLBACK(balsa_mime_widget_ctx_menu_save), info->body);
}
diff --git a/src/balsa-mime-widget-crypto.c b/src/balsa-mime-widget-crypto.c
index 0250abb66..b3c11567e 100644
--- a/src/balsa-mime-widget-crypto.c
+++ b/src/balsa-mime-widget-crypto.c
@@ -305,6 +305,7 @@ on_key_import_button(GtkButton *button,
}
if (success) {
+ /* Translators: successful import of a GnuPG key; #1: backend message */
dialog = gtk_message_dialog_new(GTK_WINDOW(balsa_app.main_window),
GTK_DIALOG_DESTROY_WITH_PARENT | libbalsa_dialog_flags(),
GTK_MESSAGE_INFO,
diff --git a/src/balsa-mime-widget-vcalendar.c b/src/balsa-mime-widget-vcalendar.c
index 2e8201bd0..9b0be63f9 100644
--- a/src/balsa-mime-widget-vcalendar.c
+++ b/src/balsa-mime-widget-vcalendar.c
@@ -63,6 +63,7 @@ balsa_mime_widget_new_vcalendar(BalsaMessage * bm,
mw = g_object_new(BALSA_TYPE_MIME_WIDGET, NULL);
+ /* Translators: #1 calendar message type */
text = g_strdup_printf(_("This is an iTIP calendar “%s” message."),
libbalsa_vcal_method_str(vcal_obj));
markup_buf = g_markup_printf_escaped("<b>%s</b>", text);
@@ -371,6 +372,7 @@ vevent_reply(GObject * button, GtkWidget * box)
body->charset = g_strdup("utf-8");
body->content_type = NULL;
textbuf = g_string_new(NULL);
+ /* Translators: #1 message sender display name; #2 sender's event action (e.g. "accepted",
"rejected", ...) */
g_string_append_printf(textbuf, _("%s %s the following iTIP calendar request:\n\n"),
internet_address_get_name(ia), libbalsa_vcal_part_stat_to_str(pstat));
BUFFER_APPEND(textbuf, _("Summary:"), libbalsa_vevent_summary(event));
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 1ca43cc4c..d48fe8b1a 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -942,6 +942,7 @@ update_address_books(void)
type = _("Unknown");
if (address_book == balsa_app.default_address_book) {
+ /* Translators: #1 address book name */
name = g_strdup_printf(_("%s (default)"), libbalsa_address_book_get_name(address_book));
} else {
name = g_strdup(libbalsa_address_book_get_name(address_book));
@@ -2553,6 +2554,8 @@ pm_grid_add_alternative_group(GtkWidget * grid_widget)
pm_grid_attach_check(grid, 1, ++row, 1, 1, _("Prefer text/plain over HTML"));
#ifdef HAVE_HTML_WIDGET
+ /* Translators: per-sender database of exceptions over global HTTP
+ * preferences (display HTML vs. plain, auto-load external items) */
button = gtk_button_new_with_label(_("Manage exceptions…"));
g_signal_connect_swapped(button, "clicked",
G_CALLBACK(libbalsa_html_pref_dialog_run), property_box);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]