These were suggested by TAKAHASHI Tamotsu.
{
if (stat(idx[menu->current]->content->filename, &st) == -1)
{
+ /* L10N:
+ "stat" is a system call. Do "man 2 stat" for more information. */
mutt_error (_("Can't stat %s: %s"), fname, strerror (errno));
break;
}
/* 0 indicates no expiration */
if (sig->exp_timestamp)
{
- /* L10N: This is trying to match the width of the
- * "Problem signature from:" translation just above.
- */
+ /* L10N:
+ This is trying to match the width of the
+ "Problem signature from:" translation just above. */
state_attach_puts (_(" expires: "), s);
print_time (sig->exp_timestamp, s);
state_attach_puts ("\n", s);
continue;
s = uid->uid;
+ /* L10N:
+ Fill dots to make the DOTFILL entries the same length.
+ In English, msgid "Fingerprint: " is the longest entry for this menu.
+ Your language may vary. */
fputs (idx ? _(" aka ......: ") :_("Name ......: "), fp);
if (uid->invalid)
{
#else
strftime (shortbuf, sizeof shortbuf, "%c", tm);
#endif
+ /* L10N: DOTFILL */
fprintf (fp, _("Valid From : %s\n"), shortbuf);
}
#else
strftime (shortbuf, sizeof shortbuf, "%c", tm);
#endif
+ /* L10N: DOTFILL */
fprintf (fp, _("Valid To ..: %s\n"), shortbuf);
}
if (key->subkeys)
aval = key->subkeys->length;
+ /* L10N: DOTFILL */
fprintf (fp, _("Key Type ..: %s, %lu bit %s\n"), s2, aval, s);
+ /* L10N: DOTFILL */
fprintf (fp, _("Key Usage .: "));
delim = "";
if (key->subkeys)
{
s = key->subkeys->fpr;
+ /* L10N: DOTFILL */
fputs (_("Fingerprint: "), fp);
if (is_pgp && strlen (s) == 40)
{
{
s = key->issuer_serial;
if (s)
+ /* L10N: DOTFILL */
fprintf (fp, _("Serial-No .: 0x%s\n"), s);
}
s = key->issuer_name;
if (s)
{
+ /* L10N: DOTFILL */
fprintf (fp, _("Issued By .: "));
parse_and_print_user_id (fp, s);
putc ('\n', fp);
putc ('\n', fp);
if ( strlen (s) == 16)
s += 8; /* display only the short keyID */
+ /* L10N: DOTFILL */
fprintf (fp, _("Subkey ....: 0x%s"), s);
if (subkey->revoked)
{
#else
strftime (shortbuf, sizeof shortbuf, "%c", tm);
#endif
+ /* L10N: DOTFILL */
fprintf (fp, _("Valid From : %s\n"), shortbuf);
}
#else
strftime (shortbuf, sizeof shortbuf, "%c", tm);
#endif
+ /* L10N: DOTFILL */
fprintf (fp, _("Valid To ..: %s\n"), shortbuf);
}
else
aval = 0;
+ /* L10N: DOTFILL */
fprintf (fp, _("Key Type ..: %s, %lu bit %s\n"), "PGP", aval, s);
+ /* L10N: DOTFILL */
fprintf (fp, _("Key Usage .: "));
delim = "";
ts = _("keys matching");
if (p)
+ /* L10N:
+ %1$s is one of the previous four entries.
+ %2$s is an address.
+ e.g. "S/MIME keys matching <me@mutt.org>." */
snprintf (buf, sizeof (buf), _("%s <%s>."), ts, p->mailbox);
else
+ /* L10N:
+ e.g. 'S/MIME keys matching "Michael Elkins".' */
snprintf (buf, sizeof (buf), _("%s \"%s\"."), ts, s);
menu->title = buf;
}
att->use_disp = 0;
att->type = TYPEAPPLICATION;
att->subtype = safe_strdup ("pgp-keys");
+ /* L10N:
+ MIME description for exported (attached) keys.
+ You can translate this entry to a non-ASCII string (it will be encoded),
+ but it may be safer to keep it untranslated. */
snprintf (buff, sizeof (buff), _("PGP Key 0x%s."), crypt_keyid (key));
att->description = safe_strdup (buff);
mutt_update_encoding (att);
{
prompt = _("S/MIME (s)ign, sign (a)s, (p)gp, (c)lear, or (o)ppenc mode off? ");
/* L10N: The 'f' is from "forget it", an old undocumented synonym of
- * 'clear'. Please use a corresponding letter in your language.
- * Alternatively, you may duplicate the letter 'c' is translated to.
- * This comment also applies to the five following letter sequences. */
+ 'clear'. Please use a corresponding letter in your language.
+ Alternatively, you may duplicate the letter 'c' is translated to.
+ This comment also applies to the five following letter sequences. */
letters = _("sapfco");
choices = "SapFCo";
}
#define CHECK_ACL(aclbit,action) \
if (!mutt_bit_isset(Context->rights,aclbit)) { \
mutt_flushinp(); \
- mutt_error (_("Cannot %s: Operation not permitted by ACL"), action); \
+ /* L10N: %s is one of the CHECK_ACL entries below. */ \
+ mutt_error (_("%s: Operation not permitted by ACL"), action); \
break; \
}
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("delete message(s)"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot delete message(s)"));
CHECK_ATTACH;
mutt_pattern_func (M_DELETE, _("Delete messages matching: "));
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)"));
if (mutt_pattern_func (M_UNDELETE, _("Undelete messages matching: ")) == 0)
menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("link threads"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot link threads"));
if ((Sort & SORT_MASK) != SORT_THREADS)
mutt_error _("Threading is not enabled.");
if (menu->current == -1)
{
menu->current = menu->oldcurrent;
- mutt_error ("%s%s.", (op == OP_MAIN_NEXT_NEW || op == OP_MAIN_PREV_NEW) ? _("No new messages") : _("No unread messages"),
- Context->pattern ? _(" in this limited view") : "");
+ if (op == OP_MAIN_NEXT_NEW || op == OP_MAIN_PREV_NEW)
+ {
+ if (Context->pattern)
+ mutt_error (_("No new messages in this limited view."));
+ else
+ mutt_error (_("No new messages."));
+ }
+ else
+ {
+ if (Context->pattern)
+ mutt_error (_("No unread messages in this limited view."));
+ else
+ mutt_error (_("No unread messages."));
+ }
}
else if (menu->menu == MENU_PAGER)
{
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_WRITE, _("flag message"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_WRITE, _("Cannot flag message"));
if (tag)
{
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_SEEN, _("toggle new"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_SEEN, _("Cannot toggle new"));
if (tag)
{
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("delete message"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot delete message"));
if (tag)
{
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("delete message(s)"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot delete message(s)"));
rc = mutt_thread_set_flag (CURHDR, M_DELETE, 1,
op == OP_DELETE_THREAD ? 0 : 1);
CHECK_VISIBLE;
CHECK_READONLY;
CHECK_ATTACH;
- CHECK_ACL(M_ACL_INSERT, _("edit message"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_INSERT, _("Cannot edit message"));
if (option (OPTPGPAUTODEC) && (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED)))
mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_SEEN, _("mark message(s) as read"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_SEEN, _("Cannot mark message(s) as read"));
rc = mutt_thread_set_flag (CURHDR, M_READ, 1,
op == OP_MAIN_READ_THREAD ? 0 : 1);
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("undelete message"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message"));
if (tag)
{
CHECK_MSGCOUNT;
CHECK_VISIBLE;
CHECK_READONLY;
- CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
+ /* L10N: CHECK_ACL */
+ CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)"));
rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
op == OP_UNDELETE_THREAD ? 0 : 1);
be_print_header (msg->env);
for (i = 0; i < buflen; i++)
addstr (buf[i]);
+ /* L10N:
+ This entry is shown AFTER the message content,
+ not IN the middle of the content.
+ So it doesn't mean "(message will continue)"
+ but means "(press any key to continue using mutt)". */
addstr (_("(continue)\n"));
break;
case 'q':
if (mx_open_mailbox (ctx->path, M_APPEND, &tmpctx) == NULL)
{
rc = -1;
+ /* L10N: %s is from strerror(errno) */
mutt_error (_("Can't append to folder: %s"), strerror (errno));
goto bail;
}
}
if (evalhc)
{
+ /* L10N:
+ Comparing the cached data with the IMAP server's data */
mutt_progress_init (&progress, _("Evaluating cache..."),
M_PROGRESS_MSG, ReadInc, msgend + 1);
if (!ssl_check_certificate (conn, ssldata))
return -1;
+ /* L10N:
+ %1$s is version (e.g. "TLSv1.2")
+ %2$s is cipher_version (e.g. "TLSv1/SSLv3")
+ %3$s is cipher_name (e.g. "ECDHE-RSA-AES128-GCM-SHA256") */
mutt_message (_("%s connection using %s (%s)"),
SSL_get_version(ssldata->ssl), SSL_get_cipher_version (ssldata->ssl), SSL_get_cipher_name (ssldata->ssl));
mutt_sleep (0);
if (directory)
{
switch (mutt_multi_choice
+ /* L10N:
+ Means "The path you specified as the destination file is a directory."
+ See the msgid "Save to file: " (alias.c, recvattach.c) */
(_("File is a directory, save under it? [(y)es, (n)o, (a)ll]"), _("yna")))
{
case 3: /* all */
return 1;
}
}
+ /* L10N:
+ Means "The path you specified as the destination file is a directory."
+ See the msgid "Save to file: " (alias.c, recvattach.c) */
else if ((rc = mutt_yesorno (_("File is a directory, save under it?"), M_YES)) != M_YES)
return (rc == M_NO) ? 1 : -1;
(msg->security & INLINE) ? _("PGP/M(i)ME") : _("(i)nline"));
prompt = promptbuf;
/* L10N: The 'f' is from "forget it", an old undocumented synonym of
- * 'clear'. Please use a corresponding letter in your language.
- * Alternatively, you may duplicate the letter 'c' is translated to.
- * This comment also applies to the five following letter sequences. */
+ 'clear'. Please use a corresponding letter in your language.
+ Alternatively, you may duplicate the letter 'c' is translated to.
+ This comment also applies to the five following letter sequences. */
letters = _("safcoi");
choices = "SaFCoi";
}
* to send a message to only the sender of the message. This
* provides a way to do that.
*/
+ /* L10N:
+ Asks whether the user respects the reply-to header.
+ If she says no, mutt will reply to the from header's address instead. */
snprintf (prompt, sizeof (prompt), _("Reply to %s%s?"),
env->reply_to->mailbox,
env->reply_to->next?",...":"");
{
prompt = _("S/MIME (s)ign, encrypt (w)ith, sign (a)s, (c)lear, or (o)ppenc mode off? ");
/* L10N: The 'f' is from "forget it", an old undocumented synonym of
- * 'clear'. Please use a corresponding letter in your language.
- * Alternatively, you may duplicate the letter 'c' is translated to.
- * This comment also applies to the two following letter sequences. */
+ 'clear'. Please use a corresponding letter in your language.
+ Alternatively, you may duplicate the letter 'c' is translated to.
+ This comment also applies to the two following letter sequences. */
letters = _("swafco");
choices = "SwaFCo";
}